[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'debian-jessie-backports'



 .travis.yml                                                   |   28 +
 Makefile.am                                                   |    1 
 VERSION                                                       |    2 
 bin/.cherry-ignore                                            |   20 +
 bin/get-pick-list.sh                                          |    2 
 configure.ac                                                  |   10 
 debian/changelog                                              |   42 ++
 debian/control                                                |   13 
 debian/libegl1-mesa.symbols                                   |    2 
 debian/libgl1-mesa-glx.symbols                                |    2 
 debian/mesa-common-dev.install                                |    1 
 debian/not-installed                                          |    1 
 debian/rules                                                  |    5 
 docs/relnotes/12.0.3.html                                     |    3 
 include/GL/mesa_glinterop.h                                   |   12 
 install-gallium-links.mk                                      |    4 
 src/Makefile.am                                               |   27 +
 src/compiler/glsl/ir_hv_accept.cpp                            |    2 
 src/compiler/nir/nir_intrinsics.h                             |    2 
 src/compiler/nir/nir_lower_alu_to_scalar.c                    |    3 
 src/compiler/nir/nir_opcodes.py                               |    2 
 src/compiler/spirv/spirv_to_nir.c                             |    8 
 src/compiler/spirv/vtn_cfg.c                                  |   23 +
 src/compiler/spirv/vtn_private.h                              |    4 
 src/compiler/spirv/vtn_variables.c                            |  169 +++++-----
 src/egl/drivers/dri2/egl_dri2.c                               |   18 +
 src/egl/drivers/dri2/egl_dri2.h                               |    2 
 src/egl/drivers/dri2/platform_android.c                       |    3 
 src/egl/drivers/dri2/platform_wayland.c                       |   15 
 src/egl/drivers/dri2/platform_x11.c                           |   14 
 src/egl/drivers/dri2/platform_x11_dri3.c                      |   12 
 src/egl/main/eglapi.c                                         |    8 
 src/egl/main/egldefines.h                                     |    3 
 src/egl/main/eglglobals.c                                     |    8 
 src/egl/main/eglsurface.c                                     |    6 
 src/egl/main/eglsync.c                                        |    7 
 src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c            |    9 
 src/gallium/auxiliary/util/u_box.h                            |   31 +
 src/gallium/auxiliary/vl/vl_winsys_drm.c                      |    3 
 src/gallium/drivers/freedreno/a3xx/a3xx.xml.h                 |    2 
 src/gallium/drivers/freedreno/a3xx/fd3_draw.c                 |    3 
 src/gallium/drivers/freedreno/a3xx/fd3_emit.c                 |   78 +++-
 src/gallium/drivers/freedreno/a3xx/fd3_program.c              |   15 
 src/gallium/drivers/freedreno/a3xx/fd3_program.h              |    3 
 src/gallium/drivers/freedreno/ir3/ir3_shader.c                |    6 
 src/gallium/drivers/freedreno/ir3/ir3_shader.h                |    1 
 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp    |    4 
 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp    |    3 
 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp     |   10 
 src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp     |  147 +++++---
 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp |   12 
 src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp            |    4 
 src/gallium/drivers/nouveau/nv30/nv30_transfer.c              |    3 
 src/gallium/drivers/nouveau/nv50/nv50_program.c               |    3 
 src/gallium/drivers/nouveau/nvc0/nvc0_program.c               |    7 
 src/gallium/drivers/nouveau/nvc0/nvc0_tex.c                   |    2 
 src/gallium/drivers/r300/r300_context.c                       |   10 
 src/gallium/drivers/radeon/r600_texture.c                     |    5 
 src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c           |   51 ---
 src/gallium/drivers/radeonsi/si_compute.c                     |   26 +
 src/gallium/drivers/radeonsi/si_shader.c                      |   10 
 src/gallium/drivers/radeonsi/si_state.c                       |    4 
 src/gallium/drivers/radeonsi/si_state_draw.c                  |   14 
 src/gallium/drivers/radeonsi/si_state_shaders.c               |   11 
 src/gallium/state_trackers/clover/llvm/invocation.cpp         |    2 
 src/gallium/state_trackers/dri/dri2.c                         |   11 
 src/gallium/state_trackers/nine/nine_shader.c                 |    2 
 src/gallium/state_trackers/nine/surface9.c                    |    1 
 src/gallium/state_trackers/nine/volume9.c                     |    2 
 src/gallium/state_trackers/va/surface.c                       |   36 +-
 src/gallium/state_trackers/vdpau/output.c                     |    2 
 src/gallium/state_trackers/xa/xa_tracker.c                    |    3 
 src/gallium/winsys/amdgpu/drm/amdgpu_surface.c                |   17 +
 src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c           |    3 
 src/gallium/winsys/radeon/drm/radeon_drm_winsys.c             |    3 
 src/gallium/winsys/svga/drm/vmw_screen.c                      |    3 
 src/gallium/winsys/vc4/drm/vc4_drm_winsys.c                   |    3 
 src/gallium/winsys/virgl/drm/virgl_drm_winsys.c               |    2 
 src/gbm/backends/dri/gbm_dri.c                                |    8 
 src/gbm/main/gbm.c                                            |    3 
 src/glx/dri3_glx.c                                            |   11 
 src/glx/glxcmds.c                                             |    7 
 src/intel/genxml/Makefile.am                                  |    1 
 src/intel/isl/isl_gen6.c                                      |    2 
 src/intel/vulkan/anv_wsi_wayland.c                            |    1 
 src/intel/vulkan/anv_wsi_x11.c                                |    3 
 src/loader/loader_dri3_helper.c                               |   25 -
 src/loader/loader_dri3_helper.h                               |    1 
 src/mapi/Makefile.am                                          |    3 
 src/mesa/Makefile.am                                          |   10 
 src/mesa/drivers/dri/i965/brw_blorp.c                         |   10 
 src/mesa/drivers/dri/i965/brw_blorp.h                         |    3 
 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp                  |   12 
 src/mesa/drivers/dri/i965/brw_blorp_clear.cpp                 |    5 
 src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp             |    5 
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c              |    7 
 src/mesa/drivers/dri/i965/gen6_clip_state.c                   |    2 
 src/mesa/drivers/dri/i965/gen7_cs_state.c                     |    3 
 src/mesa/drivers/dri/i965/gen8_ds_state.c                     |    3 
 src/mesa/drivers/dri/i965/gen8_ps_state.c                     |    2 
 src/mesa/drivers/dri/i965/intel_syncobj.c                     |   14 
 src/mesa/main/buffers.c                                       |   71 ++--
 src/mesa/main/fbobject.c                                      |   16 
 src/mesa/main/formatquery.c                                   |   15 
 src/mesa/main/get.c                                           |    7 
 src/mesa/main/get_hash_params.py                              |    6 
 src/mesa/main/glformats.c                                     |    8 
 src/mesa/state_tracker/st_atom_array.c                        |   98 ++---
 src/mesa/state_tracker/st_atom_texture.c                      |   10 
 src/mesa/state_tracker/st_cb_clear.c                          |   10 
 src/mesa/state_tracker/st_draw.c                              |   15 
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp                    |  102 ++----
 112 files changed, 1009 insertions(+), 541 deletions(-)

New commits:
commit 1cb59f0952dd8bc1e6164b64f7f07de9ca74e5ee
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Nov 17 15:28:28 2016 +0100

    control, rules: Disable llvm on ppc64el (llvm-toolchain-3.8 FTBFS on ppc64el in jessie-backports).

diff --git a/debian/changelog b/debian/changelog
index c805d14..25fdcb9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ mesa (12.0.4-2~bpo8+1) jessie-backports; urgency=medium
   * Rebuild for jessie-backports.
   * control, rules: Disable llvm/opencl on arm64 (llvm-toolchain-3.8
     FTBFS on arm64 in jessie-backports).
+  * control, rules: Disable llvm on ppc64el (llvm-toolchain-3.8 FTBFS on
+    ppc64el in jessie-backports).
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 17 Nov 2016 15:17:36 +0100
 
diff --git a/debian/control b/debian/control
index 2444527..f9772d8 100644
--- a/debian/control
+++ b/debian/control
@@ -43,8 +43,8 @@ Build-Depends:
  libudev-dev [linux-any],
  flex,
  bison,
- llvm-3.8-dev (>= 1:3.8) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el],
- libelf-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el],
+ llvm-3.8-dev (>= 1:3.8) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf],
+ libelf-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf],
  libwayland-dev (>= 1.2.0) [linux-any],
  libclang-3.8-dev (>= 1:3.8) [amd64 i386 armhf],
  libclc-dev (>= 0.2.0+git20150813) [amd64 i386 armhf],
