URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb34c486441245b813f6945683f46c829b37dc4a
Author: Rhys Perry <[email protected]>
Date: Fri Feb 11 19:19:45 2022 +0000
aco: don't move exec reads around exec writes
Fixes flickering and blocky plants in Jedi: Fallen Order.
Also fixes flickering squares in The Last of Us Part 1.
fossil-db (navi21):
Totals from 92 (0.07% of 135636) affected shaders:
Instrs: 35324 -> 35354 (+0.08%); split: -0.03%, +0.11%
CodeSize: 189568 -> 189668 (+0.05%); split: -0.03%, +0.08%
Latency: 345305 -> 346529 (+0.35%); split: -0.02%, +0.37%
InvThroughput: 78632 -> 78625 (-0.01%)
SClause: 1955 -> 1972 (+0.87%); split: -0.61%, +1.48%
Copies: 1311 -> 1304 (-0.53%); split: -0.69%, +0.15%
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Timur Kristóf <[email protected]>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8883
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8878
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22696>
(cherry picked from commit 5e20fbd424543d2c919c8baae247f0d909659640)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb351830e354b589e5f135a6daf03c651ef579a3
Author: Pavel Ondračka <[email protected]>
Date: Wed Apr 26 10:18:20 2023 +0200
r300: fix unconditional KIL on R300/R400
0: KIL -none.1111
Negate is not allowed for texturing opcodes, so the incorrect swizzle
was detected, however later optimization, where we try to rewrite incorrect
swizzles from constant (immediate) registers by adding a new ones with
correct order was interfering and not handling this correctly, so we
ended with
CONST[0] = { -1.0000 -1.0000 -1.0000 -1.0000 }
0: KIL const[0].xyz-w;
Even if it would get the swizzle right, texturing opcodes can't read from
constant registers, so just skip it and let this be handled by a later
part which inserts an extra mov instead.
Signed-off-by: Pavel Ondračka <[email protected]>
Reviewed-by: Filip Gawin <[email protected]>
Fixes: a8e1e5b5c2aeb7c2fb4eff2203a026090f0853b9
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22704>
(cherry picked from commit db6c3cd13ded5c4a89fb8dbfaef714432b8e1ed9)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=08f1cda8f3c14fda688b3cd9bc5885ef9dcfc208
Author: Rhys Perry <[email protected]>
Date: Tue Apr 25 21:13:11 2023 +0800
ac/nir/ps: fix null export write mask miss set to 0xf
Fixes: c1821544562 ("ac/nir: add ac_nir_lower_ps")
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Qiang Yu <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199>
(cherry picked from commit 01f4addc18eb49838faa3b905abf79b05e72f07b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd8aa74e4e662c5b877f296d78a8fc29abdb4623
Author: Charmaine Lee <[email protected]>
Date: Thu Apr 13 00:13:04 2023 +0300
svga: set PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY for VGPU10 device
Instead of forcing vertex buffer stride to be 4 byte aligned only,
DX10 actually allows the stride to be non 4-byte aligned but the
alignment of an element must be the nearest power of 2 greater or equal to
the
width of the element's format, or 4, whichever is less. So the requirement
is
better met with PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY which if set to
TRUE, the sum of vertex element offset + vertex buffer offset + vertex
buffer
stride must be aligned to the vertex attributes component size.
Note: PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY cannot be set
with other alignment-requiring CAPs, so we have to return 0 for all the
other alignement CAPs.
This avoids some unnecessary software vertex translate fallback.
cc: mesa-stable
Reviewed-by: Jose Fonseca <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22689>
(cherry picked from commit c661f38342dfb235ff8e1283e5d3c16d432e7ca4)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0070778702c0a806df74ec5485c9962a12c9209
Author: Daniel Schürmann <[email protected]>
Date: Tue Apr 25 16:12:19 2023 +0200
radv/rt: properly destroy radv_ray_tracing_lib_pipeline on error
Also return the correct error code.
Fixes: 4dafb69d61820c4a9b71856e62797b51f13df91c ('radv/rt: defer
library_pipeline allocation')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22684>
(cherry picked from commit 2795cf7422d4246a0b514975c8f7099271287466)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=09ca42e17d4c98e1e4a2ba543c1be5c9826179a3
Author: Patrick Lerda <[email protected]>
Date: Wed Mar 8 21:27:57 2023 +0100
aux/draw: fix memory leak related to ureg_get_tokens()
Indeed, the function nir_to_tgsi() returns an ureg_get_tokens() allocated
object which is assigned locally. The ureg_get_tokens() allocated object
should be freed.
For instance, this issue is triggered with a llvm enabled lima,
"piglit/bin/gl-1.0-rendermode-feedback -auto -fbo":
Direct leak of 512 byte(s) in 1 object(s) allocated from:
#0 0x7faeaa4500 in __interceptor_realloc
(/usr/lib64/libasan.so.6+0xa4500)
#1 0x7fa4a88f1c in tokens_expand
../src/gallium/auxiliary/tgsi/tgsi_ureg.c:239
#2 0x7fa4a88f1c in get_tokens
../src/gallium/auxiliary/tgsi/tgsi_ureg.c:262
#3 0x7fa4a900f4 in copy_instructions
../src/gallium/auxiliary/tgsi/tgsi_ureg.c:2079
#4 0x7fa4a900f4 in ureg_finalize
../src/gallium/auxiliary/tgsi/tgsi_ureg.c:2129
#5 0x7fa4a91dfc in ureg_get_tokens
../src/gallium/auxiliary/tgsi/tgsi_ureg.c:2206
#6 0x7fa4b20a2c in nir_to_tgsi_options
../src/gallium/auxiliary/nir/nir_to_tgsi.c:4011
#7 0x7fa4a0c914 in draw_create_vertex_shader
../src/gallium/auxiliary/draw/draw_vs.c:77
Fixes: b5e782f5f431 ("aux/draw: use nir_to_tgsi for draw shader in llvm
path")
Signed-off-by: Patrick Lerda <[email protected]>
Reviewed-by: Emma Anholt <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21924>
(cherry picked from commit 6a8e6716acda67921508021ab6ecf1db63ed36c0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d01f8cef97c59db28555e8350188c58b606340e
Author: Friedrich Vock <[email protected]>
Date: Mon Apr 17 16:19:11 2023 +0200
radv: Don't leak the RT prolog binary
Fixes: 063d0c90 ("radv: Combine all the parts together with a main loop for
an RT pipeline.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22535>
(cherry picked from commit b73e2df47a6e8c03ac6556200ffbc22bbed26a5e)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2bb0d12c7c1ab16448a66b6370c68497b3187d9
Author: Friedrich Vock <[email protected]>
Date: Mon Apr 17 16:14:50 2023 +0200
radv/rt: Plug some memory leaks during shader creation
nir_inline_function actually clones instructions instead of moving them.
Free the shaders explicitly after inserting them instead.
Fixes: 207ce6d658 ("radv: Add helper to inline shaders into the main
shader.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22535>
(cherry picked from commit 23c2dbd6ba8d526e9c50ff1ae80f7f4c145f8931)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6660976a502fd5048797e0ffb3691734ad3aa5a2
Author: M Henning <[email protected]>
Date: Tue Apr 25 01:41:03 2023 -0400
nouveau/codegen: Check nir_dest_num_components
instead of reaching into a union and pulling out garbage when
the dest is a reg
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8863
Reviewed-by: Karol Herbst <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22674>
(cherry picked from commit d49c7b958214e551e10d09be300c5cdaf951315d)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd01506a7d11a25b38dea030dccb4d4966594d9c
Author: Rob Clark <[email protected]>
Date: Mon Apr 24 15:11:09 2023 -0700
freedreno: Fix resource tracking vs rebind/invalidate
We can now no longer rely on certain dirty bits to re-trigger draw time
resource tracking. We need to use the new fd_dirty*_resource() APIs.
Fixes `org.skia.skqp.SkQPRunner#gles_recordopts` on android 9.
Fixes: 0a62a874fc5 ("freedreno: Re-work dirty-resource tracking")
Signed-off-by: Rob Clark <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22683>
(cherry picked from commit d437e389e04bfca9276b5a1a049a7cfa5e6c1f89)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5304cc458ae90deec92115455c41afe3aabcb5cb
Author: Friedrich Vock <[email protected]>
Date: Mon Apr 17 16:18:37 2023 +0200
radv/rmv: Fix import memory
For some import memory, it is valid to specify zero size.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22532>
(cherry picked from commit 7cad28571bfe10ce3f7d5db08926c1577524fb86)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=11f04494f49b82f669e52115a4ac8d3b44433fe2
Author: Friedrich Vock <[email protected]>
Date: Mon Apr 17 16:16:27 2023 +0200
radv/rmv: Fix creating RT pipelines
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22532>
(cherry picked from commit fd389ade5c00f43c8a2abfaf82677e5ceaf8bb97)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=12f268ce764e310a632751b04a694408b43493e7
Author: antonino <[email protected]>
Date: Tue Apr 25 12:29:35 2023 +0200
zink: fix store subsitution in `lower_pv_mode_gs_store`
Previously it was assumed that between the and the variable there was
only one deref.
To handle all cases a new function is introduced that recreates a chain
of derefs.
Fixes: 5a4083349f3 ("zink: add provoking vertex mode lowering")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22678>
(cherry picked from commit 39770c6503ac44090decd88698802bb95189bb4d)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=69c8dd1148804c5a0dd38ef9a52a11656a79d60d
Author: Tapani Pälli <[email protected]>
Date: Mon Apr 24 13:11:48 2023 +0300
anv: implement state cache invalidate for Wa_16013063087
Cc: mesa-stable
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>
(cherry picked from commit e501b31e159d3b4e7ced3263a219f25a44cb02d0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e25fb4861fcc7f58ccdbed94b595767b5777ba7
Author: Tapani Pälli <[email protected]>
Date: Mon Apr 24 13:10:31 2023 +0300
anv: cleanup bitmask construction for PIPELINE_SELECT
Cc: mesa-stable
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>
(cherry picked from commit 72fc56aa37ab683b31731cdd6542071b1a047db3)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=09855bdbdb4143776d748031502fbcee8ae228bb
Author: Tapani Pälli <[email protected]>
Date: Mon Apr 24 08:52:28 2023 +0300
iris: implement state cache invalidate for Wa_16013063087
Cc: mesa-stable
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>
(cherry picked from commit 5e5ca30785a2c5538d04b714baae05db9a0eab32)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b42530f8077fa8ca78968a3d6cfd24ec02a583ed
Author: Mike Blumenkrantz <[email protected]>
Date: Thu Apr 20 10:33:27 2023 -0400
llvmpipe: do late init for llvm builder
this avoids doing any llvm work during lavapipe enumeration which
might otherwise explode if lavapipe is not the actual driver that
gets used
cc: mesa-stable
Reviewed-by: Roland Scheidegger <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600>
(cherry picked from commit 6d5462658a11cede031e9e525c87a30a8f5927af)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=197f5a932d8b88b7d3357d2c8d07e2060a98f14c
Author: Mike Blumenkrantz <[email protected]>
Date: Fri Apr 21 10:56:44 2023 -0400
gallivm: break out native vector width calc for reuse
breaks dependency on lp_build_init()
cc: mesa-stable
Reviewed-by: Roland Scheidegger <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600>
(cherry picked from commit 4a056807bc3b813f390d194bbe382b573761649e)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbb5d66465579688045b99101a52affa3c808cd0
Author: Emma Anholt <[email protected]>
Date: Thu Apr 20 16:12:57 2023 -0700
util/log: Fix log messages over 1024 characters.
The first attempt at the sprintf would have consumed part of va, so if
we're going to recurse on overflow to try again in a new allocation then
we have to do our work on a copy.
This was a common failure mode for MESA_GLSL=source, where it would just
print:
Mesa: info: GLSL source for fragment shader 1:
Mesa: info: (null)
Fixes: 7a18a1712a0a ("util/log: improve logger_file newline handling")
Reviewed-by: Chia-I Wu <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22618>
(cherry picked from commit 7f99cbf25e2d760cba70e210523a988df0f6b41a)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=91cc6b1a5b5d6a238956bacfa3b447d0c01afec1
Author: Emma Anholt <[email protected]>
Date: Thu Apr 20 14:57:41 2023 -0700
blob: Don't valgrind assert for defined memory if we aren't writing.
The VK pipeline cache passes a NULL bytes with a nonzero size to a
NULL-data blob to set up the size of the blob. In this case, we don't
actually execute the memcpy, so the non-existent "bytes" doesn't need to
have defined contents. Avoids a valgrind warning:
==972858== Unaddressable byte(s) found during client check request
==972858== at 0x147F4166: blob_write_bytes (blob.c:165)
==972858== by 0x147F4166: blob_write_bytes (blob.c:158)
==972858== by 0x14695FFF: vk_pipeline_cache_object_serialize
(vk_pipeline_cache.c:240)
[...]
==972858== Address 0x0 is not stack'd, malloc'd or (recently) free'd
Fixes: 591da9877900 ("vulkan: Add a common VkPipelineCache implementation")
Reviewed-by: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22617>
(cherry picked from commit ae2784b83232548d62eb488e82a3a4315de50300)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f910529502843e3a65ad7b5d49da6cbd8dfefcf4
Author: Eric Engestrom <[email protected]>
Date: Wed Apr 26 16:39:41 2023 +0100
.pick_status.json: Update to 3f14fd8578549e34db2f564396f300819b2ff10f