Mike Blumenkrantz
cee77ba6ec
zink: implement ops for KHR_shader_subgroup
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31228 >
2025-01-30 20:59:04 +00:00
Mike Blumenkrantz
b4f3136fea
zink: emit SpvCapabilityDemoteToHelperInvocation for IsHelperInvocation
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31228 >
2025-01-30 20:59:04 +00:00
Konstantin Seurer
00d17f3dbe
nir/lower_vars_to_ssa: Annotate defs with variable names
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33141 >
2025-01-30 20:14:01 +00:00
Konstantin Seurer
ce0f30b230
nir: Add variable debug info to instructions
...
Allows for annotating defs with variable names.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33141 >
2025-01-30 20:14:01 +00:00
Konstantin Seurer
ec89f88722
spirv: Handle NonSemantic.Shader.DebugInfo.100
...
New versions of glslangValidator seem to emit those instructions for
debug info instead of OpLine.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33141 >
2025-01-30 20:14:01 +00:00
Konstantin Seurer
60a20bcf3d
nir: Stop using instructions for debug info
...
Annotating ssa defs without affecting compilation is impossible with
debug info instructions since referencing a nir_def from the debug info
instr will add uses.
The old approach also stops worrking if passes reorder instructions.
This patch proposes a solution which should not regress performance just
like the old approach. The difference is that this one allocates a bit
more space for debug info instead of adding a new instruction for it.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33141 >
2025-01-30 20:14:01 +00:00
Iván Briano
e73c4ce7c5
anv: handle REMAINING_LAYERS in host image copy cases
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33293 >
2025-01-30 19:24:47 +00:00
Eric Engestrom
ea519cc230
docs: reset new_features.txt
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33304 >
2025-01-30 19:02:37 +00:00
Eric Engestrom
8b61e9a701
VERSION: bump to 25.1
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33304 >
2025-01-30 19:02:37 +00:00
Valentine Burley
8f66efd8ea
venus/ci: Skip flaky test due to intermittent timeouts
...
This test has been intermittently timing out for a while now.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32906 >
2025-01-30 17:42:06 +00:00
Mark Collins
c76ef0898b
util/u_debug: Ignore newlines in parse_*_string
...
We now use `parse_debug_string` to parse debug strings from files, which
may have newlines in them. This change ensures that newline characters
are ignored during parsing, a similar change was made to
`parse_enable_string` for consistency.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32906 >
2025-01-30 17:42:06 +00:00
Mark Collins
aaf8a8d968
freedreno/docs: Document TU_DEBUG_FILE
...
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32906 >
2025-01-30 17:42:06 +00:00
Mark Collins
a177788f6a
tu/lrz: Check for TU_DEBUG(nolrz) late
...
Currently the `nolrz` TU_DEBUG options are only checked during
device creation and image creation, respectively. This means that if
the options are enabled after the device/image is created, LRZ
will still be used. Similarly, if the options are disabled after the
device/image is created, LRZ will still be disabled.
This change moves the checks to the point where the LRZ is actually
used, allowing for runtime toggling of LRZ.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32906 >
2025-01-30 17:42:06 +00:00
Mark Collins
18ac78e5b4
tu/util: Support toggling TU_DEBUG options at runtime
...
This adds a new environment variable, TU_DEBUG_FILE, which can be used to
enable/disable various debug options at runtime via writing to a file. This
is useful for switching between different debug options (such as toggling
between SYSMEM/GMEM) without needing to restart the application.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32906 >
2025-01-30 17:42:06 +00:00
Mark Collins
9a4bed6f05
util: Add file modification notifier utility
...
A helper to watch files for changes or deletions using inotify, with
a callback mechanism to notify the user of changes.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32906 >
2025-01-30 17:42:06 +00:00
Daniel Stone
5b291c7ce6
ci: Move r300/nine/nvk builds out of critical path
...
debian-testing is the critical path: the shortest possible job to build
exactly what we need to execute on hardware, and nothing else.
debian-build-testing exists to give us better coverage at the expense of
running longer.
Since the only jobs using r300 and Nine, and the only jobs using NVK,
are in post-merge stages which are manually triggered, move these builds
to debian-build-testing. This makes the critical path to those a little
longer, but we do get to make it shorter for everyone else just running
regular Marge jobs.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
eabc365e95
ci: Only build what we use for testing jobs
...
Don't build every driver everywhere, just what we need right now.
r600 is temporarily excluded from release builds as it has a warning
which becomes an error.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
2dba74ffa3
ci: Only build Perfetto in build-test jobs
...
We don't actually use these for runtime testing right now. If we wanted
to capture traces, we should probably do that as a nightly-only thing.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
28becbb3dc
ci: Capture Ninja log
...
This will give us a better idea of what's taking time during builds.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
8b1abb2643
ci: Trim down VVL external builds
...
We're not building the VVL tests, so we don't need to download and build
a ton of stuff which is only needed for building tests.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
83d1553391
ci: Don't build Vulkan for GL dEQP
...
We don't need these Vulkan bits, so let's try not building them. This
might seem kind of petty, but given that we build dEQP four times for GL
(once for GL, once for GLES, once for EGL/X11, and once for
EGL/Wayland), it does actually make a measurable difference to the time
spent rebuilding dEQP.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
3c5b73fa2c
ci: Pass build targets to dEQP CMake
...
This avoids a whole pile of nonsense that we don't need during the dEQP
build, which is helpful when you build it five times in a row. In
particular, not building the Vulkan validation layers means we don't
waste three minutes building a second copy of SPIRV-Tools which we never
use.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
7c320aa13d
ci: Move dEQP message into section
...
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
3693e52cf6
ci: Fix kernel section nesting
...
This got broken when the section switches were moved to separate files.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:03 +00:00
Daniel Stone
6d76c4f476
ci: Fix dependency on lint job
...
The toml-lint job hasn't been around for a little while now, and the
clang-format job got deleted.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287 >
2025-01-30 16:56:02 +00:00
Danylo Piliaiev
e3d477a04f
tu/a7xx: Always have depth/stencil in corresponding resolve groups
...
The division between color and d/s resolve groups appears to be
important. Not doing so causes corruption in some of games
when forcing gmem, e.g. in Arma, War Thunder.
Fixes: 25b73dff5a
("tu/a7xx: use concurrent resolve groups")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33169 >
2025-01-30 16:27:00 +00:00
Timur Kristóf
150123349a
ac/nir/ngg: Use SALU to calculate which threads store to attribute ring in GS.
...
This trades 1 VALU (v_cmpx) instruction in GS to 2 SALU,
and removes a VALU->SALU dependency for the branch that stores
attributes.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
a9e9ec30a5
radv, radeonsi: Disable early prim export on GFX11+.
...
We suspect that it has no perf benefits on GFX11+.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
5560763e99
ac/nir/ngg: Move GS lowering to separate file.
...
Both the VS/TES and GS lowering passes have grown a lot over time,
and therefore the C file has become unwieldy. Mitigate that by
moving the GS lowering out to a separate file.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
ab8ec78c93
ac/nir/ngg: Don't call has_input_primitive in GS lowering.
...
The entire GS lowering will be moved to another file, which
won't have this function.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
910416e5ba
ac/nir/ngg: Remove now unused export_pos0_wait_attr_ring.
...
The issue is worked around now without needing to handle just
the pos0 separately.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
28fe7e2a0e
ac/nir/ngg: Rework GS output code for better attribute ring handling.
...
Create separate branches for output processing and exports.
Normally, emit attribute ring stores at the end of the shader,
but with the attribute ring wait bug, insert them between the
primitive and position export branches.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
213759d2b6
ac/nir/ngg: Carve out ngg_gs_process_out_vertex.
...
This is the part of the code that processes things related to
a single vertex, mainly loading the outputs from LDS and
performing some adjustments on them.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
4f8ee9b045
ac/nir/ngg: Carve out ngg_gs_process_out_primitive.
...
This is the part of the code that processes things related to
a single primitive, mainly the primitive export argument.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
04b4c5d785
ac/nir/ngg: Rework attribute ring wait workaround in VS/TES.
...
Normally, emit attribute ring stores at the end of the shader.
When the attribute ring wait bug is present, insert them between
the primitive and position exports.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
dec5c957c3
ac/nir/ngg: Use has_attr_ring and has_attr_ring_wait_bug in mesh shader lowering too.
...
Instead of hardcoding according to GFX level.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
f7305f776e
ac/nir/ngg: Pass radeon_info to mesh shader lowering.
...
Same idea as the VS/TES and GS lowering:
Make shader compilation decisions based on the features of the
current GPU instead of ad-hoc deciding according to GFX level.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
b8204c8df9
ac/nir/ngg: Remove gfx_level and family from NGG lowering options.
...
They can be read from radeon_info.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
dc6ae1855a
ac/nir/ngg: Use gfx_level from radeon_info.
...
So we don't have to pass it separately.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:46 +00:00
Timur Kristóf
e1be943f10
ac/nir/ngg: Add and use a has_ngg_passthru_no_msg field to ac_gpu_info.
...
Instead of using the chip family field.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
a40000b85b
ac/nir/ngg: Add and use a has_ngg_fully_culled_bug field to ac_gpu_info.
...
Better than applying the workaround ad-hoc based on GFX level.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
cad0d26dbf
ac/nir/ngg: Add and use a has_attr_ring field to ac_gpu_info.
...
While theoretically all GFX11+ GPUs have an attribute ring, it is
nicer to have this property instead of deciding ad-hoc based on
the GFX level.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
b163ce51b1
ac/nir/ngg: Add and use a has_attr_ring_wait_bug field to ac_gpu_info.
...
And apply the attribute ring wait workaround based on the new field.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
e76361d626
ac/nir/ngg: Add radeon_info to NGG lowering options.
...
The intention is to have all the HW features affecting
shader compilation in one place, instead of ad-hoc decisions
in the code based on the GFX level and chip class.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
28c501f22c
ac/nir/ngg: Slightly refactor emitting vertex parameters.
...
No functional changes, just some code cleanup.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
9860fb3780
ac/nir/ngg: Carve out ac_nir_repack_invocations_in_workgroup.
...
We're going to want to call it from a different file too.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
d2ff3f9fa0
ac/nir/ngg: Carve out NGG streamout code.
...
We're going to want to call it from a different file too.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
1d8f46e00c
ac/nir/ngg: Carve out ac_nir_create_output_phis.
...
We're going to want to call it from a different file too.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
4bec453595
ac/nir/ngg: Use ac_nir_ngg_alloc_vertices_and_primitives in mesh shader lowering.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00
Timur Kristóf
02dacac869
ac/nir/ngg: Carve out ac_nir_ngg_alloc_vertices_and_primitives.
...
We're going to want to call it from a different file too.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33218 >
2025-01-30 15:26:45 +00:00