diff --git a/debian/rules b/debian/rules
index ee5c98f..4e249d5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -90,7 +90,7 @@ else
   endif
 
   # LLVM is required for r300g, radeonsi and llvmpipe:
-  ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el))
+  ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf))
 	GALLIUM_DRIVERS += radeonsi
 	confflags_GALLIUM += --enable-gallium-llvm
 	confflags_GALLIUM += ac_cv_path_LLVM_CONFIG=llvm-config-3.8

commit 328fc83cdbbc4aecf3bfb5a2b1e10b036aa04c95
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Nov 17 15:27:08 2016 +0100

    control, rules: Disable llvm/opencl on arm64 (llvm-toolchain-3.8 FTBFS on arm64 in jessie-backports).

diff --git a/debian/changelog b/debian/changelog
index a5e372c..c805d14 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 mesa (12.0.4-2~bpo8+1) jessie-backports; urgency=medium
 
   * Rebuild for jessie-backports.
+  * control, rules: Disable llvm/opencl on arm64 (llvm-toolchain-3.8
+    FTBFS on arm64 in jessie-backports).
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 17 Nov 2016 15:17:36 +0100
 
diff --git a/debian/control b/debian/control
index 6e1d8c4..2444527 100644
--- a/debian/control
+++ b/debian/control
@@ -43,11 +43,11 @@ Build-Depends:
  libudev-dev [linux-any],
  flex,
  bison,
