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
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
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
Timur Kristóf
a3d8e6a60c
ac/nir/ngg: Remove unused vs_output struct.
...
Forgot to remove this when I refactored the code to use
ac_nir_prerast_out instead.
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
23641d4032
ac/nir/ngg: Add a few comments explaining some variables.
...
These were somewhat confusing, so let's add a few words to
explain what they are exactly.
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
28f49bf99c
ac/nir/ngg: Remove some superfluous variables from culling code.
...
No functional changes, just 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
e9069eec8a
aco: Move NGG pos export scheduling determination to drivers.
...
And don't schedule them on GFX11+ at all.
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
7a3d95bbe2
ac/nir/ngg: Mitigate attribute ring wait bug when primitive ID is per-primitive.
...
There is a possibility that some waves in an NGG workgroup
don't have any input vertices, only primitives. When these
waves store the primitive ID as a per-primitive attribute,
they will need to wait for those stores before the primitive
export, because the other waves can't wait for them.
Cc: mesa-stable
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
397d45d055
ac/nir/ngg: Mitigate NGG fully culled bug when GS output is compile-time zero.
...
This case is unlikely but possible. We forgot to handle it here,
because it was originally handled by the backend compiler.
On GFX10 chips that have issues with 0 vertices and primitives
exported, this will always export at least 1 vertex and primitive.
This could theoretically fix some hangs on Navi 10, although we are not aware of a specific issue caused by this problem.
Cc: mesa-stable
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
Erico Nunes
18fb397249
ci/lima: update piglit ci expectations
...
Some regressions during lima lab downtime.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33299 >
2025-01-30 14:22:09 +00:00
Tapani Pälli
cb71030387
mesa: enable GL_EXT_conservative_depth extension
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33065 >
2025-01-30 10:50:37 +00:00
Valentine Burley
b3e4a113b2
freedreno/ci: Document flakes
...
Some of these cause pipelines to fail.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33298 >
2025-01-30 10:25:05 +00:00
Valentine Burley
06ab1c81d1
amd/ci: Increase amd-raven-skqp parallelism
...
This job was taking too long and there's more DUTs in available in LAVA.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33298 >
2025-01-30 10:25:05 +00:00
Valentine Burley
676d4f83d4
virgl/ci: Skip flaky trace
...
This flake doesn't render at times and can fail merge pipelines.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33298 >
2025-01-30 10:25:05 +00:00
Mike Blumenkrantz
d8b7fbd4ac
ci: mark radv-raven-traces-restricted with allow_failure
...
restricted trace jobs are allowed to fail
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33244 >
2025-01-30 09:49:11 +00:00
Samuel Pitoiset
d6f9c19755
radv/amdgpu: add support for AMDGPU_GEM_CREATE_GFX12_DCC
...
This flags will be used to set PTE.DCC to VRAM allocations
(ie. compression).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33284 >
2025-01-30 08:18:22 +00:00