Android.common.mk | 1 VERSION | 2 bin/.cherry-ignore | 14 configure.ac | 15 debian/changelog | 31 + debian/patches/egl-platform-mir.patch | 22 - debian/patches/egl-platform-rs.patch | 12 debian/patches/khr_platform_mir.patch | 2 docs/relnotes/17.1.2.html | 3 docs/relnotes/17.1.3.html | 156 ++++++++ docs/relnotes/17.1.4.html | 219 ++++++++++++ include/pci_ids/radeonsi_pci_ids.h | 1 src/amd/common/sid_tables.py | 2 src/amd/vulkan/radv_cmd_buffer.c | 73 ++-- src/amd/vulkan/radv_device.c | 2 src/amd/vulkan/radv_image.c | 3 src/amd/vulkan/radv_meta.c | 5 src/amd/vulkan/radv_query.c | 5 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 14 src/compiler/glsl/lower_distance.cpp | 2 src/compiler/spirv/vtn_private.h | 14 src/compiler/spirv/vtn_variables.c | 14 src/egl/Makefile.am | 3 src/egl/drivers/dri2/platform_android.c | 39 +- src/egl/drivers/dri2/platform_drm.c | 5 src/egl/drivers/dri2/platform_surfaceless.c | 3 src/egl/drivers/dri2/platform_wayland.c | 5 src/egl/drivers/dri2/platform_x11.c | 10 src/egl/main/egldisplay.c | 36 +- src/egl/main/eglsurface.c | 6 src/gallium/auxiliary/util/u_inlines.h | 10 src/gallium/auxiliary/util/u_vbuf.c | 16 src/gallium/drivers/etnaviv/etnaviv_blend.c | 48 +- src/gallium/drivers/etnaviv/etnaviv_blend.h | 7 src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 31 + src/gallium/drivers/etnaviv/etnaviv_screen.c | 4 src/gallium/drivers/etnaviv/etnaviv_state.c | 4 src/gallium/drivers/etnaviv/etnaviv_transfer.c | 9 src/gallium/drivers/etnaviv/etnaviv_translate.h | 47 -- src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 51 +- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 15 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 19 - src/gallium/drivers/radeon/r600_texture.c | 7 src/gallium/drivers/radeonsi/si_pipe.h | 1 src/gallium/drivers/radeonsi/si_shader.h | 4 src/gallium/drivers/radeonsi/si_state_draw.c | 41 +- src/gallium/drivers/svga/svga_screen_cache.c | 16 src/gallium/drivers/svga/svga_state_gs.c | 2 src/gallium/drivers/svga/svga_surface.c | 8 src/gallium/drivers/svga/svga_winsys.h | 2 src/gallium/drivers/swr/Makefile.am | 4 src/gallium/drivers/swr/SConscript | 2 src/gallium/drivers/swr/rasterizer/core/state.h | 27 - src/gallium/state_trackers/va/config.c | 2 src/gallium/state_trackers/va/context.c | 2 src/gallium/targets/libgl-xlib/Makefile.am | 1 src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 55 ++- src/gallium/winsys/amdgpu/drm/amdgpu_cs.h | 4 src/gallium/winsys/svga/drm/vmw_surface.c | 3 src/gallium/winsys/svga/drm/vmw_surface.h | 2 src/glx/dri3_glx.c | 6 src/intel/common/gen_device_info.c | 29 + src/intel/common/gen_device_info.h | 1 src/intel/common/gen_l3_config.c | 16 src/intel/vulkan/genX_cmd_buffer.c | 2 src/mapi/Makefile.am | 3 src/mesa/drivers/dri/i915/i915_context.h | 14 src/mesa/drivers/dri/i915/i915_fragprog.c | 16 src/mesa/drivers/dri/i915/i915_program.c | 2 src/mesa/drivers/dri/i915/i915_state.c | 7 src/mesa/drivers/dri/i915/i915_vtbl.c | 7 src/mesa/drivers/dri/i915/intel_reg.h | 6 src/mesa/drivers/dri/i965/brw_blorp.c | 100 ++++- src/mesa/drivers/dri/i965/brw_blorp.h | 3 src/mesa/drivers/dri/i965/brw_clear.c | 66 --- src/mesa/drivers/dri/i965/brw_context.c | 2 src/mesa/drivers/dri/i965/brw_context.h | 3 src/mesa/drivers/dri/i965/brw_draw_upload.c | 12 src/mesa/drivers/dri/i965/brw_meta_util.c | 40 ++ src/mesa/drivers/dri/i965/brw_misc_state.c | 44 ++ src/mesa/drivers/dri/i965/brw_pipe_control.c | 247 +++++++++----- src/mesa/drivers/dri/i965/brw_queryobj.c | 5 src/mesa/drivers/dri/i965/brw_sampler_state.c | 6 src/mesa/drivers/dri/i965/gen6_queryobj.c | 2 src/mesa/drivers/dri/i965/gen8_depth_state.c | 2 src/mesa/drivers/dri/i965/genX_blorp_exec.c | 2 src/mesa/drivers/dri/i965/intel_blit.c | 2 src/mesa/drivers/dri/i965/intel_fbo.c | 6 src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 4 src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 4 src/mesa/drivers/x11/Makefile.am | 1 src/mesa/drivers/x11/glxapi.c | 8 src/mesa/drivers/x11/glxapi.h | 1 src/mesa/drivers/x11/xm_api.c | 8 src/mesa/drivers/x11/xmesa.h | 6 src/mesa/main/pipelineobj.c | 4 src/mesa/main/viewport.c | 6 src/mesa/state_tracker/st_atom_rasterizer.c | 2 src/mesa/state_tracker/st_shader_cache.c | 7 src/util/rand_xor.c | 1 100 files changed, 1365 insertions(+), 501 deletions(-)
New commits: commit 9c7cbb71f89c562afe3ed38329dc8e7e5d61b0a7 Author: Timo Aaltonen <[email protected]> Date: Mon Jul 3 19:04:49 2017 +0300 release to artful diff --git a/debian/changelog b/debian/changelog index 89dbf9c..de93754 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -mesa (17.1.4-1ubuntu1) UNRELEASED; urgency=medium +mesa (17.1.4-1ubuntu1) artful; urgency=medium * Merge from Debian. - update/refresh Mir patches - -- Timo Aaltonen <[email protected]> Mon, 03 Jul 2017 19:03:39 +0300 + -- Timo Aaltonen <[email protected]> Mon, 03 Jul 2017 19:04:38 +0300 mesa (17.1.4-1) unstable; urgency=medium commit 2a09a4247099878882a5133a49158270038a26d1 Author: Timo Aaltonen <[email protected]> Date: Mon Jul 3 19:04:31 2017 +0300 refresh mir patches diff --git a/debian/changelog b/debian/changelog index f2620f9..89dbf9c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +mesa (17.1.4-1ubuntu1) UNRELEASED; urgency=medium + + * Merge from Debian. + - update/refresh Mir patches + + -- Timo Aaltonen <[email protected]> Mon, 03 Jul 2017 19:03:39 +0300 + mesa (17.1.4-1) unstable; urgency=medium * New upstream release. diff --git a/debian/patches/egl-platform-mir.patch b/debian/patches/egl-platform-mir.patch index faa0509..d73a141 100644 --- a/debian/patches/egl-platform-mir.patch +++ b/debian/patches/egl-platform-mir.patch @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -1701,7 +1701,9 @@ for plat in $platforms; do +@@ -1706,7 +1706,9 @@ for plat in $platforms; do PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM" ;; @@ -11,7 +11,7 @@ *) AC_MSG_ERROR([platform '$plat' does not exist]) ;; -@@ -1732,6 +1734,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, ec +@@ -1737,6 +1739,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, ec AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo "$platforms" | grep -q 'drm') AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless') AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android') @@ -799,7 +799,7 @@ +} --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c -@@ -58,7 +58,10 @@ +@@ -59,7 +59,10 @@ #ifdef HAVE_DRM_PLATFORM #include <gbm.h> #endif @@ -811,7 +811,7 @@ /** * Map --with-platforms names to platform types. -@@ -73,6 +76,7 @@ static const struct { +@@ -74,6 +77,7 @@ static const struct { { _EGL_PLATFORM_ANDROID, "android" }, { _EGL_PLATFORM_HAIKU, "haiku" }, { _EGL_PLATFORM_SURFACELESS, "surfaceless" }, @@ -819,7 +819,7 @@ }; -@@ -132,6 +136,47 @@ _eglPointerIsDereferencable(void *p) +@@ -133,6 +137,47 @@ _eglPointerIsDereferencable(void *p) #endif } @@ -867,7 +867,7 @@ /** * Try detecting native platform with the help of native display characteristcs. -@@ -142,6 +187,11 @@ _eglNativePlatformDetectNativeDisplay(vo +@@ -143,6 +188,11 @@ _eglNativePlatformDetectNativeDisplay(vo if (nativeDisplay == EGL_DEFAULT_DISPLAY) return _EGL_INVALID_PLATFORM; @@ -879,15 +879,15 @@ if (_eglPointerIsDereferencable(nativeDisplay)) { void *first_pointer = *(void **) nativeDisplay; -@@ -180,7 +230,7 @@ _eglNativePlatformDetectNativeDisplay(vo +@@ -181,7 +231,7 @@ _eglNativePlatformDetectNativeDisplay(vo _EGLPlatformType _eglGetNativePlatform(void *nativeDisplay) { -- static _EGLPlatformType native_platform; -+ _EGLPlatformType native_platform; - char *detection_method; +- static _EGLPlatformType native_platform = _EGL_INVALID_PLATFORM; ++ _EGLPlatformType native_platform = _EGL_INVALID_PLATFORM; + _EGLPlatformType detected_platform = native_platform; - native_platform = _eglGetNativePlatformFromEnv(); + if (detected_platform == _EGL_INVALID_PLATFORM) { --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -50,6 +50,7 @@ enum _egl_platform_type { diff --git a/debian/patches/egl-platform-rs.patch b/debian/patches/egl-platform-rs.patch index 9d8321c..547dc41 100644 --- a/debian/patches/egl-platform-rs.patch +++ b/debian/patches/egl-platform-rs.patch @@ -3,12 +3,12 @@ @@ -98,6 +98,7 @@ XVMC_REQUIRED=1.0.6 PYTHON_MAKO_REQUIRED=0.8.0 LIBSENSORS_REQUIRED=4.0.0 - ZLIB_REQUIRED=1.2.8 + ZLIB_REQUIRED=1.2.3 +MIR_REQUIRED=0.26.2 dnl LLVM versions LLVM_REQUIRED_GALLIUM=3.3.0 -@@ -1701,9 +1702,15 @@ for plat in $platforms; do +@@ -1706,9 +1707,15 @@ for plat in $platforms; do PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM" ;; @@ -27,7 +27,7 @@ *) AC_MSG_ERROR([platform '$plat' does not exist]) ;; -@@ -1735,6 +1742,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo " +@@ -1740,6 +1747,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo " AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless') AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android') AM_CONDITIONAL(HAVE_PLATFORM_MIR, echo "$platforms" | grep -q 'mir') @@ -1137,7 +1137,7 @@ +} --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c -@@ -62,6 +62,9 @@ +@@ -63,6 +63,9 @@ #include <dlfcn.h> #include <mir_toolkit/mesa/native_display.h> #endif @@ -1147,7 +1147,7 @@ /** * Map --with-platforms names to platform types. -@@ -76,7 +79,8 @@ static const struct { +@@ -77,7 +80,8 @@ static const struct { { _EGL_PLATFORM_ANDROID, "android" }, { _EGL_PLATFORM_HAIKU, "haiku" }, { _EGL_PLATFORM_SURFACELESS, "surfaceless" }, @@ -1157,7 +1157,7 @@ }; -@@ -187,9 +191,14 @@ _eglNativePlatformDetectNativeDisplay(vo +@@ -188,9 +192,14 @@ _eglNativePlatformDetectNativeDisplay(vo if (nativeDisplay == EGL_DEFAULT_DISPLAY) return _EGL_INVALID_PLATFORM; diff --git a/debian/patches/khr_platform_mir.patch b/debian/patches/khr_platform_mir.patch index d71deb1..75af54b 100644 --- a/debian/patches/khr_platform_mir.patch +++ b/debian/patches/khr_platform_mir.patch @@ -14,7 +14,7 @@ } --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c -@@ -620,3 +620,22 @@ _eglGetSurfacelessDisplay(void *native_d +@@ -628,3 +628,22 @@ _eglGetSurfacelessDisplay(void *native_d return _eglFindDisplay(_EGL_PLATFORM_SURFACELESS, native_display); } #endif /* HAVE_SURFACELESS_PLATFORM */ commit 125f4bf5750d4f5f9118ed102bdb69b6da2a533a Author: Timo Aaltonen <[email protected]> Date: Mon Jul 3 18:49:19 2017 +0300 upload to unstable diff --git a/debian/changelog b/debian/changelog index bbf4a22..099fc96 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +mesa (17.1.4-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen <[email protected]> Mon, 03 Jul 2017 18:29:51 +0300 + mesa (17.1.3-2) unstable; urgency=medium * Upload to unstable. commit e60d010ef41f049df84d683a6465d1e5bf0cbb3d Author: Andres Gomez <[email protected]> Date: Fri Jun 30 20:11:50 2017 +0300 docs: add release notes for 17.1.4 Signed-off-by: Andres Gomez <[email protected]> diff --git a/docs/relnotes/17.1.4.html b/docs/relnotes/17.1.4.html new file mode 100644 index 0000000..7d4673b --- /dev/null +++ b/docs/relnotes/17.1.4.html @@ -0,0 +1,219 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> +<head> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <title>Mesa Release Notes</title> + <link rel="stylesheet" type="text/css" href="../mesa.css"> +</head> +<body> + +<div class="header"> + <h1>The Mesa 3D Graphics Library</h1> +</div> + +<iframe src="../contents.html"></iframe> +<div class="content"> + +<h1>Mesa 17.1.4 Release Notes / June 30, 2017</h1> + +<p> +Mesa 17.1.4 is a bug fix release which fixes bugs found since the 17.1.3 release. +</p> +<p> +Mesa 17.1.4 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is <strong>only</strong> available if requested at context creation +because compatibility contexts are not supported. +</p> + + +<h2>SHA256 checksums</h2> +<pre> +TBD +</pre> + + +<h2>New features</h2> +<p>None</p> + + +<h2>Bug fixes</h2> + +<ul> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77240">Bug 77240</a> - khrplatform.h not installed if EGL is disabled</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95530">Bug 95530</a> - Stellaris - colored overlay of sectors doesn't render on i965</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96958">Bug 96958</a> - [SKL] Improper rendering in Europa Universalis IV</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99467">Bug 99467</a> - [radv] DOOM 2016 + wine. Green screen everywhere (but can be started)</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=101071">Bug 101071</a> - compiling glsl fails with undefined reference to `pthread_create'</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=101252">Bug 101252</a> - eglGetDisplay() is not thread safe</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=101294">Bug 101294</a> - radeonsi minecraft forge splash freeze since 17.1</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=101451">Bug 101451</a> - [G33] ES2-CTS.functional.clipping.polygon regression</li> + +</ul> + + +<h2>Changes</h2> + +<p>Alex Deucher (1):</p> +<ul> + <li>radeonsi: add new polaris12 pci id</li> +</ul> + +<p>Andres Gomez (3):</p> +<ul> + <li>cherry-ignore: 17.1.4 rejected commits</li> + <li>cherry-ignore: bin/get-fixes-pick-list.sh: better identify multiple "fixes:" tags</li> + <li>Update version to 17.1.4</li> +</ul> + +<p>Anuj Phogat (2):</p> +<ul> + <li>i965: Add and initialize l3_banks field for gen7+</li> + <li>i965: Fix broxton 2x6 l3 config</li> +</ul> + +<p>Ben Crocker (1):</p> +<ul> + <li>egl_dri2: swrastGetDrawableInfo: set *x, common.py [v2]</li> +</ul> + +<p>Brian Paul (2):</p> +<ul> + <li>svga: check return value from svga_set_shader( SVGA3D_SHADERTYPE_GS, NULL)</li> + <li>gallium/vbuf: avoid segfault when we get invalid glDrawRangeElements()</li> +</ul> + +<p>Chad Versace (1):</p> +<ul> + <li>egl/android: Change order of EGLConfig generation (v2)</li> +</ul> + +<p>Chandu Babu N (1):</p> +<ul> + <li>change va max_entrypoints</li> +</ul> + +<p>Charmaine Lee (1):</p> +<ul> + <li>svga: use the winsys interface to invalidate surface</li> +</ul> + +<p>Emil Velikov (3):</p> +<ul> + <li>docs: add sha256 checksums for 17.1.3</li> + <li>configure.ac: add -pthread to PTHREAD_LIBS</li> + <li>radeonsi: include ac_binary.h for struct ac_shader_binary</li> +</ul> + +<p>Eric Engestrom (3):</p> +<ul> + <li>egl: properly count configs</li> + <li>egl/display: only detect the platform once</li> + <li>egl/display: make platform detection thread-safe</li> +</ul> + +<p>Eric Le Bihan (1):</p> +<ul> + <li>Fix khrplatform.h not installed if EGL is disabled.</li> +</ul> + +<p>Iago Toral Quiroga (1):</p> +<ul> + <li>i965: update MaxTextureRectSize to match PRMs and comply with OpenGL 4.1+</li> +</ul> + +<p>Ilia Mirkin (2):</p> +<ul> + <li>nv50/ir: fetch indirect sources BEFORE the op that uses them</li> + <li>nv50/ir: fix combineLd/St to update existing records as necessary</li> +</ul> + +<p>Jason Ekstrand (10):</p> +<ul> + <li>i965: Flush around state base address</li> + <li>i965: Take a uint64_t immediate in emit_pipe_control_write</li> + <li>i965: Unify the two emit_pipe_control functions</li> + <li>i965: Do an end-of-pipe sync prior to STATE_BASE_ADDRESS</li> + <li>i965/blorp: Do an end-of-pipe sync around CCS ops</li> + <li>i965: Do an end-of-pipe sync after flushes</li> + <li>i965: Disable the interleaved vertex optimization when instancing</li> + <li>i965: Set step_rate = 0 for interleaved vertex buffers</li> + <li>spirv: Work around the Doom shader bug</li> + <li>i965: Clamp clear colors to the representable range</li> +</ul> + +<p>Jonas Kulla (1):</p> +<ul> + <li>anv: Fix L3 cache programming on Bay Trail</li> +</ul> + +<p>Kenneth Graunke (1):</p> +<ul> + <li>i965: Ignore anisotropic filtering in nearest mode.</li> +</ul> + +<p>Lucas Stach (7):</p> +<ul> + <li>etnaviv: don't try RS blit if blit region is unaligned</li> + <li>etnaviv: use padded width/height for resource copies</li> + <li>etnaviv: remove bogus assert</li> + <li>etnaviv: replace translate_clear_color with util_pack_color</li> + <li>etnaviv: mask correct channel for RB swapped rendertargets</li> + <li>etnaviv: advertise correct max LOD bias</li> + <li>etnaviv: only flush resource to self if no scanout buffer exists</li> +</ul> + +<p>Marek Olšák (4):</p> +<ul> + <li>winsys/amdgpu: fix a deadlock when waiting for submission_in_progress</li> + <li>mesa: flush vertices before changing viewports</li> + <li>mesa: flush vertices before updating ctx->_Shader</li> + <li>st/mesa: fix pipe_rasterizer_state::scissor with multiple viewports</li> +</ul> + +<p>Michel Dänzer (1):</p> +<ul> + <li>gallium/util: Break recursion in pipe_resource_reference</li> +</ul> + +<p>Nicolai Hähnle (2):</p> +<ul> + <li>gallium/radeon/gfx9: fix PBO texture uploads to compressed textures</li> + <li>amd/common: fix off-by-one in sid_tables.py</li> +</ul> + +<p>Pierre Moreau (1):</p> +<ul> + <li>nv50/ir: Properly fold constants in SPLIT operation</li> +</ul> + +<p>Rob Herring (1):</p> +<ul> + <li>Android: major/minor/makedev live in <sys/sysmacros.h></li> +</ul> + +<p>Topi Pohjolainen (2):</p> +<ul> + <li>i965: Add an end-of-pipe sync helper</li> + <li>i965/gen4: Set depth offset when there is stencil attachment only</li> +</ul> + +<p>Ville Syrjälä (2):</p> +<ul> + <li>i915: Fix gl_Fragcoord interpolation</li> + <li>i915: Fix wpos_tex vs. -1 comparison</li> +</ul> + +</div> +</body> +</html> commit 9bb03507523041b2d1eb84ad7b2fe8ed1dcb5ff0 Author: Andres Gomez <[email protected]> Date: Fri Jun 30 20:09:16 2017 +0300 Update version to 17.1.4 Signed-off-by: Andres Gomez <[email protected]> diff --git a/VERSION b/VERSION index 0558d32..e7bcd48 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -17.1.3 +17.1.4 commit 03a0fdbdea137ed803cb5afdf122f0cd592475f5 Author: Andres Gomez <[email protected]> Date: Tue Jun 27 22:38:36 2017 +0300 cherry-ignore: bin/get-fixes-pick-list.sh: better identify multiple "fixes:" tags fixes: Genuine false positive. Signed-off-by: Andres Gomez <[email protected]> diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore index 936e570..95fe622 100644 --- a/bin/.cherry-ignore +++ b/bin/.cherry-ignore @@ -1,7 +1,8 @@ # stable: This commit depends on 9fd9a7d0ba3 and 678d568c7b2, neither # of which is in branch. b84b631c6381d9b36bca5d0e7cc67dd23af188c1 radeonsi: load patch_id for TES-as-ES when exporting for PS -# This commit addressed an earlier commit 126d5ad which did not land in branch. +# fixes: This commit addressed an earlier commit 126d5ad which did not +# land in branch. 9da104593386f6e8ddec8f0d9d288aceb8908fe1 radv: fix regression in descriptor set freeing. # stable: This commit addressed an earlier commit 944455217b which did # not land in branch. @@ -9,3 +10,5 @@ b28938ffce0580e89e6012826900da2b6013b0df st/glsl_to_tgsi: use correct writemask # stable: This commit depends on 330d0607e and 61d8f3387d, neither of # which is in branch. c12f8305a8ae4fd5d78a9ab8bbda790a711d5bed nv50,nvc0: remove IDX from bufctx immediately, to avoid conflicts with clear +# fixes: Genuine false positive. +5d87667fed1bd5ab850abdfb3a10db8c8c21c330 bin/get-fixes-pick-list.sh: better identify multiple "fixes:" tags" has more than one Fixes tag commit 02b5d52bc3d6a8c1eeab7670d36551cc56e92d8c Author: Andres Gomez <[email protected]> Date: Fri Jun 23 02:14:24 2017 +0300 cherry-ignore: 17.1.4 rejected commits stable: rejected commits. Signed-off-by: Andres Gomez <[email protected]> diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore index fc9bf36..936e570 100644 --- a/bin/.cherry-ignore +++ b/bin/.cherry-ignore @@ -1,4 +1,11 @@ -# This commit depends on 9fd9a7d0ba3 and 678d568c7b2, neither of which is in branch. +# stable: This commit depends on 9fd9a7d0ba3 and 678d568c7b2, neither +# of which is in branch. b84b631c6381d9b36bca5d0e7cc67dd23af188c1 radeonsi: load patch_id for TES-as-ES when exporting for PS # This commit addressed an earlier commit 126d5ad which did not land in branch. 9da104593386f6e8ddec8f0d9d288aceb8908fe1 radv: fix regression in descriptor set freeing. +# stable: This commit addressed an earlier commit 944455217b which did +# not land in branch. +b28938ffce0580e89e6012826900da2b6013b0df st/glsl_to_tgsi: use correct writemask when converting generic intrinsics +# stable: This commit depends on 330d0607e and 61d8f3387d, neither of +# which is in branch. +c12f8305a8ae4fd5d78a9ab8bbda790a711d5bed nv50,nvc0: remove IDX from bufctx immediately, to avoid conflicts with clear commit 0069a613ac3b6ca75315cbb2fd3d86b0f6c9ede4 Author: Eric Le Bihan <[email protected]> Date: Mon Jun 12 12:00:07 2017 +0100 Fix khrplatform.h not installed if EGL is disabled. KHR/khrplatform.h is required by the EGL, GLES and VG headers, but is only installed if Mesa3d is compiled with EGL support. This patch installs this header file unconditionally. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77240 Signed-off-by: Eric Le Bihan <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit 2154defcd698c7f9862bd235925cac75c0d5a520) diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am index 14fd77f..8109038 100644 --- a/src/egl/Makefile.am +++ b/src/egl/Makefile.am @@ -163,9 +163,6 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = main/egl.pc -khrdir = $(includedir)/KHR -khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h - egldir = $(includedir)/EGL egl_HEADERS = \ $(top_srcdir)/include/EGL/eglext.h \ diff --git a/src/mapi/Makefile.am b/src/mapi/Makefile.am index 7ebe14f..3133462 100644 --- a/src/mapi/Makefile.am +++ b/src/mapi/Makefile.am @@ -245,3 +245,6 @@ es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps) $(srcdir)/glapi/gen/gl_and_es_API.xml > $@ include $(top_srcdir)/install-lib-links.mk + +khrdir = $(includedir)/KHR +khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h commit b7ad1fc50b057027afeaee895580f84eeb2c2731 Author: Rob Herring <[email protected]> Date: Tue May 30 07:22:18 2017 -0500 Android: major/minor/makedev live in <sys/sysmacros.h> sysmacros.h was getting implicitly included in types.h until recently in AOSP master. Define MAJOR_IN_SYSMACROS to explicitly include sysmacros.h. Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Rob Herring <[email protected]> (cherry picked from commit e8f82bfd520e7f7185d178cdbecbb9b1bf2b2c1c) diff --git a/Android.common.mk b/Android.common.mk index 8acb0cc..e899a31 100644 --- a/Android.common.mk +++ b/Android.common.mk @@ -59,6 +59,7 @@ LOCAL_CFLAGS += \ -DHAVE_PTHREAD=1 \ -DHAVE_DLOPEN \ -DHAVE_DL_ITERATE_PHDR \ + -DMAJOR_IN_SYSMACROS \ -fvisibility=hidden \ -Wno-sign-compare commit 2cce0c2971797f6f45057156ce025c8736c9a11a Author: Emil Velikov <[email protected]> Date: Fri Jun 16 19:53:50 2017 +0100 radeonsi: include ac_binary.h for struct ac_shader_binary The header embeds the struct so it needs the header inclusion instead of the dummy forward declaration. Cc: Nicolai Hähnle <[email protected]> Cc: Marek Olšák <[email protected]> Cc: Tom Stellard <[email protected]> Fixes: 32206c5e560 ("radeonsi: Add radeon_shader_binary member to struct si_shader") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Tested-by: Bas Nieuwenhuizen <[email protected]> (cherry picked from commit 1f958c1337290b4062a77f79fc101bb9f4bdf515) diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h index cfa691b..2aac424 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -72,9 +72,9 @@ #include <llvm-c/TargetMachine.h> #include "tgsi/tgsi_scan.h" #include "util/u_queue.h" -#include "si_state.h" -struct ac_shader_binary; +#include "ac_binary.h" +#include "si_state.h" #define SI_MAX_VS_OUTPUTS 40 commit 065643fe67e5b6ac7e7f0437d3a4a93474615b6c Author: Ilia Mirkin <[email protected]> Date: Sat Jun 24 18:35:29 2017 -0400 nv50/ir: fix combineLd/St to update existing records as necessary Previously the logic would decide that the record is kept, which translates into keep = false in the caller, which meant that these passes did not run. While it's right that keep = false which means that a new record does not need to be added, we do still have to perform the usual list maintenance. It's easiest to do this pre-merge rather than post. The lowering that clip/cull distance passes produce triggers this bug in TCS (since reading outputs is done differently in other stages), but it should be possible to achieve it with the right sequence of regular reads/writes. Fixes: KHR-GL45.cull_distance.functional Fixes: generated_tests/spec/arb_tessellation_shader/execution/tes-input/tes-input-gl_ClipDistance.shader_test Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Cc: [email protected] (cherry picked from commit 4a79f2be337cef920fc8ea5048fabc106bac492e) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index 5dac2f6..0fbf6b8 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -2486,6 +2486,10 @@ MemoryOpt::combineLd(Record *rec, Instruction *ld) assert(sizeRc + sizeLd <= 16 && offRc != offLd); + // lock any stores that overlap with the load being merged into the + // existing record. + lockStores(ld); + for (j = 0; sizeRc; sizeRc -= rec->insn->getDef(j)->reg.size, ++j); if (offLd < offRc) { @@ -2542,6 +2546,10 @@ MemoryOpt::combineSt(Record *rec, Instruction *st) if (prog->getType() == Program::TYPE_COMPUTE && rec->rel[0]) return false; + // remove any existing load/store records for the store being merged into + // the existing record. + purgeRecords(st, DATA_FILE_COUNT); + st->takeExtraSources(0, extra); // save predicate and indirect address if (offRc < offSt) { commit f47380a530d6fad530ecb84bd0ab136b39ec81c4 Author: Ilia Mirkin <[email protected]> Date: Sat Jun 24 12:08:52 2017 -0400 nv50/ir: fetch indirect sources BEFORE the op that uses them All the BuildUtil helpers just insert the operation into the current BB. So we have to take care that any fetchSrc() operations happen before the operation whose setIndirect() it goes into. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Cc: [email protected] (cherry picked from commit 8c02ee4a8b0bea5dda3ced341dce81f340457c95) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp index 92cc13d..617e9a3 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -2628,6 +2628,10 @@ Converter::handleLOAD(Value *dst0[4]) const int r = tgsi.getSrc(0).getIndex(0); int c; std::vector<Value *> off, src, ldv, def; + Value *ind = NULL; + + if (tgsi.getSrc(0).isIndirect(0)) + ind = fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, 0); switch (tgsi.getSrc(0).getFile()) { case TGSI_FILE_BUFFER: @@ -2654,8 +2658,8 @@ Converter::handleLOAD(Value *dst0[4]) Instruction *ld = mkLoad(TYPE_U32, dst0[c], sym, off); ld->cache = tgsi.getCacheMode(); - if (tgsi.getSrc(0).isIndirect(0)) - ld->setIndirect(0, 1, fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, 0)); + if (ind) + ld->setIndirect(0, 1, ind); } break; case TGSI_FILE_IMAGE: { @@ -2677,8 +2681,8 @@ Converter::handleLOAD(Value *dst0[4]) ld->tex.mask = tgsi.getDst(0).getMask(); ld->tex.format = getImageFormat(code, r); ld->cache = tgsi.getCacheMode(); - if (tgsi.getSrc(0).isIndirect(0)) - ld->setIndirectR(fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, NULL)); + if (ind) + ld->setIndirectR(ind); FOR_EACH_DST_ENABLED_CHANNEL(0, c, tgsi) if (dst0[c] != def[c]) @@ -2766,6 +2770,10 @@ Converter::handleSTORE() const int r = tgsi.getDst(0).getIndex(0); int c; std::vector<Value *> off, src, dummy; + Value *ind = NULL; + + if (tgsi.getDst(0).isIndirect(0)) + ind = fetchSrc(tgsi.getDst(0).getIndirect(0), 0, 0); switch (tgsi.getDst(0).getFile()) { case TGSI_FILE_BUFFER: @@ -2788,8 +2796,8 @@ Converter::handleSTORE() Instruction *st = mkStore(OP_STORE, TYPE_U32, sym, off, fetchSrc(1, c)); st->cache = tgsi.getCacheMode(); - if (tgsi.getDst(0).isIndirect(0)) - st->setIndirect(0, 1, fetchSrc(tgsi.getDst(0).getIndirect(0), 0, 0)); + if (ind) + st->setIndirect(0, 1, ind); } break; case TGSI_FILE_IMAGE: { @@ -2807,8 +2815,8 @@ Converter::handleSTORE() st->tex.mask = tgsi.getDst(0).getMask(); st->tex.format = getImageFormat(code, r); st->cache = tgsi.getCacheMode(); - if (tgsi.getDst(0).isIndirect(0)) - st->setIndirectR(fetchSrc(tgsi.getDst(0).getIndirect(0), 0, NULL)); + if (ind) + st->setIndirectR(ind); } break; default: @@ -2877,6 +2885,10 @@ Converter::handleATOM(Value *dst0[4], DataType ty, uint16_t subOp) std::vector<Value *> srcv; std::vector<Value *> defv; LValue *dst = getScratch(); + Value *ind = NULL; + + if (tgsi.getSrc(0).isIndirect(0)) + ind = fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, 0); switch (tgsi.getSrc(0).getFile()) { case TGSI_FILE_BUFFER: @@ -2886,23 +2898,21 @@ Converter::handleATOM(Value *dst0[4], DataType ty, uint16_t subOp) continue; Instruction *insn; - Value *off = fetchSrc(1, c), *off2 = NULL; + Value *off = fetchSrc(1, c); Value *sym; if (tgsi.getSrc(1).getFile() == TGSI_FILE_IMMEDIATE) sym = makeSym(tgsi.getSrc(0).getFile(), r, -1, c, tgsi.getSrc(1).getValueU32(c, info)); else sym = makeSym(tgsi.getSrc(0).getFile(), r, -1, c, 0); - if (tgsi.getSrc(0).isIndirect(0)) - off2 = fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, 0); if (subOp == NV50_IR_SUBOP_ATOM_CAS) insn = mkOp3(OP_ATOM, ty, dst, sym, fetchSrc(2, c), fetchSrc(3, c)); else insn = mkOp2(OP_ATOM, ty, dst, sym, fetchSrc(2, c)); if (tgsi.getSrc(1).getFile() != TGSI_FILE_IMMEDIATE) insn->setIndirect(0, 0, off); - if (off2) - insn->setIndirect(0, 1, off2); + if (ind) + insn->setIndirect(0, 1, ind); insn->subOp = subOp; } for (int c = 0; c < 4; ++c) @@ -2925,8 +2935,8 @@ Converter::handleATOM(Value *dst0[4], DataType ty, uint16_t subOp) tex->tex.mask = 1; tex->tex.format = getImageFormat(code, r); tex->setType(ty); - if (tgsi.getSrc(0).isIndirect(0)) - tex->setIndirectR(fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, NULL)); + if (ind) + tex->setIndirectR(ind); for (int c = 0; c < 4; ++c) if (dst0[c]) @@ -3798,12 +3808,14 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn) break; case TGSI_OPCODE_RESQ: if (tgsi.getSrc(0).getFile() == TGSI_FILE_BUFFER) { + Value *ind = NULL; + if (tgsi.getSrc(0).isIndirect(0)) + ind = fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, 0); geni = mkOp1(OP_BUFQ, TYPE_U32, dst0[0], makeSym(tgsi.getSrc(0).getFile(), tgsi.getSrc(0).getIndex(0), -1, 0, 0)); - if (tgsi.getSrc(0).isIndirect(0)) - geni->setIndirect(0, 1, - fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, 0)); + if (ind) + geni->setIndirect(0, 1, ind); } else { assert(tgsi.getSrc(0).getFile() == TGSI_FILE_IMAGE); @@ -3816,10 +3828,11 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn) } texi->tex.r = tgsi.getSrc(0).getIndex(0); texi->tex.target = getImageTarget(code, texi->tex.r); - bb->insertTail(texi); if (tgsi.getSrc(0).isIndirect(0)) texi->setIndirectR(fetchSrc(tgsi.getSrc(0).getIndirect(0), 0, NULL)); + + bb->insertTail(texi); } break; case TGSI_OPCODE_IBFE: commit 8943444b03e485dea1362064c8073222440c24f3 Author: Iago Toral Quiroga <[email protected]> Date: Fri Jun 16 09:27:43 2017 +0200 i965: update MaxTextureRectSize to match PRMs and comply with OpenGL 4.1+ We were exposing 4096, but we can do up to 8192 in Gen4-6 and up to 16384 in gen7+. OpenGL 4.1+ requires at least 16384. Reviewed-by: Kenneth Graunke <[email protected]> (cherry picked from commit b72b7c541dd81890e04652373f24840f580123ed) diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 1247d03..782543e 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -555,7 +555,7 @@ brw_initialize_context_constants(struct brw_context *brw) ctx->Const.Max3DTextureLevels = 12; /* 2048 */ ctx->Const.MaxArrayTextureLayers = brw->gen >= 7 ? 2048 : 512; ctx->Const.MaxTextureMbytes = 1536; - ctx->Const.MaxTextureRectSize = 1 << 12; + ctx->Const.MaxTextureRectSize = brw->gen >= 7 ? 16384 : 8192; ctx->Const.MaxTextureMaxAnisotropy = 16.0; ctx->Const.MaxTextureLodBias = 15.0; ctx->Const.StripTextureBorder = true; commit 8d5debbcc64b5e31d9f39b1a4de73f1df6f86eb1 Author: Nicolai Hähnle <[email protected]> Date: Tue Jun 6 19:17:49 2017 +0200 amd/common: fix off-by-one in sid_tables.py The very last entry in the sid_strings_offsets table ended up missing, leading to out-of-bounds reads and potential crashes. Reviewed-by: Marek Olšák <[email protected]> (cherry picked from commit 67e49a7f6570b8691d9405cb65f263b87817fe71) diff --git a/src/amd/common/sid_tables.py b/src/amd/common/sid_tables.py index fd88d3c..0a2b7ef 100644 --- a/src/amd/common/sid_tables.py +++ b/src/amd/common/sid_tables.py @@ -110,7 +110,7 @@ class IntTable: [static] const typename name[] = { ... }; to filp. """ - idxs = sorted(self.idxs) + [-1] + idxs = sorted(self.idxs) + [len(self.table)] fragments = [ ('\t/* %s */ %s' % (