- llvm-3.8-dev (>= 1:3.8) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 arm64 armhf ppc64el],
- libelf-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386 arm64 armhf ppc64el],
+ llvm-3.8-dev (>= 1:3.8) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el],
+ libelf-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el],
  libwayland-dev (>= 1.2.0) [linux-any],
- libclang-3.8-dev (>= 1:3.8) [amd64 i386 arm64 armhf],
- libclc-dev (>= 0.2.0+git20150813) [amd64 i386 arm64 armhf],
+ libclang-3.8-dev (>= 1:3.8) [amd64 i386 armhf],
+ libclc-dev (>= 0.2.0+git20150813) [amd64 i386 armhf],
 Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/lib/mesa.git
 Vcs-Browser: https://anonscm.debian.org/cgit/pkg-xorg/lib/mesa.git
 Homepage: http://mesa3d.org/
@@ -480,7 +480,7 @@ Description: Mesa Vulkan graphics drivers
 
 Package: mesa-opencl-icd
 Section: libs
-Architecture: amd64 i386 arm64 armhf
+Architecture: amd64 i386 armhf
 Pre-Depends: ${misc:Pre-Depends}
 Depends:
  libclc-r600 (>= 0.2.0+git20150813),
diff --git a/debian/rules b/debian/rules
index af0d0be..ee5c98f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -81,7 +81,7 @@ else
     DRI_DRIVERS += r200 radeon
     GALLIUM_DRIVERS += r600 r300
   endif
-  ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 arm64 armhf))
+  ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 armhf))
 	# opencl needs gallium-pipe-loader which needs udev,
 	# so no opencl on kfreebsd.
 	# opencl needs LLVM and Clang, so only build it on the subset
@@ -90,7 +90,7 @@ else
   endif
 
   # LLVM is required for r300g, radeonsi and llvmpipe:
-  ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386 arm64 armhf ppc64el))
+  ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el))
 	GALLIUM_DRIVERS += radeonsi
 	confflags_GALLIUM += --enable-gallium-llvm
 	confflags_GALLIUM += ac_cv_path_LLVM_CONFIG=llvm-config-3.8

commit 4fd34f13b33e31e43dab64c26b5443774a4bb7ae
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Nov 17 15:17:50 2016 +0100

    Rebuild for jessie-backports.

diff --git a/debian/changelog b/debian/changelog
index 75257ae..a5e372c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (12.0.4-2~bpo8+1) jessie-backports; urgency=medium
+
+  * Rebuild for jessie-backports.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 17 Nov 2016 15:17:36 +0100
+
 mesa (12.0.4-2) unstable; urgency=medium
 
   * Limit new glx symbols to !hurd-any. Should fix FTBFS on hurd.

commit f512fee012e72c9e38a08823426d034adff5b70d
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Nov 11 18:31:56 2016 +0100

    Upload to unstable.

diff --git a/debian/changelog b/debian/changelog
index 0395886..3f45de5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-mesa (12.0.4-2) UNRELEASED; urgency=medium
+mesa (12.0.4-2) unstable; urgency=medium
 
   * Limit new glx symbols to !hurd-any. Should fix FTBFS on hurd.
 
- -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 18:28:13 +0100
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 18:31:40 +0100
 
 mesa (12.0.4-1) unstable; urgency=medium
 

commit bf783e057f4dc7c1335663a0b7b1fa82adcd73fd
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Nov 11 18:29:09 2016 +0100

    Limit new glx symbols to !hurd-any. Should fix FTBFS on hurd.

diff --git a/debian/changelog b/debian/changelog
index db8532e..0395886 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (12.0.4-2) UNRELEASED; urgency=medium
+
+  * Limit new glx symbols to !hurd-any. Should fix FTBFS on hurd.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 18:28:13 +0100
+
 mesa (12.0.4-1) unstable; urgency=medium
 
   * New upstream release.
diff --git a/debian/libgl1-mesa-glx.symbols b/debian/libgl1-mesa-glx.symbols
index abaaf50..92e3fc5 100644
--- a/debian/libgl1-mesa-glx.symbols
+++ b/debian/libgl1-mesa-glx.symbols
@@ -1,6 +1,6 @@
 libGL.so.1 libgl1-mesa-glx | libgl1
- MesaGLInteropGLXExportObject@Base 12.0.4
- MesaGLInteropGLXQueryDeviceInfo@Base 12.0.4
+ (arch=!hurd-any)MesaGLInteropGLXExportObject@Base 12.0.4
+ (arch=!hurd-any)MesaGLInteropGLXQueryDeviceInfo@Base 12.0.4
  glAccum@Base 0
  glActiveShaderProgram@Base 12.0.1
  glActiveTexture@Base 0

commit 4602b8694b3a8996d5281fb16edd61256e90268d
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Nov 11 16:35:25 2016 +0100

    Upload to unstable.

diff --git a/debian/changelog b/debian/changelog
index 2ddafef..db8532e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-mesa (12.0.4-1) UNRELEASED; urgency=medium
+mesa (12.0.4-1) unstable; urgency=medium
 
   * New upstream release.
   * not-installed: wglext.h got dropped from the tarball.
