Timo Aaltonen pushed to branch debian-experimental at X Strike Force / lib / mesa
Commits: 19573e43 by Samuel Pitoiset at 2019-11-27T17:47:14Z radv: fix enabling sample shading with SampleID/SamplePosition When a fragment shader includes an input variable decorated with SampleId or SamplePosition, sample shading should be enabled because minSampleShadingFactor is expected to be 1.0. Cc: 19.2, 19.3 <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> (cherry picked from commit 86a5fbfd4afb4fb53ab8ea0a13dda33b32f8b79b) - - - - - d438ccde by Samuel Pitoiset at 2019-12-03T18:22:47Z radv/gfx10: fix implementation of exclusive scans This implementation is loosely based on ROCm. https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/master/ockl/src/wfredscan.cl This fixes dEQP-VK.subgroups.arithmetic.*.subgroupexclusive* on GFX10. Fixes: 227c29a80de ("amd/common/gfx10: implement scan & reduce operations") Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> (cherry picked from commit c9aa843961d2c3cb34e7cb2dc843b93d723e0692) Conflicts resolved by Dylan Baker - - - - - f63c3eca by Kenneth Graunke at 2019-12-03T18:23:03Z driconf, glsl: Add a vs_position_always_invariant option Many applications use multi-pass rendering and require their vertex shader position to be computed the same way each time. Optimizations may consider, say, fusing a multiply-add based on global usage of an expression in a shader. But a second shader with the same expression may have different code, causing that optimization to make the other choice the second time around. The correct solution is for applications to mark their VS outputs 'invariant', indicating they need multiple shaders to compute that output in the same manner. However, most applications fail to do so. So, we add a new driconf option - vs_position_always_invariant - which forces the gl_Position output in vertex shaders to be marked invariant. Fixes: 7025dbe794b ("nir: Skip emitting no-op movs from the builder.") Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]> (cherry picked from commit 9b577f2a887968483b88b629673d3f9904a179ff) - - - - - 553de940 by Kenneth Graunke at 2019-12-03T18:23:12Z drirc: Set vs_position_always_invariant for Shadow of Mordor on Intel When drawing the main character in Shadow of Mordor, the game appears to draw Talion with one vertex shader, and the Wraith with another. If the compiler optimizes those in different ways which lead to slight imprecisions, then the resulting positions may not line up, leading to Z-fighting occurring as the game decides which of the two are in front. brw_nir_opt_peephole_ffma looks at usages of multiply adds across the entire shader, and may make different decisions between the two, leading to such imprecisions and Z-fighting. This started happening recently after a NIR change to eliminate unnecessary MOVs (7025dbe7), but that change simply exposed the existing problem. Improves performance on Skylake GT4e by 1.22945% +/- 0.398672% (n=3), likely due to the fixed rendering. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1985 Fixes: 7025dbe794b ("nir: Skip emitting no-op movs from the builder.") Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]> (cherry picked from commit 51cc380894b6c541ac3383336389242cf3f9fd67) - - - - - 5ba4fb85 by Bas Nieuwenhuizen at 2019-12-03T18:23:16Z radv: Unify max_descriptor_set_size. They were out of sync. Besides syncing, lets ensure they never diverge again. Fixes: 8d2654a4197 "radv: Support VK_EXT_inline_uniform_block." Reviewed-by: Samuel Pitoiset <[email protected]> (cherry picked from commit 4cde0e04e38ad2b9212d451cb5a84ed4ceaffd03) - - - - - a2606453 by Jonathan Gray at 2019-12-03T18:23:20Z winsys/amdgpu: avoid double simple_mtx_unlock() pthread_mutex_unlock() when unlocked is documented by posix as being undefined behaviour. On OpenBSD pthread_mutex_unlock() will call abort(3) if this happens. This occurs in amdgpu_winsys_create() after cb446dc0fa5c68f681108f4613560543aa4cf553 winsys/amdgpu: Add amdgpu_screen_winsys Signed-off-by: Jonathan Gray <[email protected]> Cc: 19.2 19.3 <[email protected]> Signed-off-by: Marek Olšák <[email protected]> (cherry picked from commit 3fe3bde4f2c8813e13fa2992212ca46a894e68b6) - - - - - 0ca8b506 by Bas Nieuwenhuizen at 2019-12-03T18:23:24Z radv: Fix timeline semaphore refcounting. Was totally broken ... Removed two if(point) {} because point is always non-NULL and we were counting on that already for counting, since we NULL our references to semaphores without active point earlier. Fixes: 4aa75bb3bdd "radv: Add wait-before-submit support for timelines." Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2137 Reviewed-by: Samuel Pitoiset <[email protected]> (cherry picked from commit 48fc65413c8607390b2ed8cdaccac490d8c8fdae) - - - - - e11d9cd9 by Boris Brezillon at 2019-12-03T18:23:29Z gallium: Fix the ->set_damage_region() implementation BACK_LEFT attachment can be outdated when the user calls KHR_partial_update() (->lastStamp != ->texture_stamp), leading to a damage region update on the wrong pipe_resource object. Let's delay the ->set_damage_region() call until the attachments are updated when we're in that case. Reported-by: Carsten Haitzler <[email protected]> Fixes: 492ffbed63a2 ("st/dri2: Implement DRI2bufferDamageExtension") Cc: <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Marek Olšák <[email protected]> (cherry picked from commit b196e1a8cfbd2c6b53f688542bcda5bb8f7f8888) - - - - - 8e3c4caf by Boris Brezillon at 2019-12-03T18:23:35Z panfrost: Make sure we reset the damage region of RTs at flush time We must reset the damage info of our render targets here even though a damage reset normally happens when the DRI layer swaps buffers. That's because there can be implicit flushes the GL app is not aware of, and those might impact the damage region: if part of the damaged portion is drawn during those implicit flushes, you have to reload those areas before next draws are pushed, and since the driver can't easily know what's been modified by the draws it flushed, the easiest solution is to reload everything. Reported-by: Carsten Haitzler <[email protected]> Fixes: 65ae86b85422 ("panfrost: Add support for KHR_partial_update()") Cc: <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> (cherry picked from commit c6e2096c47f05aab6807325799bf0b6a4092084d) - - - - - d32a34a3 by Jonathan Gray at 2019-12-03T18:23:40Z i965: update Makefile.sources for perf changes brw_performance_query_metrics.h was removed in 134e750e16bfc53480e0bba6f0ae3e1d2a7fb87c and brw_performance_query.h was removed in 8ae6667992ccca41d08884d863b8aeb22a4c4e65 remove reference to these files from Makefile.sources Signed-off-by: Jonathan Gray <[email protected]> Fixes: 134e750e16bfc53480e0 ("i965: extract performance query metrics") Fixes: 8ae6667992ccca41d088 ("intel/perf: move query_object into perf") Reviewed-by: Eric Engestrom <[email protected]> (cherry picked from commit 34dda0ca659a8dd4a25123d966ed04340b9a0e45) - - - - - 4f026b2a by Christian Gmeiner at 2019-12-03T18:23:46Z etnaviv: remove dead code ptiled is always NULL so the if statement is useless. CoverityID: 1415572 Fixes: b9627765303 ("etnaviv: rework compatible render base") CC: <[email protected]> Reviewed-by: Jonathan Marek <[email protected]> Signed-off-by: Christian Gmeiner <[email protected]> (cherry picked from commit 1be220833c18139ff9f3c7c9237deeb726ba5c55) - - - - - f4a4cce5 by Rhys Perry at 2019-12-03T18:23:51Z aco: propagate p_wqm on an image_sample's coordinate p_create_vector Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2156 Fixes: 93c8ebfa780 ('aco: Initial commit of independent AMD compiler') Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> (cherry picked from commit ff70ccad16a2efb3be1fbc4ca03453d38721a267) - - - - - 967043eb by Rhys Perry at 2019-12-03T18:23:56Z aco: fix i2i64 Fixes: 93c8ebfa ('aco: Initial commit of independent AMD compiler') Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> (cherry picked from commit 11f43caaeca166c96ae49dbd506b6f58dd4a13fb) - - - - - bf03a431 by Rhys Perry at 2019-12-03T18:24:04Z aco: add v_nop inbetween exec write and VMEM/DS/FLAT LLVM and the proprietary compiler seem to do this Fixes: b01847bd9 ("aco/gfx10: Fix mitigation of VMEMtoScalarWriteHazard.") Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> (cherry picked from commit a9fc81b098ca36d063dbdb6f69ffde1ab215d34b) - - - - - 0fa0b5fc by Daniel Schürmann at 2019-12-03T18:24:08Z aco: don't split live-ranges of linear VGPRs Fixes: 93c8ebfa780ebd1495095e794731881aef29e7d3 'aco: Initial commit of independent AMD compiler' Reviewed-by: Rhys Perry <[email protected]> (cherry picked from commit 8861a82be7df2a5816254b45d390ddafad7d8711) - - - - - f7d100ca by Rhys Perry at 2019-12-03T18:24:23Z radv: set writes_memory for global memory stores/atomics Fixes: 13ab63bb62b ('radv: Implement VK_EXT_buffer_device_address.') Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> (cherry picked from commit 35fab1ba3395604f748cd13ba82991372ca0cae7) - - - - - f9e8f6ba by Rhys Perry at 2019-12-03T18:46:09Z nir/lower_io_to_vector: don't create arrays when not needed Some backends require that there are no array varyings. If there were no arrays in the input shader, the pass shouldn't have to create new ones. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2103 Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2167 Fixes: bcd14756eec ('nir/lower_io_to_vector: add flat mode') Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Connor Abbott <[email protected]> (cherry picked from commit 5404b7aaa36fad18df19e12abcc8af69014e74c2) - - - - - f6ac7d9a by Jordan Justen at 2019-12-03T18:46:25Z iris: Allow max dynamic pool size of 2GB for gen12 Reworks: * Adjust comment to list the state packets that curro found to be affected. Fixes: 8125d7960b6 ("intel/dev: Add preliminary device info for Tigerlake") Cc: 19.3 <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Francisco Jerez <[email protected]> (cherry picked from commit e277009d8dbdc9aec4be26aed5357ec41f359937) - - - - - f0aa6a75 by Jason Ekstrand at 2019-12-03T18:46:25Z anv: Set up SBE_SWIZ properly for gl_Viewport gl_Viewport is also in the VUE header so we need to whack the read offset to 0 and emit a default (no overrides) SBE_SWIZ entry in that case as well. Cc: [email protected] Reviewed-by: Lionel Landwerlin <[email protected]> (cherry picked from commit b1f37688ba717db81a7e9c97e2a875d528d85112) - - - - - 15791ca8 by Daniel Schürmann at 2019-12-04T08:18:46Z aco: fix a couple of value numbering issues Fixes: 3a20ef4a3299fddc886f9d5908d8b3952dd63a54 'aco: refactor value numbering' Reviewed-by: Rhys Perry <[email protected]> - - - - - 9b189cb9 by Dylan Baker at 2019-12-04T21:14:01Z VERSION: bump version for 19.3-rc6 - - - - - 24908b47 by Timo Aaltonen at 2019-12-05T07:20:53Z Merge branch 'upstream-experimental' into debian-experimental - - - - - 3b1ec453 by Timo Aaltonen at 2019-12-05T07:21:27Z bump the version - - - - - bf1219ac by Timo Aaltonen at 2019-12-05T07:36:25Z control, rules: Don't build mesa-vulkan-drivers on mips*. - - - - - 30 changed files: - VERSION - debian/changelog - debian/control - debian/rules - src/amd/compiler/aco_insert_NOPs.cpp - src/amd/compiler/aco_instruction_selection.cpp - src/amd/compiler/aco_opt_value_numbering.cpp - src/amd/compiler/aco_register_allocation.cpp - src/amd/llvm/ac_llvm_build.c - src/amd/vulkan/radv_device.c - src/amd/vulkan/radv_pipeline.c - src/amd/vulkan/radv_shader_info.c - src/compiler/glsl/builtin_variables.cpp - src/compiler/nir/nir_lower_io_to_vector.c - src/gallium/auxiliary/pipe-loader/driinfo_gallium.h - src/gallium/drivers/etnaviv/etnaviv_resource.c - src/gallium/drivers/iris/iris_bufmgr.c - src/gallium/drivers/panfrost/pan_job.c - src/gallium/drivers/panfrost/pan_resource.c - src/gallium/drivers/panfrost/pan_resource.h - src/gallium/include/state_tracker/st_api.h - src/gallium/state_trackers/dri/dri2.c - src/gallium/state_trackers/dri/dri_drawable.c - src/gallium/state_trackers/dri/dri_drawable.h - src/gallium/state_trackers/dri/dri_screen.c - src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c - src/intel/vulkan/genX_pipeline.c - src/mesa/drivers/dri/i965/Makefile.sources - src/mesa/drivers/dri/i965/intel_screen.c - src/mesa/main/mtypes.h The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/compare/b5d2e20d729c4e977e8242195fcc8a6a18896df9...bf1219ac247ca2f8a9adcae898358015761fc71b -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/compare/b5d2e20d729c4e977e8242195fcc8a6a18896df9...bf1219ac247ca2f8a9adcae898358015761fc71b You're receiving this email because of your account on salsa.debian.org.

