-
64552db2
by Eric Engestrom at 2025-02-19T17:20:22+01:00
docs: add sha sum for 25.0.0
-
5c84fff0
by Eric Engestrom at 2025-02-21T17:04:38+01:00
.pick_status.json: Update to b331713f20148852370a4fae5c2830d46801eb3b
-
97eb3f5c
by James Hogan at 2025-02-21T17:04:41+01:00
mesa: Consider NumViews to reuse FBO attachments
NumViews needs considering along with the other attachment data when
reusing a multiview framebuffer texture attachment (i.e. shared depth
and stencil texture).
The depth and stencil attachments should match in all respects including
NumViews before reusing the existing one, and NumViews should also be
copied when reusing.
This avoids an infinite recursion between zink_clear() and
zink_clear_depth_stencil() in the case of reuse of a multiview
depth/stencil attachment.
Fixes: 328c29d6007 ("mesa,glsl,gallium: add GL_OVR_multiview")
Signed-off-by: James Hogan <james@albanarts.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32992>
(cherry picked from commit 65f18c47874262937a77faf318eecc789951d121)
-
b0a3bb0d
by James Hogan at 2025-02-21T17:04:42+01:00
mesa: Handle GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR
The OVR_multiview spec adds the following condition for framebuffer
completeness:
"The number of views is the same for all populated attachments.
{ FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR }"
So add a condition to _mesa_test_framebuffer_completeness to check that
all attachments have identical NumViews. This avoids an infinite
recursion between zink_clear() and zink_clear_depth_stencil() in the
event of an incomplete FBO.
Fixes: 328c29d6007 ("mesa,glsl,gallium: add GL_OVR_multiview")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: James Hogan <james@albanarts.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32992>
(cherry picked from commit 7819d322c4dd0cc83046b94e6271e5cbf22712a4)
-
280d2fee
by James Hogan at 2025-02-21T17:04:43+01:00
mesa: Check views don't exceed GL_MAX_ARRAY_TEXTURE_LAYERS
The OVR_multiview spec specifies the INVALID_VALUE error to be generated
by FramebufferTextureMultiviewOVR if:
"- <texture> is a two-dimensional array texture and <baseViewIndex> +
<numViews> is larger than the value of MAX_ARRAY_TEXTURE_LAYERS."
Implement this in check_multiview_texture_target(), similar to the test
in check_layer().
Fixes: 328c29d6007 ("mesa,glsl,gallium: add GL_OVR_multiview")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: James Hogan <james@albanarts.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32992>
(cherry picked from commit 60509e187f3704988e476d9d44d9a0ff206211e7)
-
d24eac89
by James Hogan at 2025-02-21T17:04:44+01:00
mesa: OVR_multiview framebuffer attachment parameters
Implement the OVR_multiview framebuffer attachment parameters in
get_framebuffer_attachment_parameter():
- GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: This reads the
attachment's NumViews.
- GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: This reads the
attachment's Zoffset, but only if NumViews is non-zero.
This allows apitrace (PR 937[1]) to show the correct layers for
multiview framebuffer attachment surfaces, as well as to show this
information in the framebuffer attachments state.
[1]: https://github.com/apitrace/apitrace/pull/937
Fixes: 328c29d6007 ("mesa,glsl,gallium: add GL_OVR_multiview")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: James Hogan <james@albanarts.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32992>
(cherry picked from commit a282a130fb3c5b3bcd4adc7706457566d7ffc21c)
-
b3412034
by James Hogan at 2025-02-21T17:04:45+01:00
mesa: Handle getting GL_MAX_VIEWS_OVR
Add support for GL_OVR_multiview's GL_MAX_VIEWS_OVR which can be
accessed with glGetIntegerv().
MaxViews is accessed via the hash table set up by get_hash_params.py as
a constant (MAX_VIEWS_OVR) using GL_MAX_VIEWS_OVR.
v2: Add this patch (thanks to Mike's guidance)
v3: Drop unnecessary enum size element in OVR_multiview.XML
v4: Switch to CONST(MAX_VIEWS_OVR) instead of gl_constants::MaxViews
(Marek's suggestion)
Fixes: 328c29d6007 ("mesa,glsl,gallium: add GL_OVR_multiview")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: James Hogan <james@albanarts.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32992>
(cherry picked from commit be106bd6c6da273ae487898eae38dc0d48ce6839)
-
7b38cf8b
by Lorenzo Rossi at 2025-02-21T17:04:46+01:00
nvk: Fix MSAA sparse residency lowering crash
Previously deqp tests with *.multisampled_image_sparse_residency.* would
crash with "Unknown image intrinsic" because
nir_intrinsic_bindless_image_sparse_load was not handled in the lowring
code.
This commits handles MSAA sparse residency lowering as with other cases.
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com>
Fixes: 7604697ec61 ("nvk: Implement shaderStorageImageMultisample")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33625>
(cherry picked from commit bce9e851c6ffaee5bbb3ccbbb846fb93f89d71fc)
-
5e76850c
by Iago Toral Quiroga at 2025-02-21T17:04:49+01:00
pan/va: fix FAU validation
Validation was checking that if an instruction was accessing FAU RAM,
only one 64-bit slot was accessed, and if it was accessing a FAU special
value, only one was accessed, however it was not checking if both RAM
and special were used, which is only allowed in messaging instructions
except ATEST and BLEND.
Fixes Piglit:
spec/ati_fragment_shader/ati_fragment_shader-render-ops/mov c0.r
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Fixes: fd1906afea59 ("pan/va: Add FAU validation")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33608>
(cherry picked from commit e504825813d227100de4c8c07e83e9130b0bc831)
-
5b8b8161
by Samuel Pitoiset at 2025-02-21T17:04:51+01:00
radv/video: fix adding the query pool BO to the cmdbuf list
Video queries work differently but the BO still need to be added to the
cmdbuf list.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33620>
(cherry picked from commit 5ba10cc57f8401d1fbd94d274a0c2831be42375e)
-
d2c5c717
by Pierre-Eric Pelloux-Prayer at 2025-02-21T17:04:53+01:00
tc: add missing TC_SENTINEL for TC_END_BATCH
Fixes: c2983d93dac ("gallium/u_threaded: use TC_END_BATCH to terminate the loop")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33552>
(cherry picked from commit a893a876256aae3c83e008150646d030e2e30280)
-
ace41449
by Pierre-Eric Pelloux-Prayer at 2025-02-21T17:04:55+01:00
mesa/st: call _mesa_glthread_finish before _mesa_make_current
_mesa_make_current will use st_flush(ctx) to execute pending
commands before switching to the new context.
Since we can't have multiple threads using a pipe_context at
the same time, we must finish glthread to avoid having the
unmarshalling thread executing at the same time.
It's fixing random crashes where a thread would do:
st_destroy_context ->
_mesa_make_current ->
st_glFlush(save_ctx) ->
tc_execute_batch
While there's a glthread unmarshalling thread that's still
adding commands to TC.
Fixes: 08d97aadd14 ("st/mesa: fix texture deletion context mix-up issues (v2)")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33552>
(cherry picked from commit f062c83f3aa5a5b086914fec929cab681eb4b85d)
-
85fb4b4d
by Juan A. Suarez Romero at 2025-02-21T17:04:56+01:00
v3dv: duplicate key for texel_buffer cache
We can't use the local variable key to insert in the hashtable, as the
key needs to be persistent for future searches.
This makes a copy of the key in the pipeline, which is kept persistent
in the hashtable.
This fixes a stack-buffer-overflow.
Backport-to: 25.0
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33630>
(cherry picked from commit eb8017ca68fd23d7cafe45a1754a1fd65b42e815)
-
651b27cf
by Juan A. Suarez Romero at 2025-02-21T17:05:49+01:00
broadcom/simulator: use string copy instead of memcpy
Using memcpy with the max size generates a global-buffer-overflow, as
the performance counter strings are smaller than the max size.
Instead, use a string copy function to get a copy.
This was detected with address sanitizer enabled and running vulkaninfo.
Fixes: 3e8b2fe053a ("broadcom/simulator: Add DRM_IOCTL_V3D_GET_COUNTER to simulator")
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33627>
(cherry picked from commit 2d91798561e025606c82c54b5011e91be776eea2)
-
43851b68
by Roland Scheidegger at 2025-02-21T17:06:22+01:00
llvmpipe: Fix alpha-to-coverage without dithering
Implementing alpha-to-coverage dithering broke the non-dithering case.
(Discovered by accident, not really a big deal since it's almost always
enabled and can only be disabled by using a Nvidia GL extension, and
can't be disabled with Vulkan.)
Fixes: ad4635d6ef05
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33586>
(cherry picked from commit 61911b6a4b627bafe8ea936d48c7b1ea62aeaafe)
-
ff0f49e0
by Faith Ekstrand at 2025-02-21T17:06:39+01:00
nak: Only use suld.constant on Ampere+
Turing doesn't support it so we'll use suld.weak instead. While we're
here, get rid of an accidental copy+paste condition.
Fixes: ffdc0d8e98ee ("nak: Use suld.constant when ACCESS_CAN_REORDER is set")
Reviewed-by: Mel Henning <drawoc@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33649>
(cherry picked from commit 13f7ea7b3d0f6855ecd3612c11548d7b748970d3)
-
ce12f4c6
by Karol Herbst at 2025-02-21T17:06:47+01:00
rusticl/mem: set num_samples and num_mip_levels to 0 when importing from GL
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33653>
(cherry picked from commit e0b62d7e2e52bb61f6da50a0f17ff32a7f7f57c7)
-
3055ca6f
by Faith Ekstrand at 2025-02-21T17:06:48+01:00
zink: Use the correct array size for signal_values[]
When the size of the signals[] array was changed to 3, the
signal_values[] array was not updated accordingly. If we have a
signal_semaphore and are presenting at the same time, this can lead to
an array overflow and the driver will read some random stack value as
the signal value. This is causing chromium to lock up when running
WebGL.
Fixes: 7f56fd965504 ("zink: it's kopperin' time")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33549>
(cherry picked from commit 1ffa782227912fbab4ada0902fc71487acad2150)
-
275a14e3
by Faith Ekstrand at 2025-02-21T17:06:57+01:00
zink: Use persistent semaphores for PIPE_FD_TYPE_SYNCOBJ
These are persistant objects that you can use to signal and wait over.
We need to import without VK_SEMAPHORE_IMPORT_TEMPORARY_BIT and we can't
throw away the Vulkan semaphore after each submit.
Fixes: 32597e116d73 ("zink: implement GL semaphores")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33549>
(cherry picked from commit 651864151f1c6604faa84544c6064af47843eb18)
-
33f1bbed
by Erik Faye-Lund at 2025-02-21T17:07:26+01:00
mesa/main: wire up glapi bits for EXT_multi_draw_indirect
Turns out we were missing the glapi bits, making it impossible to use get
the function pointers for this extension. Whoops?!
[daniels: Squashed in a618 SkQP fails, presumably caused by these not
being skipped anymore.]
Fixes: 9f5af689952 ("mesa/main: expose `EXT_multi_draw_indirect`")
Reviewed-by: Antonino Maniscalco <antomani103@gmail.com>
Tested-by: Chris Healy <healych@amazon.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33546>
(cherry picked from commit fde6aeb886e1f7d6c5ffac0a1608b5b199cf612d)
-
c4d64f9f
by Daniel Schürmann at 2025-02-21T17:07:28+01:00
aco/scheduler: always respect min_waves on GFX10+
It could theoretically happen that for large workgroups,
the scheduler used more registers than allowed.
No fossil changes.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33644>
(cherry picked from commit 676b39d31f72a7590aa097d03507b0da97baa713)
-
7b2a0da2
by Mike Blumenkrantz at 2025-02-21T17:07:29+01:00
zink: wait on tc fence before checking for fd semaphore
this forces sync with pending flushes
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33652>
(cherry picked from commit f7002369facc1b5e5919e97060dcba65128206dc)
-
a2fd6237
by Eric Engestrom at 2025-02-27T18:37:25+01:00
.pick_status.json: Update to 55c476efed01121b3a64a58c304aae8ef9a79475
-
1ce4feb1
by Dave Airlie at 2025-02-27T18:37:26+01:00
vulkan/wsi/x11: don't use update_region for damage if not created
If we don't have a region in the X no MIT-SHM case don't go using
the damage call set region.
Fixes: bbdf7e45b15f ("wsi/x11: Hook up KHR_incremental_present")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33592>
(cherry picked from commit c49423ca2ce497bc878fe5b64ee0b7d547bf52fb)
-
33a7ae1f
by Karol Herbst at 2025-02-27T18:37:27+01:00
rusticl/platform: advertise all extensions supported by all devices
There is a spec issue about this to clarify this behavior, but the current
wording can be interpreted that the platform always lists all extensions
supported by all drivers.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33667>
(cherry picked from commit 0fd70ee9def4fd173404f6755ba3a8b27f6796f6)
-
1bb39be7
by Daniel Schürmann at 2025-02-27T18:37:28+01:00
aco/insert_exec_mask: Don't immediately set exec to zero in break/continue blocks
Instead, only indicate that exec should be zero and do
so in the successive helper block. This allows to insert
the parallelcopies from logical phis directly before the
branch in break and continue blocks.
Totals from 56 (0.07% of 79377) affected shaders: (Navi31)
Latency: 2472367 -> 2472422 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 253053 -> 253055 (+0.00%); split: -0.00%, +0.00%
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33527>
(cherry picked from commit 7f7c1d463a11459b7159b5455920ab0a00923ba7)
-
4118fef5
by Daniel Schürmann at 2025-02-27T18:37:29+01:00
aco/insert_exec_mask: don't restore exec in continue_or_break blocks
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33527>
(cherry picked from commit 115ff5f95b00e76a28b3f4f1622ccc5e2a64230c)
-
f9c34999
by Daniel Schürmann at 2025-02-27T18:37:30+01:00
aco/ssa_elimination: insert parallelcopies for p_phi immediately before branch
Totals from 2499 (3.15% of 79377) affected shaders: (Navi31)
Instrs: 6011729 -> 6011761 (+0.00%); split: -0.00%, +0.00%
CodeSize: 31573216 -> 31574236 (+0.00%); split: -0.00%, +0.00%
Latency: 83364734 -> 83365781 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 13545643 -> 13545783 (+0.00%); split: -0.00%, +0.00%
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33527>
(cherry picked from commit 302678df91e4441dbec1ae08e0f639a39444b746)
-
36e19232
by Rhys Perry at 2025-02-27T18:37:30+01:00
ac/nir: fix tess factor optimization when workgroup barriers are reduced
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: b49eab68a867 ("ac/nir: use s_sendmsg(HS_TESSFACTOR) to optimize writing tess factors for gfx11")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12632
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33645>
(cherry picked from commit 2a3dce1b59ae53795364e16b49d347e7316f8aab)
-
cb09b3f6
by Georg Lehmann at 2025-02-27T18:37:31+01:00
aco/insert_exec: fix continue_or_break on gfx6-7
s_cmp_lg_u64 is gfx8+
Fixes: 115ff5f95b0 ("aco/insert_exec_mask: don't restore exec in continue_or_break blocks")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33715>
(cherry picked from commit c249556bf4e29532f1bd8699d8cbe2287ae25182)
-
ea47f988
by Natalie Vock at 2025-02-27T18:37:32+01:00
radv/rt: Don't allocate the traversal shader in a capture/replay range
We never write the traversal shader address out to shader group handles,
so this is not necessary. On the flipside, it can cause conflicts if the
traversal shader is allocated in a range occupied by a replayed shader.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33711>
(cherry picked from commit 14b902c825251c290e31590385de7490c1035839)
-
7013ebec
by Faith Ekstrand at 2025-02-27T18:37:32+01:00
nvk: Don't bind a fragment shading rate image pre-Turing
Fixes: 75bcb656d9c1 ("nvk: Add support for binding fragment shading rate images")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33716>
(cherry picked from commit c14514787101b634c08d15e669b4b56154bbe60c)
-
1f2143ee
by Faith Ekstrand at 2025-02-27T18:37:33+01:00
nvk: Do not set INVALIDATE_SKED_CACHES pre-MaxwellB
The other two uses of this are behind guards but we forgot this one.
Fixes: 976f22a5da30 ("nvk: Implement CmdProcess/ExecuteGeneratedCommandsEXT")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33716>
(cherry picked from commit 58218c734973f632edd7927994aa2b6e01bd6b31)
-
539f0d88
by Peyton Lee at 2025-02-28T22:17:34+01:00
radeonsi/vpe: check reduction ratio
Check the reduction ratio is within the hardware capablity.
Signed-off-by: Peyton Lee <peytolee@amd.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33528>
(cherry picked from commit e85a6b6a63a6e30072ffb1bd423c51d14d3f9ab9)
-
20bb9827
by Samuel Pitoiset at 2025-02-28T22:17:34+01:00
radv: fix missing SQTT barriers for fbfetch color/depth decompressions
SQTT layout transitions need to be inside SQTT barrier. Otherwise, this
throws an assertion in RADV and might also crash when the capture is
opened with RGP.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12664
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33719>
(cherry picked from commit 67c150bf9e4bd2aa697e84983500eab3546259df)
-
1b6da4ed
by Hans-Kristian Arntzen at 2025-02-28T22:17:34+01:00
radv: Always set 0 dispatch offset for indirect CS.
Fixes severe glitching in Avowed.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33732>
(cherry picked from commit 13a3f9a972324a72dd507e09ac975b969e6c88e0)
-
11faa02e
by Dylan Baker at 2025-02-28T22:17:34+01:00
iris: Correctly set NOS for geometry shader state changes
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Backport-to: 25.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33658>
(cherry picked from commit 0477ee660f20964d5550dbcb147fc5899bef229f)
-
db51d8f8
by Dylan Baker at 2025-02-28T22:17:35+01:00
iris: fix handling of GL_*_VERTEX_CONVENTION
By actually setting the state packets according to the program data.
Also ensure that we correctly flag that the program may be dirty when
the geometry shader state changes
Fixes piglit tests: `spec@!opengl 3.2@gl-3.2-adj-prims * pv-first`
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Backport-to: 25.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33658>
(cherry picked from commit c33ebf09f5e6638481b28db3ec3bb3f73d1537ea)
-
16dfadd3
by Benjamin Lee at 2025-02-28T22:17:35+01:00
panfrost: remove NIR_PASS_V usage for noperspective lowering
The rest of the NIR_PASS_V usage in panfrost was dropped in
34beb93635620da237d0fc56ab485ec2138e1ca4, but this one was added in an
MR that was merged after.
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Fixes: 081438ad397 ("panfrost: add nir pass to lower noperspective varyings")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33728>
(cherry picked from commit 3b5d5c072a2e57c3a0b395711eba0cad52fa4aaa)
-
3630721d
by Lionel Landwerlin at 2025-02-28T22:17:35+01:00
anv: fix missing 3DSTATE_PS:Kernel0MaximumPolysperThread programming
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 815d2e3e8b ("anv: move 3DSTATE_PS to partial packing")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33712>
(cherry picked from commit 91f36ba5b6474f5508403c7b7010f4fd54ebae39)
-
f8e7fecd
by Tapani Pälli at 2025-02-28T22:17:35+01:00
iris: wait for imported fences to be available in iris_fence_await
This ensures shared fence is available before we submit (and fail)
a batch with it, this fixes following issue on iris driver:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/12650
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33662>
(cherry picked from commit 41a7b58214d11ca870682a81351ef491db6fcffa)
-
13b2f1e7
by Yogesh Mohan Marimuthu at 2025-02-28T22:17:35+01:00
winsys/amdgpu: same_queue variable should be set if there is only one queue
Fixes: 45fa34284fd ("winsys/amdgpu: don't add fence dependency of other queues for userq")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33661>
(cherry picked from commit 659a41293b034631332bba232b0a076ea2b499ff)
-
ce3806b8
by Mike Blumenkrantz at 2025-02-28T22:17:35+01:00
zink: always fully unwrap contexts
threaded_context_unwrap_sync() can be called safely on non-threaded
contexts
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33742>
(cherry picked from commit f9fe08740a8c0b9cceabc1272ac00b55d4a7589f)
-
3370a327
by Yiwei Zhang at 2025-02-28T22:17:35+01:00
venus: fix image format cache miss with AHB usage query
should skip updating cache key instead of marking as a miss
Fixes: e48645250c6 ("venus: image format properties cache")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33757>
(cherry picked from commit fde5cebec53aa9a0ceaafef2ec9ba85fd897f40c)
-
62747d6b
by Karol Herbst at 2025-02-28T22:17:35+01:00
intel/brw, lp: enable lower_pack_64_4x16
The compiler won't be able to emit pack_64_4x16, so we should prevent
nir_opt_algebraic to optimize to it. This fixes an infinite optimization
loop inside brw_nir_optimize:
nir_copy_prop
16x4 %77 = @load_global (%80)
32 %61995 = pack_32_2x16_split %77.x, %77.y
32 %61998 = pack_32_2x16_split %77.z, %77.w
64 %61999 = pack_64_2x32_split %61995, %61998
64 %76 = iadd %100, %79
@store_global (%61999, %76)
nir_opt_algebraic
16x4 %77 = @load_global (%80)
32 %61995 = pack_32_2x16_split %77.x, %77.y
32 %61998 = pack_32_2x16_split %77.z, %77.w
16x4 %62000 = vec4 %77.x, %77.y, %77.z, %77.w
64 %62001 = pack_64_4x16 %62000
64 %76 = iadd %100, %79
@store_global (%62001, %76)
nir_lower_pack
16x4 %77 = @load_global (%80)
16x4 %62000 = vec4 %77.x, %77.y, %77.z, %77.w
16 %62002 = mov %62000.y
16 %62003 = mov %62000.x
32 %62004 = pack_32_2x16_split %62003, %62002
16 %62005 = mov %62000.w
16 %62006 = mov %62000.z
32 %62007 = pack_32_2x16_split %62006, %62005
64 %62008 = pack_64_2x32_split %62004, %62007
64 %76 = iadd %100, %79
@store_global (%62008, %76)
// brw_nir_optimize loops here
nir_copy_prop
16x4 %77 = @load_global (%80)
32 %62004 = pack_32_2x16_split %77.x, %77.y
32 %62007 = pack_32_2x16_split %77.z, %77.w
64 %62008 = pack_64_2x32_split %62004, %62007
64 %76 = iadd %100, %79
@store_global (%62008, %76)
llvmpipe has a similar issue inside lp_build_opt_nir
Fixes: b1bc691b0ff ("nir/algebraic: add and improve pack/unpack patterns")
Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33347>
(cherry picked from commit dad5ee103925f8ccb812fc9097741dad8ea9cc48)
-
bac3b56d
by Paulo Zanoni at 2025-02-28T22:17:35+01:00
brw: extend the NOP+WHILE workaround
It turns out that we need to add a NOP not only in between two
consecutive WHILE instructions, but also after every control flow
instruction that immediately precedes a WHILE.
v2: Rebase after the renames.
Fixes: 5ca883505e29 ("brw: add a NOP in between WHILE instructions on LNL")
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33021>
(cherry picked from commit fd10764cff590b2743dee8544c78d4229fa6f6d6)
-
95d0ecd6
by Faith Ekstrand at 2025-02-28T22:17:35+01:00
nak/qmd: Add a nak_get_qmd_cbuf_desc_layout() helper
Fixes: 976f22a5da30 ("nvk: Implement CmdProcess/ExecuteGeneratedCommandsEXT")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33771>
(cherry picked from commit c540e5e2ccb543329af77a3b03d70a1949da5f71)
-
29ae40e1
by Faith Ekstrand at 2025-02-28T22:17:35+01:00
nvk: Handle pre-Turing dispatch indirect commands
The QMD layout is a bit different.
Fixes: 976f22a5da30 ("nvk: Implement CmdProcess/ExecuteGeneratedCommandsEXT")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33771>
(cherry picked from commit 7e12ba8709cc8b69a3eca3eeccce3ebd09767232)
-
eff60157
by Faith Ekstrand at 2025-02-28T22:17:35+01:00
nvk: Only support deviceGeneratedCommandsMultiDrawIndirectCount on Turing+
Indirect draws on Maxwell involve patching pushbufs together and doing
that isn't possible with device generated commands.
Fixes: 83b220f83342 ("nvk: Advertise VK_EXT_device_generated_commands")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33771>
(cherry picked from commit bd04fdcb2b0eb3836692b3c43b6a68ba7f34a010)
-
c7957256
by Faith Ekstrand at 2025-02-28T22:17:35+01:00
nvk: Only support compute shader derivatives on Turing+
Fixes: e0e7d8d910e0 ("nvk: Advertise VK_NV/KHR_compute_shader_derivatives")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33771>
(cherry picked from commit 8de37b142ec4c76d579016e838528b461a4a6285)
-
4a08708c
by Lionel Landwerlin at 2025-02-28T22:17:35+01:00
vulkan/runtime: ensure robustness state is fully initialized
This is part of the hashing key :
==25753== Uninitialised byte(s) found during client check request
==25753== at 0x93D29AE: blob_write_bytes (blob.c:164)
==25753== by 0x93A62C6: vk_pipeline_precomp_shader_serialize (vk_pipeline.c:722)
==25753== by 0x93AC55E: vk_pipeline_cache_add_object (vk_pipeline_cache.c:433)
==25753== by 0x93A691B: vk_pipeline_precompile_shader (vk_pipeline.c:875)
==25753== by 0x93A8FB9: vk_create_graphics_pipeline (vk_pipeline.c:1715)
==25753== by 0x93A9799: vk_common_CreateGraphicsPipelines (vk_pipeline.c:1860)
==25753== Address 0xf1adf82 is 82 bytes inside a block of size 152 alloc'd
==25753== at 0x64FA858: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==25753== by 0x99AAC38: vk_default_alloc (vk_alloc.c:26)
==25753== by 0x93A403B: vk_alloc (vk_alloc.h:48)
==25753== by 0x93A406B: vk_zalloc (vk_alloc.h:56)
==25753== by 0x93A60A0: vk_pipeline_precomp_shader_create (vk_pipeline.c:680)
==25753== by 0x93A689D: vk_pipeline_precompile_shader (vk_pipeline.c:866)
==25753== by 0x93A8FB9: vk_create_graphics_pipeline (vk_pipeline.c:1715)
==25753== by 0x93A9799: vk_common_CreateGraphicsPipelines (vk_pipeline.c:1860)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 9308e8d90d ("vulkan: Add generic graphics and compute VkPipeline implementations")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33792>
(cherry picked from commit 4dba1ad93f4c2a61217f4e827e9cbbd9e91bdeed)
-
553ab186
by Daniel Schürmann at 2025-02-28T22:17:35+01:00
aco/assembler: Fix short jumps over chained branches
If we insert
<code>
s_branch 1
s_branch Target
at the end of some block, and later hide an additional chained branch
after the existing one, then we have to update the 's_branch 1' to
also jump over the newly added branch.
Fixes: cab5639a09ab954e67af27486a0f9b41a0373d98 ('aco/assembler: chain branches instead of emitting long jumps')
Closes: #12673
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33762>
(cherry picked from commit 6659db285aac3c611c45befaf8fec889982bbd69)
-
919e3443
by Eric Engestrom at 2025-02-28T22:17:35+01:00
.pick_status.json: Mark b85c94fc891fe9d73b3a032aea8a6a71b8e6173b as denominated
-
91c473e4
by Benjamin Lee at 2025-02-28T22:17:35+01:00
panfrost: fix large int32->float16 conversions
On vulkan, truncating to S/U16 before converting is not valid, because
out-of-range conversions are specified to be correctly rounded. IEEE 754
requires that out-of-range values round to ±inf with RTNE and ±F16_MAX
with RTZ.
On gl, truncating is valid for U16->F16, because out-of-range int->float
conversions are undefined behavior. For S16->F16, it is not valid
because S16_MAX < F16_MAX, so some in-range values will be truncated as
well.
Instead, just handle S/U16->F16 as S/U16->F32->F16.
Fixes dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_*
when shaderFloat16 is enabled in panvk.
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Fixes: be74b84e6f8 ("pan/bi: Fill in some more conversions")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33637>
(cherry picked from commit a33cd3def23dcf740ee04fb39e7b8bf1312d090c)
-
f3ee6ed4
by Benjamin Lee at 2025-02-28T22:17:35+01:00
panfrost: fix condition in bi_nir_is_replicated
The original implementation of this returned false when the src was
replicated, and true when it was not.
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Fixes: 21bdee7bccd ("pan/bi: Switch to lower_bool_to_bitsize")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33637>
(cherry picked from commit 810351ad03e6d46bc8ab9e8c30843af00ed04d75)
-
6248bc98
by Benjamin Lee at 2025-02-28T22:17:35+01:00
panfrost/va: remove swizzle mod from LDEXP
This instruction does not support swizzles. This information is not used
for anything, but will be if we use the instruction tables for
bi_lower_swizzle.
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Fixes: 316486dd9f6 ("pan/va: Add initial ISA.xml for Valhall")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33637>
(cherry picked from commit 2a70665df760f6fa8443fa6b241e08ae0b633358)
-
7b51aa8e
by Eric Engestrom at 2025-03-03T17:25:08+01:00
.pick_status.json: Update to 4348253db5232b7be4db0a0ff47b31d51bc8f534
-
614dd499
by Kevin Chuang at 2025-03-03T17:25:14+01:00
anv/bvh: Fix encoder handling sparse buffer
Fixes: 2fe57947e378 ("anv: Implement encode shader to fit in ANV BVH")
This commit resolves the failures in the future tests
"sparse_binding_structures" for rayquery. Sparse buffers' heaps are
located high, and since it's in canonical form, the higher 16bits are
all set to 1. However, the existing encoder did not expect any non-zero
values at the higher 16bits. As a result, the instance flags got
corrupted, causing most triangle tests to fail.
Thanks for Paulo providing insights about sparse buffer properties.
Co-developed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33745>
(cherry picked from commit b9a980ea731f368d090f1ce2492c0ce096104691)
-
f912436d
by Kevin Chuang at 2025-03-03T17:25:16+01:00
anv/bvh: Fix copy shader handling sparse buffer
Fixes: 692b5fa9f22d ("anv: Add shader to copy acceleration structures")
This commit fixes the future test "sparse_binding_structures" for
"header_bottom_address" for ray tracing pipeline.
Even on 48-bit ray tracing (Xe1/2), the software-defined part
instance_leaf_part1.bvh_ptr has to be in canonical form for copy.comp
to deference a bvh, which means we have to preserve the upper 16bits.
This is especially relevant in cases where the acceleration structure buffer
is located high, such as sparse buffer.
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33745>
(cherry picked from commit 87ff7b061f170a4f757ce16c1ab18b75a90e1583)
-
60901629
by Job Noorman at 2025-03-03T17:25:17+01:00
ir3/ra: prevent reusing parent interval of reloaded sources
We would set the `src` flag on the interval of reloaded sources.
However, the interval might be merged with its parent when inserted and
the parent wouldn't have this flag set. This caused the parent interval
to potentially be reused to reload later sources. Fix this by setting
the `src` flag on the top-level interval after insertion.
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: fa22b0901af ("ir3/ra: Add specialized shared register RA/spilling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33810>
(cherry picked from commit 2d540b80746bc20c1e5de94a6933837fc6cf0c64)
-
eff71795
by Mike Blumenkrantz at 2025-03-03T17:25:18+01:00
zink: clamp UBO sizes instead of asserting
this is a nice idea, but there are apps/games that do not respect
hardware capabilities and yolo-bind fixed size buffers
fixes Ballionaire (2667120) launch on non-desktop drivers
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33819>
(cherry picked from commit b04eaa8589e233c4866cb93ffd688945d5cc0c1d)
-
0ea91330
by Hyunjun Ko at 2025-03-03T17:25:22+01:00
anv: Do not support the tiling of DRM modifier if DECODE_DST
Fixes: 04709e4f ("anv: fix video profile lists");
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33784>
(cherry picked from commit f7ff9b240df43e3a7446e232aedae73c5a7154b4)
-
4607eb7e
by Emmanuel Gil Peyrot at 2025-03-03T17:25:23+01:00
panvk: Initialize out array with the correct length
This avoids reading past the buffer’s end in the client afterward, because the
drmFormatModifierCount hasn’t been changed from what the client passed, if it
wasn’t zero at first.
GTK triggers that bug by setting it to the length of the static array (see this
bug[0] though), but other Vulkan programs might have the same issue if they
don’t first query the count before allocating the array.
This has been tested on a Radxa ROCK 5B board running a Mali-G610 GPU.
[0] https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8222
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: 252ddaf51be7 ("panvk: fix VkDrmFormatModifierPropertiesListEXT query")
Fixes: https://gitlab.freedesktop.org/mstoeckl/waypipe/-/issues/127
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33657>
(cherry picked from commit b4a82110cebfa1e10241ecbb7d45ce8994146928)
-
ebca2faf
by Patrick Lerda at 2025-03-03T17:25:24+01:00
r600: fix evergreen_emit_vertex_buffers() related cl regression
For instance, this issue is triggered with "piglit/bin/cl-custom-buffer-flags":
Segmentation fault
Fixes: 81889f4d5c1 ("r600: ensure that the last vertex is always processed on evergreen")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33351>
(cherry picked from commit ee1cb894d6a93260b8420f723515d1cf89fd79db)
-
08ae198b
by Konstantin Seurer at 2025-03-03T17:25:25+01:00
llvmpipe: Skip draw_mesh if the ms did not write gl_Position
There is nothing to be done and the code will hit "assert(pos != -1);"
otherwise.
cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12684
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33812>
(cherry picked from commit 4348253db5232b7be4db0a0ff47b31d51bc8f534)
-
43b9f114
by Eric Engestrom at 2025-03-04T20:23:55+01:00
.pick_status.json: Update to fbc55afbdfc93a82c69f1cd6a1f4abbed96cfd19
-
41f982dd
by Mary Guillemard at 2025-03-04T20:24:02+01:00
pan/bi: Disallow FAU special page 3 and WARP_ID on message instructions
This is a constraint that apply on Valhall and later, instructions
should not use FAU special page 3 or WARP_ID if running
on the message unit.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: fd1906afea59 ("pan/va: Add FAU validation")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33843>
(cherry picked from commit ef0c7382c748cc4a8e40baf3285cf39e7a07ffcb)
-
9842f90f
by Gert Wollny at 2025-03-04T20:24:03+01:00
r600/sfn: gather info and set lowering 64 bit after nir_lower_io
After nir_lower_io we need to gather the info about 64 bit usage
to be up-to-date when deciding whether the remaining 64 bit IO ops
be lowered.
Before 89dad5618ddb ("gallium: add PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER")
the info was eventually updated to include the use of 64 bit values
also if only some IO was using this so that SFN was handling the code
correctly. As it seems with above patch this is not always the case
anymore, and we have to take care of it.
Fixes: 89dad5618ddb ("gallium: add PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER")
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32774>
(cherry picked from commit 6da19eafd50d9dcf4abcaf6cba7cc3dbcd307adc)
-
5200d13a
by Samuel Pitoiset at 2025-03-04T20:24:03+01:00
radv: fix re-emitting fragment output state when resetting gfx pipeline state
When switching from pipeline to shader objects.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33840>
(cherry picked from commit 7f6e28db26219c287096fcc45730881ef9e7a2f8)
-
390317a9
by Caio Oliveira at 2025-03-04T20:24:05+01:00
brw: Fix size in assembler when compacting
Calculation was wrongly walking uncompacted instructions, even if we had
some compacted in the middle, generating invalid size. Since we are
here just drop the instruction count, since in practice the caller will
have to walk the instruction stream anyway.
Fixes: 6267585778f ("intel/brw: Also return the size of the assembled shader")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33532>
(cherry picked from commit dd1ca1588dc191991c1e3442d02d2110133370c6)
-
d8b47159
by Marek Olšák at 2025-03-04T20:24:08+01:00
mesa: allocate GLmatrix aligned to 16 bytes
The declaration has:
typedef struct {
alignas(16) GLfloat m[16]; /**< 16 matrix elements (16-byte aligned) */
alignas(16) GLfloat inv[16]; /**< 16-element inverse (16-byte aligned) */
...
} GLmatrix;
We should honor that.
Fixes: 3175b63a0dfa2 - mesa: don't allocate matrices with malloc
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10237
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33856>
(cherry picked from commit 76558262439e36a7583d8967407ba25108053772)
-
3f7abae2
by Faith Ekstrand at 2025-03-04T20:24:39+01:00
zink: Don't present to Wayland surfaces asynchronously
Wayland EGL has a driver invariant which requires that any `wl_surface`
(or wp_linux_drm_syncobj_surface_v1) calls happen inside the client's
call to eglSwapBuffers(). Submitting surface messages after
eglSwapBuffers() returns causes serialization issues with the Wayland
surface protocol and can lead to the compositor booting the app.
Fixes: 8ade5588e39d ("zink: add kopper api")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12736
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33859>
(cherry picked from commit b92117d9bb9167f51af8be3210163a042d3b1d44)
-
56d066e0
by Patrick Lerda at 2025-03-04T20:24:40+01:00
r600: fix the indirect draw 8-bits path
This change fixes the indirect draw 8-bits path which does
a conversion to 16-bits. This change is implemented to process
the parameters the same way as the other indirect draw paths.
This change was tested on palm and cayman. Here are the tests fixed:
deqp-gles31/functional/draw_indirect/draw_elements_indirect/indices/index_byte: fail pass
deqp-gles31/functional/draw_indirect/random/35: fail pass
deqp-gles31/functional/draw_indirect/random/45: fail pass
khr-gl40/draw_indirect/basic-indicesdatatype-unsigned_byte: fail pass
khr-gl41/draw_indirect/basic-indicesdatatype-unsigned_byte: fail pass
khr-gl42/draw_indirect/basic-indicesdatatype-unsigned_byte: fail pass
khr-gl43/draw_indirect/basic-indicesdatatype-unsigned_byte: fail pass
khr-gl44/draw_indirect/basic-indicesdatatype-unsigned_byte: fail pass
khr-gl45/draw_indirect/basic-indicesdatatype-unsigned_byte: fail pass
Fixes: d80701df8af4 ("r600g: Implement GL_ARB_draw_indirect for EG/CM")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Acked-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32802>
(cherry picked from commit 9aea08e1db3130a9cdbf484e7d30ae57514ca7ba)
-
915075bf
by Tapani Pälli at 2025-03-04T20:24:44+01:00
iris: remove dead code that cannot get hit anymore
As of recent changes, MESA_SHADER_GEOMETRY is handled by the if ladder.
CID: 1643918
Fixes: c33ebf09f5e ("iris: fix handling of GL_*_VERTEX_CONVENTION")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33842>
(cherry picked from commit d0b8d7d46cebb7017cacdeb1a384a1e7826afe56)
-
af767e1e
by Lars-Ivar Hesselberg Simonsen at 2025-03-04T20:26:15+01:00
panfrost: Use RUN_COMPUTE over RUN_COMPUTE_INDIRECT
RUN_COMPUTE_INDIRECT has been found to cause intermittent hangs, so
this change replaces it with RUN_COMPUTE and a set TASK_AXIS_X.
While this task axis might be suboptimal, the performance cost is
somewhat offset by RUN_COMPUTE not being an emulated command.
Fixes: 447075eeeef ("panfrost: Add support for the CSF job frontend")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33841>
(cherry picked from commit 6bf9ad261044f739ace54403708e2d1eeaacf1ed)
-
28d34f30
by Lars-Ivar Hesselberg Simonsen at 2025-03-04T20:26:18+01:00
panvk: Use RUN_COMPUTE over RUN_COMPUTE_INDIRECT
RUN_COMPUTE_INDIRECT has been found to cause intermittent hangs, so
this change replaces it with RUN_COMPUTE and a set TASK_AXIS_X.
While this task axis might be suboptimal, the performance cost is
somewhat offset by RUN_COMPUTE not being an emulated command.
Fixes: 2ffc05d8d2c ("panvk: Add support for CmdDispatchIndirect")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33841>
(cherry picked from commit fe31e7843dce3e757933edfbffe3e634fb78bc66)
-
4ec5c2fb
by Patrick Lerda at 2025-03-04T20:26:19+01:00
r600: fix emit_image_size() range base compatibility
This change fixes a regression introduced with 8b5d41cacb51.
Indeed, lookup_resid was not updated.
This change was tested on palm and cayman. Here are the tests fixed:
khr-gl4[3-5]/shader_image_size/advanced-nonms-cs-float: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-cs-int: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-cs-uint: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-fs-float: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-fs-int: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-fs-uint: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-cs-float: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-cs-int: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-cs-uint: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-fs-float: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-fs-int: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-fs-uint: fail pass
Fixes: 8b5d41cacb51 ("r600/sfn: Use range_base for atomics and images")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33352>
(cherry picked from commit fd874bdd0c03593a51dce50c7a46c6578eecb66d)
-
63f2fa10
by David Rosca at 2025-03-04T20:37:43+01:00
frontends/va: Set AV1 max_width/height to surface size
Ideally this would be passed in pic params as the values are
in sequence header, but using the surface size also works.
Also add sanity checks for frame size.
Fixes decoding av1-1-b8-22-svc-L2T1 and av1-1-b8-22-svc-L2T2.
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33737>
(cherry picked from commit d0414ef7fbaf3c9eaaac6fc2f1899b11250df664)
-
4bc19462
by Eric Engestrom at 2025-03-04T20:41:40+01:00
.pick_status.json: Mark 5461ed5808421a8ffb79bdaa1449265f3e8f40a5 as denominated
-
c9a177ac
by Yiwei Zhang at 2025-03-04T20:43:43+01:00
venus: relax the requirement for sync2
The current requirement for sync is only to support WSI, and it is not
necessarily needed at all per the comment added. Will drop it later.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33829>
(cherry picked from commit c35b52638c52925db893c9ba15b836e99d7e8674)
-
0d325602
by Eric Engestrom at 2025-03-05T12:06:20+01:00
.pick_status.json: Update to 45e771f4fbe4245b252c6360e55776080f0bf458
-
33a79183
by David Rosca at 2025-03-05T12:08:20+01:00
radeonsi/vcn: Set all pic params for H264 encode references
Fixes encoding B-frames with I-frame as L1 reference.
Cc: mesa-stable
Reviewed-by: David (Ming Qiang) Wu <David.Wu3@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33845>
(cherry picked from commit d92781508bf217b0702f6602fde9b3655beacc90)
-
30455e07
by Mike Blumenkrantz at 2025-03-05T21:26:47+01:00
llvmpipe: pass layer count to rast clear
this otherwise passes the fb layer, which is not quite right when
using multiview with view indexing
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33632>
(cherry picked from commit 5ef60aef630c1dd54400da8e60b07d9e26dd64e2)
-
3a2e0fb0
by Mike Blumenkrantz at 2025-03-05T21:26:48+01:00
gallium: fix pipe_framebuffer_state::view_mask
this is the mask of the number of views, not the actual views being
selected
llvmpipe previously had this wrong, though I don't understand how
vkcts didn't cover it
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33632>
(cherry picked from commit 2b37f233143275d5d11fc0a5f392b8d99c7bad29)
-
0feebb60
by Mike Blumenkrantz at 2025-03-05T21:26:48+01:00
mesa: avoid creating incomplete surfaces when multiview goes out of range
some drivers can't handle this, and it can't be used anyway, so don't bother
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33632>
(cherry picked from commit 3f7b0c39516ae6a110629585c374412db9c4fc6e)
-
4e0f86e9
by Faith Ekstrand at 2025-03-05T21:26:48+01:00
egl/dri2: Rework get_wl_surface_proxy()
Instead, just make it a helper for getting the wl_surface from the
wl_egl_window. We'll want this in the next commit.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33860>
(cherry picked from commit fddff0d1b8d1130109ae58b58b911eb684526b51)
-
a5918648
by Faith Ekstrand at 2025-03-05T21:26:48+01:00
egl/wayland: Pass the original wl_surface to kopper
The Vulkan WSI code creates its own proxies so there's no benefit to
passing the proxy in. It only screws things up.
Fixes: 8ade5588e39d ("zink: add kopper api")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33860>
(cherry picked from commit 99b5970eb246955335c6161bc1f80fc0bef6e6a1)
-
93479625
by Guilherme Gallo at 2025-03-05T21:26:48+01:00
ci/lava: Drop the repeating quotes on lava-test-case
LAVA was recently patched [1] with a fix on how parameters are parsed in
`lava-test-case`, so we don't need to repeat quotes to send the
arguments properly to it.
[1] https://gitlab.com/lava/lava/-/commit/18c9cf7976886463923c2abbf8d91e2737b6fa77
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33839>
(cherry picked from commit 02a86b328420ffbf0ce00510fd53af979869ed00)
-
989f2d8b
by Guilherme Gallo at 2025-03-05T21:26:48+01:00
ci/lava: Propagate errors in SSH tests
The `lava_ssh_test_case` wrapper was missing the `set -e` shell option,
which made LAVA system interpret the job was succeeding, because the
`container` namespace was exiting normally, even though the `dut`
namespace was failing.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33839>
(cherry picked from commit 1169f704d33dfe7781e7044b2dde2bc523e7dad3)
-
7e122526
by Guilherme Gallo at 2025-03-05T21:26:48+01:00
ci/lava: Add U-Boot action timeout for rockchip DUTs
Add a specific timeout for the U-Boot action in LAVA job definitions for
rockchip devices. This ensures sufficient time for U-Boot to download
the kernel and set up early network, preventing potential job failures
due to timeout constraints.
This behavior started to happen since LAVA 2025.02 version.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33839>
(cherry picked from commit 1dbebd2619a498b6e5ea726dae65c6621c8fe1c8)
-
06344733
by Eric Engestrom at 2025-03-05T22:05:32+01:00
docs: add release notes for 25.0.1
-
c185b4a7
by Eric Engestrom at 2025-03-05T22:05:32+01:00
VERSION: bump for 25.0.1