@@ -6,7 +6,7 @@ mesa (12.0.4-1) UNRELEASED; urgency=medium
     it anymore.
   * Update symbols of libegl1-mesa and libgl1-mesa-glx.
 
- -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 15:02:46 +0100
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 16:35:09 +0100
 
 mesa (12.0.3-3) unstable; urgency=medium
 

commit 785a48592a4e4732b6d34b7e3a24c377e758f613
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Nov 11 16:12:41 2016 +0100

    Update symbols of libegl1-mesa and libgl1-mesa-glx.

diff --git a/debian/changelog b/debian/changelog
index 1d6a438..2ddafef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ mesa (12.0.4-1) UNRELEASED; urgency=medium
   * not-installed: wglext.h got dropped from the tarball.
   * mesa-common-dev: Remove mesa_glinterop.h, upstream doesn't install
     it anymore.
+  * Update symbols of libegl1-mesa and libgl1-mesa-glx.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 15:02:46 +0100
 
diff --git a/debian/libegl1-mesa.symbols b/debian/libegl1-mesa.symbols
index 7dac2ff..0f5eb6c 100644
--- a/debian/libegl1-mesa.symbols
+++ b/debian/libegl1-mesa.symbols
@@ -1,4 +1,6 @@
 libEGL.so.1 libegl1-mesa #MINVER# | libegl1-x11
+ MesaGLInteropEGLExportObject@Base 12.0.4
+ MesaGLInteropEGLQueryDeviceInfo@Base 12.0.4
  eglBindAPI@Base 7.8.1
  eglBindTexImage@Base 7.8.1
  eglChooseConfig@Base 7.8.1
diff --git a/debian/libgl1-mesa-glx.symbols b/debian/libgl1-mesa-glx.symbols
index 06e98ed..abaaf50 100644
--- a/debian/libgl1-mesa-glx.symbols
+++ b/debian/libgl1-mesa-glx.symbols
@@ -1,4 +1,6 @@
 libGL.so.1 libgl1-mesa-glx | libgl1
+ MesaGLInteropGLXExportObject@Base 12.0.4
+ MesaGLInteropGLXQueryDeviceInfo@Base 12.0.4
  glAccum@Base 0
  glActiveShaderProgram@Base 12.0.1
  glActiveTexture@Base 0

commit 4ce79b6e7c67510b07873bf12153744d7cce76e7
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Oct 21 13:32:01 2016 +0200

    mesa-common-dev: Remove mesa_glinterop.h, upstream doesn't install it anymore.

diff --git a/debian/changelog b/debian/changelog
index 373574d..1d6a438 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ mesa (12.0.4-1) UNRELEASED; urgency=medium
 
   * New upstream release.
   * not-installed: wglext.h got dropped from the tarball.
+  * mesa-common-dev: Remove mesa_glinterop.h, upstream doesn't install
+    it anymore.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 15:02:46 +0100
 
diff --git a/debian/mesa-common-dev.install b/debian/mesa-common-dev.install
index af8bf40..d9eb292 100644
--- a/debian/mesa-common-dev.install
+++ b/debian/mesa-common-dev.install
@@ -6,5 +6,4 @@ usr/include/GL/glx.h
 usr/include/GL/glxext.h
 usr/include/GL/glx_mangle.h
 usr/include/GL/internal/dri_interface.h
-usr/include/GL/mesa_glinterop.h
 usr/lib/*/pkgconfig/dri.pc

commit 4b812fd8ccb0b718d99fe2a61c15defd246dcff0
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Oct 21 12:06:25 2016 +0200

    not-installed: wglext.h got dropped from the tarball.

diff --git a/debian/changelog b/debian/changelog
index 30112a4..373574d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 mesa (12.0.4-1) UNRELEASED; urgency=medium
 
   * New upstream release.
+  * not-installed: wglext.h got dropped from the tarball.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 15:02:46 +0100
 
diff --git a/debian/not-installed b/debian/not-installed
index 365fcd0..db39902 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -2,5 +2,4 @@
 
 # Common list:
 NOT_INSTALLED := \
-	usr/include/GL/wglext.h \
 	usr/lib/*/libglapi.so

commit 2af47a0b269d0be21cb2f3a883fe3257acf3b774
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Nov 11 15:03:03 2016 +0100

    Bump changelog

