Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / mesa
Commits: 4e143b9c by Jason Ekstrand at 2022-01-01T18:16:22+00:00 Revert "anv: Stop doing too much per-sample shading" This reverts commit 1f559930b6b7a633d93cd4e9cc4965b3f5e7c607. Turns out, this approach won't work. Fixes: 1f559930b6b7 ("anv: Stop doing too much per-sample shading") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14196> (cherry picked from commit b05d228695b0c8219d37188792224f9cb026b0f5) - - - - - b1f0c148 by Eric Engestrom at 2022-01-12T19:54:00+00:00 .pick_status.json: Update to 8a78706643ecad8a1f303cc9358873abc29978b4 - - - - - 2fcf7a36 by Eric Engestrom at 2022-01-12T19:54:23+00:00 .pick_status.json: Mark 00bea38242d97e7ace1954f1bc7d32cbf0ce3ee0 as denominated - - - - - 2f6c2b1e by Eric Engestrom at 2022-01-12T19:54:23+00:00 .pick_status.json: Mark 2a0253b9b5d21c7571555abe3a1d851468a18740 as denominated - - - - - 5f32bdee by Dave Airlie at 2022-01-12T19:54:23+00:00 intel/genxml/gen4-5: fix more Raster Operation in BLT to be a uint This has been partly fixed twice before, but looks like some got missed. Fixes arb_copy_image on gen4 with crocus Fixes: de625dddeea4 ("intel/genxml: fix raster operation field in blt genxml") Acked-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14345> (cherry picked from commit a2293e33fd1255049b61c57d93eb89d1dc19c1f0) - - - - - 36837574 by Dave Airlie at 2022-01-12T19:54:23+00:00 crocus: fail resource allocation properly. Older gens have a limit of 2GB on surfaces, this results in isl_surf_init_s failing if the surface exceeds that, in this case this should fail all the way back up the stack. This fixes some cases of max-texture-size on crocus Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7") Reviewed-by: Emma Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14347> (cherry picked from commit d8a38edc48e5567e5f0205b7347761e3d05a4bda) - - - - - bde0b2a4 by Qiang Yu at 2022-01-12T19:54:24+00:00 glapi: should not add alias function to static_data.py Alias function should not be assigned an offset, otherwise new added function will get error: Exception: entries are not ordered by slots Fixes: 757bc6d37a6 ("mesa: Add support for EXT_clear_texture") Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Qiang Yu <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223> (cherry picked from commit bcaf9704ad74aa59cbc7584c42fba525d49fc630) - - - - - 8be97114 by Henry Goffin at 2022-01-12T19:54:24+00:00 intel/compiler/test: Fix build with GCC 7 Without this change, test_fs_scoreboard.cpp does not compile on GCC 7 due to the use of C99 initializers in a C++ source file. Fixes: c847bfaaf5c ("intel/fs/gen12: Add tests for scoreboard pass") Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14349> (cherry picked from commit fe617bcca0e7d8510c60be8a083f6fabe7acf1c8) - - - - - f9918f60 by Samuel Pitoiset at 2022-01-12T19:54:24+00:00 radv: add drirc radv_disable_htile_layers and enable it for F1 2021 To workaround some flickering issues in the main menu. See https://github.com/HansKristian-Work/vkd3d-proton/issues/950 Cc: 21.3 mesa-stable Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14354> (cherry picked from commit 90994e4db7000951be058a956813e4a828f862c9) - - - - - 58708891 by Daniel Schürmann at 2022-01-12T19:54:24+00:00 aco: don't allow SDWA on VOP3P instructions Reviewed-by: Timur Kristóf <[email protected]> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13576> (cherry picked from commit 1502c22e2c32d6a87dd17bdc76af68b8470cb6ea) - - - - - 1ec2c58d by Filip Gawin at 2022-01-12T19:54:24+00:00 r300: fix handling swizzle in transform_source_conflicts these tests are now passing: dEQP-GLES2.functional.shaders.operator.exponential.pow.highp_vec2_vertex,Fail dEQP-GLES2.functional.shaders.operator.exponential.pow.highp_vec3_vertex,Fail dEQP-GLES2.functional.shaders.operator.exponential.pow.highp_vec4_vertex,Fail dEQP-GLES2.functional.shaders.operator.exponential.pow.mediump_vec2_vertex,Fail dEQP-GLES2.functional.shaders.operator.exponential.pow.mediump_vec3_vertex,Fail dEQP-GLES2.functional.shaders.operator.exponential.pow.mediump_vec4_vertex,Fail Fixes: 1c2c4ddbd1e9 ("r300g: copy the compiler from r300c") Reviewed-by: Emma Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14282> (cherry picked from commit 2ddfb9c256bf18c3031eac28dae04745668f3299) - - - - - 8e217008 by Emma Anholt at 2022-01-12T19:54:24+00:00 freedreno/afuc: Disable the disassembler on 32-bit builds. There's an mmap(2 << 32), which armhf can't handle. Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5514 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13421> (cherry picked from commit 80d5e40fd1392af9401db3d0bbcbcc6b7276675c) - - - - - a1c1a606 by Boris Brezillon at 2022-01-12T19:54:24+00:00 microsoft/compiler: Fix dxil_nir_create_bare_samplers() _mesa_hash_table_u64_search() returns the data directly, not an hash_entry object. Fixes: 46bc7cf6783 ("microsoft/compiler: Rewrite sampler splitting pass to be smarter and handle derefs") Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Jesse Natalie <[email protected]> (cherry picked from commit 83280b8e23e721cb39f66a4d7cad4fd2d7143045) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14377> - - - - - 60596366 by Alyssa Rosenzweig at 2022-01-12T19:54:24+00:00 pan/bi: Fix load_const of 1-bit booleans For historical reasons, we ingest 1-bit booleans in NIR but expand them to 16/32-bit booleans in the backend IR. We need to handle this case when loading boolean constants, extending from 1-bit to 16/32-bit as required. This issue is masked by effective constant folding for booleans, but is visible in a shader from Firefox WebRender. Fixes: 646e03c4519 ("pan/bi: Temporarily switch back to 0/~0 bools") Signed-off-by: Alyssa Rosenzweig <[email protected]> Reported-by: Icecream95 Closes: #5797 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14371> (cherry picked from commit 29d319c767394b685e2b421a89a7e8e7103e2688) - - - - - 90e33100 by Pavel Ondračka at 2022-01-12T19:54:24+00:00 r300: Remove broken optimization in rc_transform_KILL The logic was reversed so this was not only not working but it was also removing random instructions around. The special IF-KILP-ENDIF case this optimization was targeting is already transformed to KILL_IF in the TGSI, so just remove this altogether. This fixes piglit glsl-fs-discard-04 v2: Update the comment as well Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/343 Signed-off-by: Pavel Ondračka <[email protected]> Reviewed-by: Filip Gawin <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Emma Anholt <[email protected]> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14378> (cherry picked from commit 96ad4f64375905c710f881e6972784f597799457) - - - - - 20e8f2e1 by Timothy Arceri at 2022-01-12T19:54:24+00:00 glsl/glcpp: make sure to expand new token after concatenation Previously the code was using a hack to change the token type from INDETIFIER -> OTHER in order to avoid getting in an infinite loop expanding the tokens. This worked ok until we got to a paste where the replacement parameters had already had their type changed to OTHER because the newly created paste token would then inherit the OTHER type and never get expanded inself. For example with the follow code: #define STEP_ONE() \ out_Color = vec4(0.0,1.0,0.0,1.0) #define GLUE(x,y) x ## _ ## y #define EVALUATE(x,y) GLUE(x,y) #define STEP(stepname) EVALUATE(STEP, stepname)() #define PERFORM_RAYCASTING_STEP STEP(ONE) This would get all the way to expanding PERFORM_RAYCASTING_STEP to STEP_ONE() but because it was created via the paste `x ## _ ## y` it would never get any further. To fix this we remove the OTHER hack and instead just track if the token has already been handled via a bool value `explanding`. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5724 Fixes: 28842c2331e6 ("glcpp: Implement token pasting for non-function-like macros") Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14101> (cherry picked from commit d2711f9b61a4c2c7fb2f1fe60bc9d02eefc53738) - - - - - d2d07f2b by satmandu at 2022-01-12T19:54:24+00:00 Fix compilation on armv7l with gcc 11.2.0 Cc: mesa-stable Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12810> (cherry picked from commit d27805753fdc6319676ef1c7aa86ac3d941c6a3c) - - - - - af943229 by Emma Anholt at 2022-01-12T19:54:25+00:00 i915g: Turn off FP16 in the vertex shaders. This ended up being turned on in gallivm, but since we use nir_to_tgsi on the VS and TGSI doesn't have FP16, we can't let that happen. Fixes: f814a2449e2c ("llvmpipe: enable FP16 and update CL + traces piglit results.") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14403> (cherry picked from commit b9e8936bfb5e1ddce73140928342ab34f6a81bd9) - - - - - f78a3094 by Michel Zou at 2022-01-12T19:54:25+00:00 zink: fix -Warray-bounds warning It would seems msvc and mingw dont pack across disparate types so zink_bind_rasterizer_state is too big for int32 string.h:202:10: warning: ‘__builtin___memcpy_chk’ forming offset [4, 7] is out of the bounds [0, 4] of object ‘rast_bits’ with type ‘uint32_t’ {aka ‘unsigned int’} [-Warray-bounds] 202 | return __builtin___memcpy_chk(__dst, __src, __n, __mingw_bos(__dst, 0)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/gallium/drivers/zink/zink_state.c: In function ‘zink_bind_rasterizer_state’: ../src/gallium/drivers/zink/zink_state.c:586:16: note: ‘rast_bits’ declared here Fixes: 9c5a2ab6 Acked-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12609> (cherry picked from commit 4ff57e5aba0e2d89c86ac896206750aa98c21f11) - - - - - 9195ddff by Emma Anholt at 2022-01-12T19:54:25+00:00 r300: Fix omod failing to increase the number of channels stored. In dEQP-GLES2.functional.shaders.operator.geometric.reflect.highp_vec2_fragment and friends this pass would turn: 0: DP3 temp[1].x, input[1].yx0_, input[0].wy0_; 1: MUL temp[2].xy, temp[1].xx__, const[0].xx__; into 0: DP3 temp[2].x * 2, input[1].yx0_, input[0].wy0_; 1: MUL temp[3].xy, temp[2].xy__, input[1].yx__; Note the attempt to use .y of temp[2]. Just bail when we more dst channels than src channels, since the rewrite can't generate more channels for us. Fixes this subset of tests (which I hadn't included in the xfails until now since results hadn't quite been stable). Cc: mesa-stable Reviewed-by: Marek Olšák <[email protected]> Tested-by: Filip Gawin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14405> (cherry picked from commit 105b48c85c2be2970bbe9c9185af98ec9c8ff674) - - - - - b1d0e4d0 by Lucas Stach at 2022-01-12T19:54:25+00:00 etnaviv: initialize vertex attributes on context reset It seems that at least some GC400 come out of reset with random vertex attributes enabled and also don't disable them on the write to the first config register as normal. Enabling all attributes seems to provide the GPU with the required edge to actually disable the unused attributes on the next draw. Cc: mesa-stable Reported-by: Steven Walter Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14285> (cherry picked from commit c1f8bc67e29e9b05d60e1354fa04927fce5f396b) - - - - - 72a680be by Pierre-Eric Pelloux-Prayer at 2022-01-12T19:54:25+00:00 radeonsi/gfx8: use the proper dcc clear size dcc_fast_clear_size is assigned using addrlib's dccFastClearSize, which is computed using the whole surface size (including layers) so we don't need to multiply dcc_fast_clear_size by num_layers. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4530 Cc: mesa-stable Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14409> (cherry picked from commit d84e0096a5daa7c8bdd29c16b4bb15e7d062d80e) - - - - - ad5fe81c by Pierre-Eric Pelloux-Prayer at 2022-01-12T19:54:25+00:00 vbo/dlist: fix loopback crash The original code incorrectly adjusted only when Loopback was false, while primitives' start value is actually modified unconditionnally. Fixes: 32535942680 ("vbo/dlist: rework buffer sizes") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5754 Acked-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14243> (cherry picked from commit 7a1d3d3abc5366ea75e2b159cd2e46c4b7ea815c) - - - - - 08bea100 by Mike Blumenkrantz at 2022-01-12T19:54:25+00:00 radv: fix xfb query copy param ordering Fixes: afff9dd0f04 ("radv: Use correct buffer size for query pool result copies.") Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14422> (cherry picked from commit 05a5e5a2bcefcbce50ae34ad362c382722cf2bf5) - - - - - 2cd9d700 by Bas Nieuwenhuizen at 2022-01-12T19:54:25+00:00 radv: Set optimal copy alignment to 1. I think we set it to 128 for no reason at all. The app is still required to align to the texel size. Note that we prefer 4 bytes for non-formatted buffer->buffer copy, but that isn't in scope for these properties according to the Vulkan spec. It also happens to help hide what looks like an application bug at this point with Baldurs Gate 3. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5509 Cc: mesa-stable Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14415> (cherry picked from commit 63101914f8879c37bd468781de1026e761ba6255) - - - - - 7241ec2e by Rohan Garg at 2022-01-12T19:54:25+00:00 intel/fs: OpImageQueryLod does not support arrayed images as an operand When we lower SPIR-V to NIR for textures in vtn_handle_texture, we only bump the number of coordinate components when the op is not a lod query. Update the assert to take this into account. This fixes: - dEQP-VK.robustness.robustness2.bind.template.r32f.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.r32f.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.r32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.r32ui.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rg32f.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rg32f.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rg32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rg32ui.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rgba32f.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rgba32f.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rgba32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rgba32ui.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.bind.template.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.r32f.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.r32f.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.r32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.r32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.r32ui.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.r32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rg32f.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rg32f.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rg32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rg32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rg32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rgba32f.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rgba32f.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rgba32i.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.dontunroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag - dEQP-VK.robustness.robustness2.push.notemplate.rgba32ui.unroll.nonvolatile.sampled_image.no_fmt_qual.null_descriptor.samples_1.cube_array.frag Fixes: 231337a1 ("intel/fs/xehp: Assert that the compiler is sending all 3 coords for cubemaps.") Signed-off-by: Rohan Garg <[email protected]> Reviewed-by: Francisco Jerez <[email protected]> Reviewed-by: Sagar Ghuge <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13925> (cherry picked from commit af1311999313bdbb873d1995ceb2dba69355557f) - - - - - d761347e by Connor Abbott at 2022-01-12T19:54:25+00:00 ir3/ra: Fix logic bug in compress_regs_left If we're allocating a source then we force is_killed to false, not to true. Fixes a regression in dEQP-GLES31.functional.synchronization.in_invocation.image_atomic_write_read later. Fixes: 0ffcb19b9d9 ("ir3: Rewrite register allocation") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14246> (cherry picked from commit d371d807eb8bb2c6b7f199893b3824be89169811) - - - - - b57693c5 by Connor Abbott at 2022-01-12T19:54:26+00:00 ir3: Bump type mismatch penalty to 3 After some experimentation with computerator, it seems on a618 that writing a full register and then reading half of it as a half register requires a delay of 6, the same as the delay for cat5/cat6 sources. The other direction only has a delay of 5, but just bump it unconditionally out of an abundance of caution. Fixes: 890de1a4360 ("ir3/delay: Fix full->half and half->full delay") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14246> (cherry picked from commit 603791bdebda8d8e316fa18e12d72a6a16629825) - - - - - 886b86f6 by Lionel Landwerlin at 2022-01-12T19:54:26+00:00 anv: don't leave anv_batch fields undefined Because the extend_cb vfunc is not initialized, there is a risk that the emission code calls into a random pointer. Signed-off-by: Lionel Landwerlin <[email protected]> Cc: mesa-stable Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14418> (cherry picked from commit 1d40d53e03d33e0595016a95d645bd489ee95365) - - - - - 0db1699e by Yiwei Zhang at 2022-01-12T19:54:26+00:00 venus: subtract appended header size in vn_CreatePipelineCache Use header->header_size to offset cache data as well in case the header struct extends on a newer driver but the cache data was appended with an old header. Fixes: 723f0bf74a3 ("venus: initial support for module and pipelines") Signed-off-by: Yiwei Zhang <[email protected]> Reviewed-by: Chia-I Wu <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14463> (cherry picked from commit 48712b8cc5943af9c319ec4d714c00f9f5fe8825) - - - - - a332907b by Tapani Pälli at 2022-01-12T19:54:26+00:00 iris: unref syncobjs and free r/w dependencies array for slab entries Fixes memory leak with dependencies array: ==5224== 104 (96 direct, 8 indirect) bytes in 3 blocks are definitely lost in loss record 1,954 of 2,035 ==5224== at 0x484178A: malloc (vg_replace_malloc.c:380) ==5224== by 0x484670B: realloc (vg_replace_malloc.c:1437) ==5224== by 0x14DBAB9B: update_bo_syncobjs (iris_batch.c:819) ==5224== by 0x14DBADB8: update_batch_syncobjs (iris_batch.c:898) ==5224== by 0x14DBB3D5: _iris_batch_flush (iris_batch.c:1031) ==5224== by 0x14DB77D0: iris_transfer_map (iris_resource.c:2348) ==5224== by 0x157786FD: u_transfer_helper_transfer_map (u_transfer_helper.c:243) ==5224== by 0x14C479E7: tc_buffer_map (u_threaded_context.c:2252) ==5224== by 0x1434F3F8: pipe_buffer_map_range (u_inlines.h:393) ==5224== by 0x1435094A: _mesa_bufferobj_map_range (bufferobj.c:491) ==5224== by 0x143586D9: map_buffer_range (bufferobj.c:3737) ==5224== by 0x14358DA3: _mesa_MapBuffer (bufferobj.c:3947) ==5224== 240 (192 direct, 48 indirect) bytes in 6 blocks are definitely lost in loss record 1,984 of 2,035 ==5224== at 0x484178A: malloc (vg_replace_malloc.c:380) ==5224== by 0x484670B: realloc (vg_replace_malloc.c:1437) ==5224== by 0x14DBAB9B: update_bo_syncobjs (iris_batch.c:819) ==5224== by 0x14DBADB8: update_batch_syncobjs (iris_batch.c:898) ==5224== by 0x14DBB3D5: _iris_batch_flush (iris_batch.c:1031) ==5224== by 0x14FF72CC: iris_get_query_result (iris_query.c:631) ==5224== by 0x14C4396A: tc_get_query_result (u_threaded_context.c:880) ==5224== by 0x1458F4F7: get_query_result (st_cb_queryobj.c:273) ==5224== by 0x1458F7EB: st_WaitQuery (st_cb_queryobj.c:352) ==5224== by 0x144EFF66: get_query_object (queryobj.c:742) ==5224== by 0x144F01AE: _mesa_GetQueryObjectuiv (queryobj.c:811) And leak with syncobjs: ==13644== 8 bytes in 1 blocks are definitely lost in loss record 1 of 1,846 ==13644== at 0x484186F: malloc (vg_replace_malloc.c:381) ==13644== by 0x639789B: iris_create_syncobj (iris_fence.c:69) ==13644== by 0x63B213A: iris_batch_reset (iris_batch.c:512) ==13644== by 0x63B3637: _iris_batch_flush (iris_batch.c:1056) ==13644== by 0x65EF2BC: iris_get_query_result (iris_query.c:631) ==13644== by 0x623B970: tc_get_query_result (u_threaded_context.c:880) ==13644== by 0x5B874F7: get_query_result (st_cb_queryobj.c:273) ==13644== by 0x5B877EB: st_WaitQuery (st_cb_queryobj.c:352) ==13644== by 0x5AE7F66: get_query_object (queryobj.c:742) ==13644== by 0x5AE8150: _mesa_GetQueryObjectiv (queryobj.c:801) Fixes: ce2e2296ab6 ("iris: Suballocate BO using the Gallium pb_slab mechanism") Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14387> (cherry picked from commit b8f0459d6f459f45688289ff3e96a2f5a7d68c65) - - - - - d987419d by Lionel Landwerlin at 2022-01-12T19:54:26+00:00 anv: limit compiler valid color outputs using NIR variables This fixes a test from the vkd3d-proton test_dual_source_blending_dxbc test which asserts in the backend with : brw_fs_visitor.cpp:716: void fs_visitor::emit_fb_writes(): Assertion `!prog_data->dual_src_blend || key->nr_color_regions == 1' failed. This is because there is 2 color attachments provided by the renderpass so we initially set nr_color_regions = 2. But once we've parsed the shader, we can see it's only using one output (with dual source color blending). This change looks at the output variables to update the valid output variables. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14417> (cherry picked from commit 07bc6b7ed9e27ddfee558b3a5216d7a044dd3abe) - - - - - 4781087c by Danylo Piliaiev at 2022-01-12T19:54:26+00:00 tu: fix workaround for depth bounds test without depth test Fixes: bb4db22ff43a708bf80a8f72913ee493313393d1 ("turnip: apply workaround for depth bounds test without depth test") Signed-off-by: Danylo Piliaiev <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14390> (cherry picked from commit fe9c9ec83fa132b49ff08161abc0166d8ff9998c) - - - - - d33e79e5 by Lucas Stach at 2022-01-12T19:54:26+00:00 etnaviv: drm: fix size limit in etna_cmd_stream_realloc The intended limit for command stream size is 64KB, as this is what old kernels can reliably do and what allows for maximum number of queued streams on newer kernels. However, due to unit confusion with the size member, which is in dwords, the submitted streams could grow up to ~128KB. Fix this by using the proper limit in dwords. Flushing due to some limits being exceeded is not an issue, but is expected with certain workloads, so lower the severity of the message being emitted in this case to debug level. Cc: mesa-stable Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14425> (cherry picked from commit ccfd5054a4f729ece655ebb7924ed21a84aef7e5) - - - - - eec8afec by Lucas Stach at 2022-01-12T19:54:26+00:00 etnaviv: drm: properly handle reviving BOs via a lookup If a BO is removed from a cache bucket list via a lookup, we must handle it in the same way as if a allocation from the cache happened: tell valgrind that the buffer is active again and take a reference to the etna_device, which the BO had given up while being in the cache. Cc: mesa-stable Signed-off-by: Lucas Stach <[email protected]> Tested-by: Guido Günther <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14159> (cherry picked from commit 1b1f8592c03c7e98b7baf89cb4d012bb7af546ac) - - - - - a324d79e by Rhys Perry at 2022-01-12T19:54:26+00:00 aco: remove pack_half_2x16(a, 0) optimization This makes the compiler less predictable and should only have a very small effect on performance. fossil-db (Vega): Totals from 2410 (1.79% of 134756) affected shaders: CodeSize: 6911568 -> 6942840 (+0.45%) Fixes Horizon Zero Dawn artifacts. If a shader has: a = pack_half_2x16(a, 0) //rtne store(pack_half_2x16(0, b) | a) //rtne a = unpack_2x16(a).x It will become: store(pack_half_2x16(a, b)) //rtz a = unpack_2x16(pack_half_2x16(a, 0)).x //rtne So a later shader with "unpack_2x16(load()).x" will use "a" rounded to zero, while the previous shader will use "a" rounded to the nearest even. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Fixes: 2f125908b35 ("radv,aco: lower_pack_half_2x16") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14475> (cherry picked from commit 60c711833ff5302d7085521db8115b59f53cedf6) - - - - - 0d427406 by Alyssa Rosenzweig at 2022-01-12T19:54:26+00:00 gallium/util: Add pixel->blocks box helper There is a lot of unit confusion in Gallium due to pixels versus blocks matching only with uncompressed textures. Add a helper to do a common pixels->blocks unit conversion required in multiple drivers. v2: Rename dst->blocks, src->pixels to avoid confusion about the units to casual readers (Mike). Note to mesa-stable maintainers: this is marked as Cc: mesa-stable so the next patch (a set of bug fixes for Lima and Panfrost) can be backported. It's not a bug fix in its own right, of course. Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Emma Anholt <[email protected]> [v1] Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14370> (cherry picked from commit 26c533f16783aa7f01ea6f3b6f040de9c483cac7) - - - - - 8c01a6de by Alyssa Rosenzweig at 2022-01-12T19:54:26+00:00 lima,panfrost: Correct pixel vs block mismatches Different parts of our codebase disagree on whether spatial coordinates/dimensions are given in pixels or blocks, which differ by a constant factor for block-compressed formats. This disagreement manifests as incorrect results accessing block-compressed formats. To resolve this, define the public tiling routines to take their coordinates in pixels, and align the relevant code in Panfrost accordingly. Fixes rendering glitches in Factorio, as well as a pile of piglits on Panfrost. It should also fix glTexSubImage() with ETC1 on Lima, but there are no tests for this in dEQP/Piglit. Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Emma Anholt <[email protected]> Tested-by: Vasily Khoruzhick <[email protected]> [dEQP/Lima] Tested-by: Erico Nunes <[email protected]> [Piglit/Lima] Reported-by: Icecream95 <[email protected]> Closes: #5560 Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14370> (cherry picked from commit b920ace4bc79dcda7487ff98bf237e6bcdeb557e) - - - - - c3a733dd by Emma Anholt at 2022-01-12T19:54:26+00:00 nir_to_tgsi: Fix a bug in TXP detection after backend lowering. TGSI reserves 2 components for the coord in the first operand vector, even for 1D. Fixes r600 failure with shadow1d. Fixes: 390a3fcdc45e ("nir_to_tgsi: Add support for TXP.") Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14322> (cherry picked from commit 3563ae4b2d5626698145dd8d7b101d8a829c9d36) - - - - - 50c247df by Tapani Pälli at 2022-01-12T19:54:27+00:00 mesa: free idalloc storage for display lists Fixes a leak: ==46154== 48 bytes in 1 blocks are definitely lost in loss record 1,571 of 1,905 ==46154== at 0x48466AF: realloc (vg_replace_malloc.c:1437) ==46154== by 0x5FC98EC: util_idalloc_resize (u_idalloc.c:43) ==46154== by 0x5FC9C16: util_idalloc_alloc_range (u_idalloc.c:125) ==46154== by 0x56FDB9F: _mesa_EndList (dlist.c:13681) Fixes: b703d7c15f4 ("dlist: store all dlist in a continuous memory block") Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14474> (cherry picked from commit 6e9cd801a65cdb2cefa3b3f261a93250e0267480) - - - - - 4637a3bc by Tapani Pälli at 2022-01-12T19:54:27+00:00 mesa: free vbo_save_vertex_list store prims Fixes a leak: ==47470== 60 bytes in 1 blocks are definitely lost in loss record 1,790 of 1,904 ==47470== at 0x484186F: malloc (vg_replace_malloc.c:381) ==47470== by 0x58EBA6A: compile_vertex_list (vbo_save_api.c:535) ==47470== by 0x58EDABF: wrap_buffers (vbo_save_api.c:1021) ==47470== by 0x58EDF97: upgrade_vertex (vbo_save_api.c:1134) ==47470== by 0x58EE52F: fixup_vertex (vbo_save_api.c:1251) ==47470== by 0x58EFE9E: _save_Normal3f (vbo_attrib_tmp.h:315) Fixes: 69615d92a0e ("vbo/dlist: realloc prims array instead of free/malloc") Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14474> (cherry picked from commit a5bc8c4be997f9af927e44cec225492b70cb7e55) - - - - - f0595be9 by Pierre-Eric Pelloux-Prayer at 2022-01-12T19:54:27+00:00 vbo/dlist: add vertices to incomplete primitives If a primitive is added with missing vertices, this will shift all the vertices and produce incorrect rendering. In issue #5786 the app uses GL_LINE_STRIPS with a single vertex. Adding extra vertices can make the initial estimation for the index buffer size incorrect, so this buffer can now be growed if needed. Fixes: ac3d4c7635b ("vbo/dlist: convert LINE_STRIPS to LINES") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5786 Acked-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14476> (cherry picked from commit dcbf2423d284b7bf2d0dc3e622c73de00c7d5bf4) - - - - - 71cd312c by Daniel Schürmann at 2022-01-12T19:54:27+00:00 aco: validate VOP3P opsel correctly Before RA, subdword operands must use .xx After RA, opsel can either be .xx or .yy Cc: mesa-stable Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14472> (cherry picked from commit 4e2b624c1030feb1485db2df53de04611361b8bb) - - - - - bed4968a by Mike Blumenkrantz at 2022-01-12T19:54:27+00:00 zink: always unset vertex shader variant key data when changing last vertex stage ensure that vertex key data is always zeroed when changing last stage since it will be updated before draw anyway and can only cause problems if left alone here fixes the following caselist: dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader.max_tess_evaluation_texture_image_units dEQP-GLES31.functional.tessellation_geometry_interaction.feedback.tessellation_output_quads_geometry_output_points dEQP-GLES31.functional.ubo.random.all_per_block_buffers.25 cc: mesa-stable Reviewed-by: Hoe Hao Cheng <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14482> (cherry picked from commit d15ff96da2062e7a2474dd916c0090a983ea37f1) - - - - - 24a31011 by Mike Blumenkrantz at 2022-01-12T19:54:27+00:00 zink: add extra synchronization for buffer descriptor binds "most" times it isn't necessary to insert any pipeline barriers when binding descriptors, as GL requires explicit barrier usage which comes through a different codepath the exception here is when the following scenario occurs: * have buffer A * buffer_subdata is called on A * discard path is taken || A is not host-visible * stream uploader is used for host write * CmdCopyBuffer is used to copy the data back to A buffer A now has a pending TRANSFER write that must complete before the buffer is used in a shader, so synchronization is required any time TRANSFER usage is detected in a bind there's also going to be more exceptions going forward as more internal usage is added, so just remove the whole fake-barrier mechanism since it'll become more problematic going forward Cc: 21.3 mesa-stable Reviewed-by: Hoe Hao Cheng <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14496> (cherry picked from commit 3e5f4cebe81a93ed79cc1d60a38284f77e914dfe) - - - - - 33461292 by Lionel Landwerlin at 2022-01-12T19:54:27+00:00 intel/dev: fixup chv workaround We're using the wrong helper to get the subslice total count. Signed-off-by: Lionel Landwerlin <[email protected]> Fixes: c24ba6cecbacf2 ("intel/dev: Handle CHV CS thread weirdness in get_device_info_from_fd") Reviewed-by: Tapani Pälli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14492> (cherry picked from commit d6c0d1679185440a716a2fa00fe2da52f75fe7e4) - - - - - a0ed1827 by Mike Blumenkrantz at 2022-01-12T19:54:27+00:00 zink: use device-local heap for sparse backing allocations backing allocations are real allocations, so they shouldn't be initialized as sparse containers Fixes: 40fdb3212c3 ("zink: add a suballocator") Reviewed-by: Hoe Hao Cheng <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14394> (cherry picked from commit b6499dff37dd36fe130d4cc93f37ff018907f0ff) - - - - - 2435a887 by Pierre-Eric Pelloux-Prayer at 2022-01-12T19:54:27+00:00 radeonsi/gfx10: fix si_texture_get_offset for mipmapped tex Pitch can be different per-level so adjust stride and offset. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5792 Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14454> (cherry picked from commit 2f8982df0e7705e1a43e218dd67b684d70c05d31) - - - - - 89ed84a0 by Roman Stratiienko at 2022-01-12T20:59:00+00:00 v3dv: Hotfix: Rename remaining V3DV_HAS_SURFACE->V3DV_USE_WSI_PLATFORM This was somehow missed by me and during review. Fixes fcfc4ddfccd5: ("v3dv: Fix V3DV_HAS_SURFACE preprocessor condition") Signed-off-by: Roman Stratiienko <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14190> (cherry picked from commit 2cbbfd23cec2f5de607af680e415030a0acd6f9f) - - - - - 597766f0 by Ian Romanick at 2022-01-12T21:05:14+00:00 i965: Disable EXT_texture_integer on Gfx4 and Gfx5 st_init_extensions (src/mesa/state_tracker/st_extensions.c) already enforces the GLSL 1.30 or EXT_gpu_shader4 requirement, so Crocus will already behave this way on this hardware. The EXT_texture_integer spec says: NV_gpu_program4 or EXT_gpu_shader4 is required. Without one of these extensions or GLSL 1.30, it is impossible to read integer values from a texture. The spec also says: This extension does not enforce type consistency for texture accesses or between fragment shaders and the corresponding framebuffer attachments. The results of a texture lookup from an integer texture are undefined: * for fixed-function fragment processing, or * for shader texture accesses expecting floating-point return values. The color components used for per-fragment operations and written into a color buffer are undefined: * for fixed-function fragment processing with an integer color buffer, * for fragment shaders that write floating-point color components to an integer color buffer, or * for fragment shaders that write integer color components to a color buffer with floating point or normalized integer components. So it's really a soft requirement, but also kind of rude to expose the extension without a way to use it properly. Closes: #4497 CC: mesa-stable - - - - - e03911b2 by Eric Engestrom at 2022-01-12T21:32:23+00:00 docs: add release notes for 21.3.4 - - - - - bfe18835 by Eric Engestrom at 2022-01-12T21:32:28+00:00 VERSION: bump for 21.3.4 - - - - - 1a04ade4 by Timo Aaltonen at 2022-01-13T14:13:07+02:00 Merge branch 'upstream-unstable' into debian-unstable - - - - - 2a4db2d8 by Timo Aaltonen at 2022-01-13T14:14:23+02:00 version bump - - - - - bd42231d by Timo Aaltonen at 2022-01-13T14:15:19+02:00 freedreno-afuc-Disable-the-disassembler-on-32-bit-bu.diff: Dropped, upstream. - - - - - 85084fa2 by Timo Aaltonen at 2022-01-13T14:19:26+02:00 Build with llvm-13 again. - - - - - 8f45b386 by Timo Aaltonen at 2022-01-13T14:35:52+02:00 release to sid - - - - - 30 changed files: - .pick_status.json - VERSION - debian/changelog - debian/control - − debian/patches/freedreno-afuc-Disable-the-disassembler-on-32-bit-bu.diff - debian/patches/series - debian/rules - + docs/relnotes/21.3.4.rst - src/amd/compiler/aco_instruction_selection.cpp - src/amd/compiler/aco_ir.cpp - src/amd/compiler/aco_validate.cpp - src/amd/vulkan/radv_device.c - src/amd/vulkan/radv_image.c - src/amd/vulkan/radv_private.h - src/amd/vulkan/radv_query.c - src/broadcom/vulkan/v3dv_device.c - src/compiler/glsl/glcpp/glcpp-parse.y - src/compiler/glsl/glcpp/glcpp.h - src/etnaviv/drm/etnaviv_bo.c - src/etnaviv/drm/etnaviv_cmd_stream.c - src/freedreno/afuc/meson.build - src/freedreno/ir3/ir3_delay.c - src/freedreno/ir3/ir3_ra.c - src/freedreno/vulkan/tu_cmd_buffer.c - src/gallium/auxiliary/nir/nir_to_tgsi.c - src/gallium/auxiliary/util/u_box.h - src/gallium/drivers/crocus/crocus_resource.c - src/gallium/drivers/etnaviv/etnaviv_context.c - src/gallium/drivers/freedreno/freedreno_util.h - src/gallium/drivers/i915/i915_screen.c The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/0c5681aaf57a72a563750d1327cef84ecd6d3a9a...8f45b38694f7a5d844d1edcaa4e1f91d0dfbb472 -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/0c5681aaf57a72a563750d1327cef84ecd6d3a9a...8f45b38694f7a5d844d1edcaa4e1f91d0dfbb472 You're receiving this email because of your account on salsa.debian.org.

