Samuel Pitoiset
682723c0c4
spirv/tests: add a test for lower_terminate_to_discard
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33866 >
2025-03-05 19:56:50 +00:00
Samuel Pitoiset
40ea8c2edc
spirv/tests: add a test for force_tex_non_uniform
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33866 >
2025-03-05 19:56:50 +00:00
Samuel Pitoiset
74e1cebd02
spirv/tests: add a test for force_ssbo_non_uniform
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33866 >
2025-03-05 19:56:50 +00:00
Samuel Pitoiset
2e3e3249b8
spirv/tests: add a test for NonSemantic.DebugBreak
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33866 >
2025-03-05 19:56:50 +00:00
Samuel Pitoiset
c9eb0a2db5
spirv/tests: initialize compiler options in constructor
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33866 >
2025-03-05 19:56:50 +00:00
Samuel Pitoiset
f2eb31b1a2
spirv: move workarounds to an inner struct in spirv_to_nir_options
...
To be more explicit.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33866 >
2025-03-05 19:56:50 +00:00
Mike Blumenkrantz
2c6837260e
zink: only add fb surf refs on unbind
...
this only applies to cases where a fb state persists across cmdbufs,
but it's consistent with how other resource binds work
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33849 >
2025-03-05 19:27:22 +00:00
Mike Blumenkrantz
c32e67e0d9
zink: use VKCTX for vertex buffer binds and delete unused screen local
...
also fix weird indentation
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33849 >
2025-03-05 19:27:22 +00:00
Mike Blumenkrantz
540d35b27f
zink: start using ctx->vertex_state_changed again
...
SetVertexInput is a heavy call.
also move this call outside zink_bind_vertex_buffers() since it doesn't
use any of the same data and was invoking unnecessary loops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33849 >
2025-03-05 19:27:22 +00:00
Mike Blumenkrantz
f136f8ddd7
zink: split set_vertex_buffers to avoid conditionals
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33849 >
2025-03-05 19:27:22 +00:00
Mike Blumenkrantz
7909adcef1
zink: delete zink_batch_state::ref_lock
...
this kills perf when managing lots of objects per batch and can
be trivially replaced by separate buffer lists for unsync usage
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33849 >
2025-03-05 19:27:22 +00:00
Mike Blumenkrantz
28259584f4
zink: improve precision on changes to depth bias between draws
...
this cuts calls here from 18k/frame to 18/frame in some synthetic
benchmarks
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33849 >
2025-03-05 19:27:22 +00:00
Eric Engestrom
ac638928a8
v3d/ci: mark traces humus/AmbientAperture and humus/DynamicBranching3 as flaky
...
They've prevented a lot of MRs from being merged.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33882 >
2025-03-05 17:56:48 +00:00
Lionel Landwerlin
199a052481
anv: fixup indentation around Wa_16014912113
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33751 >
2025-03-05 17:20:12 +00:00
Lionel Landwerlin
888b2ec7b0
anv: break down Wa_16014912113 in need/apply parts
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33751 >
2025-03-05 17:20:12 +00:00
Lionel Landwerlin
93a327c4e6
anv/brw: move INTEL_MSAA_* flag computation to the compiler
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33751 >
2025-03-05 17:20:12 +00:00
Lionel Landwerlin
beaba53010
brw: make intel_shader_enums.h opencl importable
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33751 >
2025-03-05 17:20:12 +00:00
Lionel Landwerlin
02eb26de0a
genxml: simplify genX_rt_pack.h
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33751 >
2025-03-05 17:20:11 +00:00
Lionel Landwerlin
374d2168ee
intel/genxml: add a genX RT include header
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33751 >
2025-03-05 17:20:11 +00:00
Lionel Landwerlin
17ba9a19d1
anv/apply_layout: split binding table building into its own function
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33751 >
2025-03-05 17:20:11 +00:00
David Rosca
3ea3aa0f90
radeonsi/vcn: Support H264 encode weighted_bipred_idc
...
Only default (0) and implicit (2) are supported, explicit (1) is not.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33846 >
2025-03-05 16:51:32 +00:00
Rhys Perry
0ec174afd5
aco: insert dependency waits in certain situations
...
This seems to fix some artifacts, but we're not sure why, so it might not
be a correct or optimal solution.
fossil-db (navi31):
Totals from 28424 (35.81% of 79377) affected shaders:
Instrs: 30112910 -> 30348977 (+0.78%); split: -0.00%, +0.78%
CodeSize: 159542980 -> 160485336 (+0.59%); split: -0.00%, +0.59%
Latency: 221438396 -> 221500856 (+0.03%); split: -0.00%, +0.03%
InvThroughput: 38154231 -> 38159984 (+0.02%); split: -0.00%, +0.02%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Backport-to: 25.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33853 >
2025-03-05 16:22:54 +00:00
Faith Ekstrand
11939a70df
zink: Use pipe_box helpers for damage calculations
...
The old code got the accumulation a bit wrong. For one thing, it always
accumulates with whatever was there instead of resetting to empty each
time. For another, it sets with with y and height with x when it writes
back to the resource. This is also all too complicated because it
converts between pipe_box, u_rect, and VkRect2D on every iteration.
Instead, there are helpers in util/box.h which will do most of this work
for us and they're correct. Let's just use them to get rid of the bugs
and make everything simpler and more obvious at the same time.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12194
Fixes: 3d38c9597f ("zink: hook up KHR_partial_update")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33855 >
2025-03-05 15:46:23 +00:00
Faith Ekstrand
3346eb55ed
iris: Use pipe_box helpers for damage calculations
...
The old calculations are wrong. They add width+x and call that a width
the same with y and height. This is wrong but it's wrong in a way that
only ever increases damage so we never noticed it. However, util/box.h
has helpers for these operations which don't have this bug. Let's use
them and make the code simpler, more obvious, and correct. We also
weren't flipping the damage like we're supposed to and that was most
likely not getting noticed because of the over-damage.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33855 >
2025-03-05 15:46:23 +00:00
Faith Ekstrand
8cf921a742
util/box: Add a intersect_2d helper
...
Fixes: 3d38c9597f ("zink: hook up KHR_partial_update")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33855 >
2025-03-05 15:46:23 +00:00
Danylo Piliaiev
75a85134fa
tu: Be more granular in calculating whether blend state reads color
...
There could be several attachments where none of them are written to.
Happens with pre-2.0 DXVK.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33802 >
2025-03-05 15:16:37 +00:00
Michael Cheng
014f376755
anv: Change as_build to show num tlas/blas
...
As_build now shows the number of tlas/blas that was built.
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33720 >
2025-03-05 14:19:56 +00:00
Michael Cheng
9ba7005d25
vulkan : Pass in number of tlas/blas being built
...
Pass the counts for top-level and bottom-level acceleration
structures to the debug_marker.
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33720 >
2025-03-05 14:19:56 +00:00
Mary Guillemard
2f1ce296d0
pan/bi: Ensure we select b0 with halfswizzle in va_lower_constants
...
In case of constant lowering with halfswizzle sources, we were selecting
h01 causing an invalid instruction error to be yield later.
This can only be hit by conversion instructions and shouldn't be seen in
the wild (as this should be eliminated before entering the backend).
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: 7d07fb9a67 ("pan/va: Handle 8-bit lane when lowering constants")
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33867 >
2025-03-05 13:19:57 +00:00
Mary Guillemard
8948b74955
pan/bi: Fix out of range access in bi_instr_replicates
...
For replicates, we were checking equivalence between two sources on some
instructions but some of them only had one source causing an out of
bound access and check against unrelated data.
Instead we now always return true for those instructions.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: f7d44a46cd ("pan/bi: Optimize replication")
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33867 >
2025-03-05 13:19:57 +00:00
Mary Guillemard
01ec34fe57
pan/bi: Lower FREXPE.v2f16 and FREXPM.v2f16 on v11+
...
This was removed on v11.
Fix dEQP-VK.glsl.builtin.precision_fp16_storage16b.frexp.compute.*
failures on v11+.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33867 >
2025-03-05 13:19:57 +00:00
Mary Guillemard
cbc42abdb3
pan/bi: Run bifrost_nir_lower_algebraic_late while there is progress
...
With v11 needing specific lowering, we now need to run it multiple time
to ensure every new instructions materialized aren't invalid.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33867 >
2025-03-05 13:19:57 +00:00
Mary Guillemard
54ce78c4e1
pan/bi: Run nir_lower_bit_size after algebraic
...
nir_opt_algebraic can possibly materialize instructions with a bit_size that
need to be lowerd.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33867 >
2025-03-05 13:19:57 +00:00
Samuel Pitoiset
ab4d2d447a
radv: remove redundant radv_instance::drirc::rt_wave64
...
Use RADV_PERFTEST_RT_WAVE_64 instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33868 >
2025-03-05 12:45:08 +00:00
Samuel Pitoiset
54a62c5c23
radv: use radv_emulate_rt() more
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33868 >
2025-03-05 12:45:08 +00:00
Samuel Pitoiset
9108c198bb
radv: fix trap handler exception options
...
They are same values.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33868 >
2025-03-05 12:45:07 +00:00
Tomeu Vizoso
854bc2ee05
kopper: Explicitly choose zink
...
If we pass zink=false to pipe_loader_drm_probe_fd, it could happen that
a Gallium driver that had been already discarded because of not
supporting the graphics CAP will be chosen.
To avoid that, explicitly ask pipe_loader_drm_probe_fd to choose the
zink Gallium driver.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30096 >
2025-03-05 10:48:28 +00:00
Lucas Stach
7e76c67632
kmsro: look for graphics capable screen as renderonly device
...
Exposing a rendernode from a supported driver is not a sufficient
matching criteria to qualify as the render part of a renderonly
device, as the rendernode might only expose compute or 2D accel
capabilities.
Look for a screen that actually supports gallium graphics operations
to qualify as a renderonly screen.
v2 (Tomeu): Have pipe-loader return a list of FDs for kmsro to choose
based on capabilities.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30096 >
2025-03-05 10:48:28 +00:00
Tomeu Vizoso
cfad6fb037
egl/surfaceless: Only choose drivers that expose the graphics capability
...
This is to prevent applications to try to render to devices that have no
3D hardware (eg. NPUs).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30096 >
2025-03-05 10:48:28 +00:00
Corentin Noël
45e771f4fb
ci: Update CrosVM and Virglrenderer
...
Update to their latest version on time
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33796 >
2025-03-05 10:16:49 +00:00
Tapani Pälli
288f932b78
iris: restrict TessellationDistributionLevel for Wa_16025857284
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33864 >
2025-03-05 09:55:05 +00:00
Tapani Pälli
1674cb3665
anv: restrict TessellationDistributionLevel for Wa_16025857284
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33864 >
2025-03-05 09:55:05 +00:00
Tapani Pälli
1a5cbbeb47
intel/dev: update mesa_defs.json from internal database
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33864 >
2025-03-05 09:55:05 +00:00
Mike Blumenkrantz
3f7b0c3951
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 >
2025-03-05 09:15:22 +00:00
Mike Blumenkrantz
89c2639227
mesa: add error handling for OVR_multiview
...
there's a lot that were missed
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33632 >
2025-03-05 09:15:22 +00:00
Mike Blumenkrantz
2b37f23314
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 >
2025-03-05 09:15:22 +00:00
Mike Blumenkrantz
5ef60aef63
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 >
2025-03-05 09:15:22 +00:00
Marek Olšák
e19f4c043d
gallium/u_blitter: change blitter_attrib from union to struct
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33837 >
2025-03-05 08:31:12 +00:00
Marek Olšák
ca09c173f6
gallium/u_blitter: remove UTIL_BLITTER_ATTRIB_COLOR, use a constant buffer
...
Pass the clear color via a constant buffer instead of a FS input.
This results in less driver code and it could be faster on some GPUs.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33837 >
2025-03-05 08:31:12 +00:00
Faith Ekstrand
99b5970eb2
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: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33860 >
2025-03-05 07:27:16 +00:00