diff --git a/debian/changelog b/debian/changelog
index eebba38..30112a4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (12.0.4-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 11 Nov 2016 15:02:46 +0100
+
 mesa (12.0.3-3) unstable; urgency=medium
 
   * Limit libgbm1 dependency to !hurd-any (Closes: #841774).  Thanks,

commit 20370d4f1b3522ba32c01b52d1fb19909de4ac89
Author: Jonathan Gray <jsg@jsg.id.au>
Date:   Sun Oct 16 23:16:19 2016 +1100

    mesa: automake: include mesa_glinterop.h in distfile
    
    Add mesa_glinterop.h to the list of headers that will get included
    in the distfile as it is required to build Mesa itself.
    
    Corrects a regression introduced in a89faa2022fd995af2019c886b152b49a01f9392.
    
    Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
    Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
    (cherry picked from commit 23392abf506c71a6a1c5bfb04db64756e39315cb)

diff --git a/src/Makefile.am b/src/Makefile.am
index a519e8a..c0aa115 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -117,7 +117,8 @@ SUBDIRS += gallium
 endif
 
 EXTRA_DIST = \
-	getopt hgl SConscript
+	getopt hgl SConscript \
+	$(top_srcdir)/include/GL/mesa_glinterop.h
 
 AM_CFLAGS = $(VISIBILITY_CFLAGS)
 AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)

commit 72539c5e38e307c30c2408b1fa6813a4a7db5d41
Author: Emil Velikov <emil.velikov@collabora.com>
Date:   Thu Nov 10 21:03:41 2016 +0000

    Update version to 12.0.4
    
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>

diff --git a/VERSION b/VERSION
index 470ce40..f0ad792 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-12.0.3
+12.0.4

commit e7c14088707d0bd4dd8fceaec5d3fc529917a7df
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Sep 15 13:58:33 2016 +1000

    Revert "st/vdpau: use linear layout for output surfaces"
    
    This reverts commit d180de35320eafa3df3d76f0e82b332656530126.
    
    This is a radeon specific hack that causes problems on nouveau
    when combined with the SHARED flag later. If radeonsi needs a fix
    for this, please fix it in the driver.
    
    [chk]
    Using linear surfaces for this makes sense because tilling isn't
    beneficial and the surfaces can potentially be shared with other GPUs
    using the VDPAU OpenGL interop.
    
    [airlied]
    I think we need a flag that isn't SHARED/LINEAR that is more
    SHARED_OTHER_GPU.
    
    [mareko]
    Does radeonsi need PIPE_BIND_VIDEO_DECODE_OUTPUT that it would translate
    into linear ?
    
    [mareko]
    My only concern is decoding performance. If the decoder works in 64x1
    blocks, tiling will hurt. That's the theory. I don't know how the
    decoder works.
    
    Cc: 12.0 13.0 <mesa-stable@lists.freedesktop.org>
    Acked-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Tested-by: Nayan Deshmukh <nayan26deshmukh@gmail.com> (I+A)
    (cherry picked from commit d0d5f7600c2e8ab8d0c153787185f7a534753edd)

diff --git a/src/gallium/state_trackers/vdpau/output.c b/src/gallium/state_trackers/vdpau/output.c
index c644cc8..b278288 100644
--- a/src/gallium/state_trackers/vdpau/output.c
+++ b/src/gallium/state_trackers/vdpau/output.c
@@ -82,7 +82,7 @@ vlVdpOutputSurfaceCreate(VdpDevice device,
    res_tmpl.depth0 = 1;
    res_tmpl.array_size = 1;
    res_tmpl.bind = PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_RENDER_TARGET |
-                   PIPE_BIND_LINEAR | PIPE_BIND_SHARED;
+                   PIPE_BIND_SHARED;
    res_tmpl.usage = PIPE_USAGE_DEFAULT;
 
    pipe_mutex_lock(dev->mutex);

commit 422e4da25c07605dd1d6bca99140a34790fd2d65
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Wed Nov 2 18:59:22 2016 +0100

    glx: make interop ABI visible again
    
    This was broken when the GLAPI use was removed from mesa_glinterop.h.
    
    Cc: 12.0 13.0 <mesa-stable@lists.freedesktop.org>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
    (cherry picked from commit 64c2593a5c33a98d880d141793360b44d07d1366)

diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
index 6f76473..5ff4dd3 100644
--- a/src/glx/glxcmds.c
+++ b/src/glx/glxcmds.c
@@ -2717,7 +2717,7 @@ __glXGetUST(int64_t * ust)
 
 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
 
-int
+PUBLIC int
 MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
                                 struct mesa_glinterop_device_info *out)
 {
@@ -2741,7 +2741,7 @@ MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
    return ret;
 }
 
-int
+PUBLIC int
 MesaGLInteropGLXExportObject(Display *dpy, GLXContext context,
                              struct mesa_glinterop_export_in *in,
                              struct mesa_glinterop_export_out *out)

commit 1040360e9f494c5233979595ce19178c46e23942
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Wed Nov 2 18:59:22 2016 +0100

    egl: make interop ABI visible again
    
    This was broken when the GLAPI use was removed from mesa_glinterop.h.
    
    Cc: 12.0 13.0 <mesa-stable@lists.freedesktop.org>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
    (cherry picked from commit ee39d4456e7551b257343551d59e7c6a3388fdc0)

diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index 55243ec..127ca1e 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -1939,7 +1939,7 @@ _eglLockDisplayInterop(EGLDisplay dpy, EGLContext context,
    return MESA_GLINTEROP_SUCCESS;
 }
 
-int
+PUBLIC int
 MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
                                 struct mesa_glinterop_device_info *out)
 {
@@ -1961,7 +1961,7 @@ MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
    return ret;
 }
 
-int
+PUBLIC int
 MesaGLInteropEGLExportObject(EGLDisplay dpy, EGLContext context,
                              struct mesa_glinterop_export_in *in,
                              struct mesa_glinterop_export_out *out)

commit ad7d21bc3a01dd2d4fa4b129d8373047d097a71a
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Wed Nov 2 18:56:39 2016 +0100

    egl: use util/macros.h
    
    I need the definition of PUBLIC.
    
    Cc: 12.0 13.0 <mesa-stable@lists.freedesktop.org>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
    (cherry picked from commit bf51b45313c7cc5ca792401f0cc29574aa9122cf)
    [Emil Velikov: Keep the MIN2 macro]
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>

diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index 02f9604..6099bc2 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -80,8 +80,6 @@
 #include "eglimage.h"
 #include "eglsync.h"
 
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
-
 struct wl_buffer;
 
 struct dri2_egl_driver
diff --git a/src/egl/main/egldefines.h b/src/egl/main/egldefines.h
index 13a7563..6090fc3 100644
--- a/src/egl/main/egldefines.h
+++ b/src/egl/main/egldefines.h
@@ -34,6 +34,8 @@
 #ifndef EGLDEFINES_INCLUDED
 #define EGLDEFINES_INCLUDED
 
+#include "util/macros.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -48,7 +50,6 @@ extern "C" {
 
 #define _EGL_VENDOR_STRING "Mesa Project"
 
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
 #define MIN2(A, B)  (((A) < (B)) ? (A) : (B))
 
 #ifdef __cplusplus

commit 3d4a219dd86eaab549e49c48ed1c8a0c922b5221
Author: Jason Ekstrand <jason.ekstrand@intel.com>
Date:   Fri Oct 21 12:09:38 2016 -0700

    intel/blorp: Rework our usage of ralloc when compiling shaders
    
    Previously, we were creating the shader with a NULL ralloc context and then
    trusting in blorp_compile_fs to clean it up.  The only problem was that
    blorp_compile_fs didn't clean up its context properly so we were leaking.
    When I went to fix that, I realized that it couldn't because it has to
    return the shader binary which is allocated off of that context and used by
    the caller.  The solution is to make blorp_compile_fs take a ralloc
    context, allocate the nir_shaders directly off that context, and clean it
    all up in whatever function creates the shader and calls blorp_compile_fs.
    
    Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
    Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
    Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
    Cc: "12.0, 13.0" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 43dadb6edd5e3e3e10b1198184a9f75556edad49)
    [Emil Velikov: attribute src/intel/blorp file movement]
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
    
    Conflicts:
    	src/intel/blorp/blorp.c
    	src/intel/blorp/blorp_clear.c
    	src/intel/blorp/blorp_priv.h
    	src/mesa/drivers/dri/i965/brw_blorp_blit.cpp

diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c
index 9590968..6be82c5 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp.c
+++ b/src/mesa/drivers/dri/i965/brw_blorp.c
@@ -167,7 +167,8 @@ nir_uniform_type_size(const struct glsl_type *type)
 }
 
 const unsigned *
-brw_blorp_compile_nir_shader(struct brw_context *brw, struct nir_shader *nir,
+brw_blorp_compile_nir_shader(struct brw_context *brw, void *mem_ctx,
+                             struct nir_shader *nir,
                              const struct brw_wm_prog_key *wm_key,
                              bool use_repclear,
                              struct brw_blorp_prog_data *prog_data,
@@ -175,13 +176,6 @@ brw_blorp_compile_nir_shader(struct brw_context *brw, struct nir_shader *nir,
 {
    const struct brw_compiler *compiler = brw->intelScreen->compiler;
 
-   void *mem_ctx = ralloc_context(NULL);
-
-   /* Calling brw_preprocess_nir and friends is destructive and, if cloning is
-    * enabled, may end up completely replacing the nir_shader.  Therefore, we
-    * own it and might as well put it in our context for easy cleanup.
-    */
-   ralloc_steal(mem_ctx, nir);
    nir->options =
       compiler->glsl_compiler_options[MESA_SHADER_FRAGMENT].NirOptions;
 
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.h b/src/mesa/drivers/dri/i965/brw_blorp.h
index 7ec5875..133a8ac 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp.h
+++ b/src/mesa/drivers/dri/i965/brw_blorp.h
@@ -366,7 +366,8 @@ struct brw_blorp_blit_prog_key
 void brw_blorp_init_wm_prog_key(struct brw_wm_prog_key *wm_key);
 
 const unsigned *
-brw_blorp_compile_nir_shader(struct brw_context *brw, struct nir_shader *nir,
+brw_blorp_compile_nir_shader(struct brw_context *brw, void *mem_ctx,
+                             struct nir_shader *nir,
                              const struct brw_wm_prog_key *wm_key,
                              bool use_repclear,
                              struct brw_blorp_prog_data *prog_data,
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index 782d285..db94f33 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -1296,7 +1296,7 @@ blorp_nir_manual_blend_bilinear(nir_builder *b, nir_ssa_def *pos,
  * of samples).
  */
 static nir_shader *
-brw_blorp_build_nir_shader(struct brw_context *brw,
+brw_blorp_build_nir_shader(struct brw_context *brw, void *mem_ctx,
                            const brw_blorp_blit_prog_key *key)
 {
    nir_ssa_def *src_pos, *dst_pos, *color;
@@ -1342,7 +1342,7 @@ brw_blorp_build_nir_shader(struct brw_context *brw,
           (key->dst_samples == 0));
 
    nir_builder b;
-   nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_FRAGMENT, NULL);
+   nir_builder_init_simple_shader(&b, mem_ctx, MESA_SHADER_FRAGMENT, NULL);
 
    struct brw_blorp_blit_vars v;
    brw_blorp_blit_vars_init(&b, &v, key);
@@ -1505,6 +1505,8 @@ brw_blorp_get_blit_kernel(struct brw_context *brw,
                         &params->wm_prog_kernel, &params->wm_prog_data))
       return;
 
+   void *mem_ctx = ralloc_context(NULL);
+
    const unsigned *program;
    unsigned program_size;
    struct brw_blorp_prog_data prog_data;
@@ -1512,7 +1514,7 @@ brw_blorp_get_blit_kernel(struct brw_context *brw,
    /* Try and compile with NIR first.  If that fails, fall back to the old
     * method of building shaders manually.
     */
-   nir_shader *nir = brw_blorp_build_nir_shader(brw, prog_key);
+   nir_shader *nir = brw_blorp_build_nir_shader(brw, mem_ctx, prog_key);
    struct brw_wm_prog_key wm_key;
    brw_blorp_init_wm_prog_key(&wm_key);
    wm_key.tex.compressed_multisample_layout_mask =
@@ -1520,7 +1522,7 @@ brw_blorp_get_blit_kernel(struct brw_context *brw,
    wm_key.tex.msaa_16 = prog_key->tex_samples == 16;
    wm_key.multisample_fbo = prog_key->rt_samples > 1;
 
-   program = brw_blorp_compile_nir_shader(brw, nir, &wm_key, false,
+   program = brw_blorp_compile_nir_shader(brw, mem_ctx, nir, &wm_key, false,
                                           &prog_data, &program_size);
 
    brw_upload_cache(&brw->cache, BRW_CACHE_BLORP_PROG,
@@ -1528,6 +1530,8 @@ brw_blorp_get_blit_kernel(struct brw_context *brw,
                     program, program_size,
                     &prog_data, sizeof(prog_data),
                     &params->wm_prog_kernel, &params->wm_prog_data);
+
+   ralloc_free(mem_ctx);
 }
 
 static void
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
index 2515a04..6400218 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
@@ -64,7 +64,7 @@ brw_blorp_params_get_clear_kernel(struct brw_context *brw,
    void *mem_ctx = ralloc_context(NULL);
 
    nir_builder b;
-   nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_FRAGMENT, NULL);
+   nir_builder_init_simple_shader(&b, mem_ctx, MESA_SHADER_FRAGMENT, NULL);
    b.shader->info.name = ralloc_strdup(b.shader, "BLORP-clear");
 
    nir_variable *u_color = nir_variable_create(b.shader, nir_var_uniform,
@@ -84,7 +84,8 @@ brw_blorp_params_get_clear_kernel(struct brw_context *brw,
    struct brw_blorp_prog_data prog_data;
    unsigned program_size;
    const unsigned *program =
-      brw_blorp_compile_nir_shader(brw, b.shader, &wm_key, use_replicated_data,
+      brw_blorp_compile_nir_shader(brw, mem_ctx,
+                                   b.shader, &wm_key, use_replicated_data,
                                    &prog_data, &program_size);
 
    brw_upload_cache(&brw->cache, BRW_CACHE_BLORP_PROG,

commit 76a77249ed5a0bae8b4b8c693159f8a8a1481be6
Author: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Date:   Wed Oct 26 23:10:53 2016 +0200

    nvc0/ir: fix emission of IMAD with NEG modifiers
    
    The emitter tried to emit sub instead of subr when src0 has
    actually a NEG modifier.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: "11.0 12.0 13.0" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 84e946380b2d5ddc62a107b667be39abf1932704)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index 54115d6..3a23a9a 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -726,7 +726,7 @@ void
 CodeEmitterGK110::emitIMAD(const Instruction *i)
 {
    uint8_t addOp =
-      (i->src(2).mod.neg() << 1) | (i->src(0).mod.neg() ^ i->src(1).mod.neg());
+      i->src(2).mod.neg() | ((i->src(0).mod.neg() ^ i->src(1).mod.neg()) << 1);
 
    emitForm_21(i, 0x100, 0xa00);
 
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
index b3cfe08..be5ee4f 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
@@ -737,7 +737,7 @@ void
 CodeEmitterNVC0::emitIMAD(const Instruction *i)
 {
    uint8_t addOp =
-      (i->src(2).mod.neg() << 1) | (i->src(0).mod.neg() ^ i->src(1).mod.neg());
+      i->src(2).mod.neg() | ((i->src(0).mod.neg() ^ i->src(1).mod.neg()) << 1);
 
    assert(i->encSize == 8);
    emitForm_A(i, HEX64(20000000, 00000003));

commit c1f138149edfbf4b586d7a8fa4f3e92ad5ee7dbf
Author: Tapani Pälli <tapani.palli@intel.com>
Date:   Wed Oct 26 13:54:51 2016 +0300

    egl: set preserved behavior for surface only if config supports it
    
    Otherwise we can end up with mismatching behavior between config and
    surface when client queries surface attributes. As example, configs
    for DRI3 do not support preserved behavior but here we were setting
    preserved behavior for pixmap and pbuffer.
    
    Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98326
    Cc: "12.0 13.0" <mesa-stable@lists.freedesktop.org>
    Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
    Reviewed-by: Chad Versace <chadversary@chromium.org>
    Tested-by: Mark Janes <mark.a.janes@intel.com>
    (cherry picked from commit 2035930966b05a7c4dd1f6559d66b5a3b41e01a5)

diff --git a/src/egl/main/eglsurface.c b/src/egl/main/eglsurface.c
index 17d7907..e8ee49c 100644
--- a/src/egl/main/eglsurface.c
+++ b/src/egl/main/eglsurface.c
@@ -262,9 +262,13 @@ _eglInitSurface(_EGLSurface *surf, _EGLDisplay *dpy, EGLint type,
 {
    const char *func;
    EGLint renderBuffer = EGL_BACK_BUFFER;
-   EGLint swapBehavior = EGL_BUFFER_PRESERVED;
+   EGLint swapBehavior = EGL_BUFFER_DESTROYED;
    EGLint err;
 
+   /* Swap behavior can be preserved only if config supports this. */
+   if (conf->SurfaceType & EGL_SWAP_BEHAVIOR_PRESERVED_BIT)
+      swapBehavior = EGL_BUFFER_PRESERVED;
+
    switch (type) {
    case EGL_WINDOW_BIT:
       func = "eglCreateWindowSurface";

commit 3a27b813b449eb6ec2e41a9b646af1953f002783
Author: Emil Velikov <emil.velikov@collabora.com>
Date:   Mon Oct 31 18:47:21 2016 +0000

    cherry-ignore: add ClientWaitSync fixes
    
    Patches (and extension overall) depends on gallium API and driver work
    which hasn't landed in branch.
    
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 227b21d..005e1e3 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -20,3 +20,6 @@ f2b9b0c730e345bcffa9eadabb25af3ab02642f2 i965: Add missing BRW_NEW_FS_PROG_DATA
 # The commit in question hasn't landed in branch
 1ef787339774bc7f1cc9c1615722f944005e070c Revert "egl/android: Set EGL_MAX_PBUFFER_WIDTH and EGL_MAX_PBUFFER_HEIGHT"
 
+# Patches depend on the fence_finish() gallium API change and corresponding driver work
+f240ad98bc05281ea7013d91973cb5f932ae9434 st/mesa: unduplicate st_check_sync code
+b687f766fddb7b39479cd9ee0427984029ea3559 st/mesa: allow multiple concurrent waiters in ClientWaitSync

commit ac3abe534bb9986ce7ee1286854a3bb2a83568bc
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Mon Oct 24 19:05:10 2016 +0200

    winsys/amdgpu: fix radeon_surf::macro_tile_index for imported textures
    
    Maybe this is why SDMA has been broken for many amdgpu users?
    
    SDMA is the only block which is used with imported textures and relies
    on this variable. DB also uses it, but it doesn't get imported textures,
    so it's unaffected.
    
    I do get SDMA failures on Tonga before this patch if R600_DEBUG=testdma
    is changed to use imported textures.
    
    Cc: 11.2 12.0 13.0 <mesa-stable@lists.freedesktop.org>
    Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    (cherry picked from commit 6ec3b2a4b1d41b83a4721d06b42c49f55e695cbf)
    [Emil Velikov: resolve trivial conflicts - SI support does not exist in
    branch]
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
    
    Conflicts:
    	src/gallium/winsys/amdgpu/drm/amdgpu_surface.c

diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_surface.c b/src/gallium/winsys/amdgpu/drm/amdgpu_surface.c
index 8b776b7..3f6e280 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_surface.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_surface.c
@@ -253,6 +253,20 @@ static int compute_level(struct amdgpu_winsys *ws,
    return 0;
 }
 
+static unsigned cik_get_macro_tile_index(struct radeon_surf *surf)
+{
+	unsigned index, tileb;
+
+	tileb = 8 * 8 * surf->bpe;
+	tileb = MIN2(surf->tile_split, tileb);
+
+	for (index = 0; tileb > 64; index++)
+		tileb >>= 1;
+
+	assert(index < 16);
+	return index;
+}
+
 static int amdgpu_surface_init(struct radeon_winsys *rws,
                                struct radeon_surf *surf)
 {
@@ -381,6 +395,9 @@ static int amdgpu_surface_init(struct radeon_winsys *rws,
          AddrSurfInfoIn.tileIndex = 10; /* 2D displayable */
       else
          AddrSurfInfoIn.tileIndex = 14; /* 2D non-displayable */
+
+      /* Addrlib doesn't set this if tileIndex is forced like above. */
+      AddrSurfInfoOut.macroModeIndex = cik_get_macro_tile_index(surf);
    }
 
    surf->bo_size = 0;

commit 20008a9fb82a573f15e9c6b02b68a90f31889efb
Author: Marek Olšák <marek.olsak@amd.com>


Reply to: