Samuel Pitoiset
8e4d5743d2
radv: move debug related drirc to radv_drirc::debug
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145 >
2025-09-05 05:56:17 +00:00
Samuel Pitoiset
f13b181791
radv: move performance related drirc to radv_drirc::performance
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145 >
2025-09-05 05:56:16 +00:00
Samuel Pitoiset
d575b91b3a
radv: move features related drirc to radv_drirc::features
...
For better organization.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145 >
2025-09-05 05:56:16 +00:00
Samuel Pitoiset
d915f24cb2
radv: move drirc options to a separate struct
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145 >
2025-09-05 05:56:15 +00:00
Samuel Pitoiset
d98e31eab6
radv: mark RADV_DEBUG=nongg_gs as deprecated
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145 >
2025-09-05 05:56:15 +00:00
Samuel Pitoiset
7304423b5c
radv: mark RADV_DEBUG=splitfma as deprecated
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145 >
2025-09-05 05:56:14 +00:00
Samuel Pitoiset
4748ecb238
radv: mark RADV_DEBUG=invariantgeom as deprecated
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145 >
2025-09-05 05:56:13 +00:00
Samuel Pitoiset
a8a8bfee1f
radv: mark RADV_DEBUG=nodynamicbounds as deprecated
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145 >
2025-09-05 05:56:13 +00:00
Georg Lehmann
83326af899
nir/builder: add nir_inverse_ballot_imm
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37178 >
2025-09-04 14:03:56 +00:00
Georg Lehmann
ef8c364d3d
nir: make inverse_ballot 1bit only
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37178 >
2025-09-04 14:03:56 +00:00
Eric Engestrom
d698251e32
radv/ci: document whether ci-tron jobs runs on an APU or a dGPU
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37124 >
2025-09-04 09:47:21 +00:00
Eric Engestrom
1a1e21e725
radv/ci: deduplicate navi10 GPU_VERSION
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37124 >
2025-09-04 09:47:21 +00:00
Yiwei Zhang
94d8a4a465
radv: bind aliased wsi image at memory offset zero
...
This aligns with common wsi, and also obeys dedicated alloc requirement.
Fixes: 825c05a7e8 ("radv: adopt wsi_common_get_memory")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37152 >
2025-09-03 16:29:34 +00:00
Rhys Perry
7f5c84d7ac
radv: fix shift overflow in radv_pipeline_init_dynamic_state
...
Fixes UBSan error with thewitness/005aa77325a11410:
runtime error: left shift of 15 by 28 places cannot be represented in type 'int'
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37055 >
2025-09-03 11:47:00 +00:00
Rhys Perry
1105f7b98f
aco: fix signed integer overflow
...
Fix UBSan error:
runtime error: signed integer overflow: 2147483647 + 32 cannot be represented in type 'int'
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37055 >
2025-09-03 11:47:00 +00:00
Samuel Pitoiset
6bc70a0e8f
radv/ci: remove RADV_DEBUG=novideo for radv-gfx1201-vkcts
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37134 >
2025-09-03 07:19:55 +00:00
Samuel Pitoiset
3cb77cb144
radv/rt: fix a potential issue with RADV_PERFTEST=dmashaders
...
Shaders must be synchronized before doing anything.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37126 >
2025-09-03 06:16:14 +00:00
Samuel Pitoiset
decf9af472
radv/rt: only use one user SGPR for the traversal shader addr
...
All shaders are allocated in the 32-bit addr space. To avoid an issue
with alignment, and also for future work, there is an unused user SGPR.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37133 >
2025-09-03 05:53:41 +00:00
Daniel Schürmann
fcf8899c9e
radv/rt: use ACCESS_CAN_REORDER when loading SBT entries
...
Totals from 56 (0.07% of 79839) affected shaders: (Navi48)
Instrs: 2790220 -> 2790130 (-0.00%); split: -0.00%, +0.00%
CodeSize: 14704952 -> 14704292 (-0.00%)
Latency: 13994383 -> 13953444 (-0.29%); split: -0.29%, +0.00%
InvThroughput: 2717973 -> 2710748 (-0.27%); split: -0.27%, +0.00%
VClause: 68783 -> 68687 (-0.14%)
SClause: 51910 -> 52007 (+0.19%)
Copies: 223192 -> 223190 (-0.00%); split: -0.01%, +0.01%
VALU: 1557513 -> 1557451 (-0.00%); split: -0.00%, +0.00%
VMEM: 118789 -> 118692 (-0.08%)
SMEM: 66498 -> 66595 (+0.15%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36933 >
2025-09-02 19:07:30 +00:00
Pierre-Eric Pelloux-Prayer
cd5f77f6c2
radeonsi: sync harder on finish
...
With the threaded submit code, there's a small window where
the fence can be signalled but the buffer lists cleanup code
from amdgpu_cs_submit_ib has not executed yet.
This is harmless in general, because num_active_ioctls is
an optimization.
When the glFinish is called though, it's best to avoid this
inconsistencies because it can create odd behavior as shown
by the flakes being fixed by this commit.
The test runs a query, uses glFinish and expect the results
to be available. Since results availability depends on
num_active_ioctls, it made the test flaky.
Fix this by syncing when PIPE_FLUSH_HINT_FINISH is set.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36930 >
2025-09-02 17:46:46 +00:00
David Rosca
3f317348c2
radv/video: Fix VP9 loop filter and segmentation params
...
Fixes: b8ac2d47e7 ("radv/video: add KHR_video_decode_vp9 support.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13801
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37080 >
2025-09-02 10:46:23 +00:00
Daniel Schürmann
441d5aab08
aco/ra: coalesce vector affinities with tied definitions
...
Totals from 19310 (24.19% of 79839) affected shaders: (Navi48)
MaxWaves: 564238 -> 564542 (+0.05%); split: +0.06%, -0.01%
Instrs: 10856428 -> 10803360 (-0.49%); split: -0.53%, +0.04%
CodeSize: 56405088 -> 56189384 (-0.38%); split: -0.41%, +0.02%
VGPRs: 986120 -> 985952 (-0.02%); split: -0.50%, +0.48%
Latency: 53956142 -> 53940850 (-0.03%); split: -0.11%, +0.09%
InvThroughput: 8769260 -> 8735595 (-0.38%); split: -0.49%, +0.11%
VClause: 237471 -> 237452 (-0.01%); split: -0.05%, +0.04%
SClause: 225385 -> 225389 (+0.00%)
Copies: 799792 -> 744150 (-6.96%); split: -7.25%, +0.30%
Branches: 208574 -> 208572 (-0.00%); split: -0.00%, +0.00%
VALU: 6116920 -> 6061448 (-0.91%); split: -0.95%, +0.04%
SALU: 1442068 -> 1441990 (-0.01%); split: -0.01%, +0.00%
VOPD: 1914 -> 1744 (-8.88%); split: +0.10%, -8.99%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36851 >
2025-09-02 10:24:27 +00:00
Daniel Schürmann
2f303636f3
aco/ra: consider precolor affinities in get_reg_vector()
...
No fossil changes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36851 >
2025-09-02 10:24:27 +00:00
Daniel Schürmann
6dbf8f7b90
aco/ra: don't set precolor affinities for already assigned temporaries
...
Also don't overwrite existing precolor affinities.
Totals from 248 (0.31% of 79839) affected shaders: (Navi48)
Instrs: 154427 -> 154401 (-0.02%); split: -0.12%, +0.10%
CodeSize: 812880 -> 812568 (-0.04%); split: -0.12%, +0.08%
VGPRs: 12432 -> 12408 (-0.19%)
Latency: 851623 -> 851801 (+0.02%); split: -0.03%, +0.05%
InvThroughput: 156569 -> 156581 (+0.01%); split: -0.04%, +0.05%
VClause: 2672 -> 2681 (+0.34%); split: -0.34%, +0.67%
Copies: 12645 -> 12660 (+0.12%); split: -0.53%, +0.65%
VALU: 82894 -> 82909 (+0.02%); split: -0.08%, +0.10%
SALU: 25406 -> 25424 (+0.07%); split: -0.07%, +0.14%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36851 >
2025-09-02 10:24:26 +00:00
Daniel Schürmann
eb557fd090
aco/ra: add vector_info::index to indicate the Operand's index into the vector
...
This simplifies the code and will allow for a mismatch between the index and
the Operand's temporary.
Totals from 28 (0.04% of 79839) affected shaders: (Navi48)
Instrs: 18453 -> 18440 (-0.07%); split: -0.08%, +0.01%
CodeSize: 98588 -> 98532 (-0.06%); split: -0.06%, +0.00%
Copies: 1347 -> 1333 (-1.04%); split: -1.11%, +0.07%
VALU: 10431 -> 10417 (-0.13%); split: -0.14%, +0.01%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36851 >
2025-09-02 10:24:26 +00:00
Martin Roukala (né Peres)
40a632cb18
radv/ci: switch to default kernel to b2c's default kernel
...
This brings linux v6.16.3 to most jobs but the following ones:
* navi21/31: still waiting for the zerovram bug fix
* polaris10: 6.16 introduced an sdma-related hang that is being bisected
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37085 >
2025-09-02 07:48:53 +00:00
Samuel Pitoiset
ff0197d44a
radv: disable VK_EXT_image_compression_control on GFX12
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This extension is mostly only used by vkd3d-proton to disable DCC for
game bugs. On GFX12 DCC is completely transparent to the userspace
driver, so exposing this extension isn't very useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37122 >
2025-09-02 06:36:16 +00:00
Samuel Pitoiset
9b90d3fa4d
radv: remove unnecessary radv_graphics_pipeline::is_ngg
...
Use the last VGT shader to know if it's using NGG.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37120 >
2025-09-02 06:18:05 +00:00
Samuel Pitoiset
2ccdae24cf
radv: remove set but unused radv_graphics_pipeline fields
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37120 >
2025-09-02 06:18:05 +00:00
Samuel Pitoiset
478cbb6113
radv: remove set but unused has_nggc in radv_cmd_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37120 >
2025-09-02 06:18:05 +00:00
Samuel Pitoiset
8958acb424
radv: remove unused radv_pipeline::user_data_0
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37120 >
2025-09-02 06:18:04 +00:00
Eric Engestrom
b599fd8612
radv/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37127 >
2025-09-01 20:46:42 +00:00
Eric Engestrom
5177ee68de
radeonsi/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37127 >
2025-09-01 20:46:42 +00:00
David Rosca
e394244a89
radv: Use extra context for video encode queue with multiple VCN instances
...
amdgpu does VCN instance scheduling per context, so we need to use
different context in order to allow decode to run on one instance
and encode on the other one.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36642 >
2025-09-01 10:56:31 +00:00
David Rosca
2667db1114
radeonsi/vcn: Correctly set chroma location with EFC
...
EFC supports horizontal left and vertical top/center.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36977 >
2025-09-01 10:30:38 +00:00
Mike Blumenkrantz
213a63f236
radv: ALWAYS_INLINE radv_upload_graphics_shader_descriptors and relateds
...
Reduce the CPU overhead of these functions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:53:02 +00:00
Samuel Pitoiset
4046317040
radv: fix compiler warnings when uploading cmdbuf data might fail
...
Just need to return to avoid possible uninitialized variables.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:53:02 +00:00
Samuel Pitoiset
f3e0d4a60b
radv: translate stencil op earlier
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:53:01 +00:00
Samuel Pitoiset
a9cae4d43c
radv: remove unnecessary ternary expressions in radv_emit_depth_stencil_state()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:53:01 +00:00
Samuel Pitoiset
1cbb9dc846
radv: rename DIRTY_PATCH_CONTROL_POINTS_STATE to DIRTY_LS_HS_CONFIG
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:53:00 +00:00
Samuel Pitoiset
41ad7e6eaf
radv: do not trigger PATCH_CONTROL_POINTS_STATE on GFX12
...
The number of patch control points is emitted as part of VGT_PRIM_STATE.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:53:00 +00:00
Samuel Pitoiset
47d2af814f
radv: pre-compute tessellation num patches/lds size earlier
...
This will also pre-compute when the state is static but I think it's
less error prone like this and also more consistent.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:59 +00:00
Samuel Pitoiset
51d16e9aec
radv: dirty the raster state when setting the primitive topology
...
Instead of the dynamic state which is equivalent but abusing
dirty_dynamic for stuff like that isn't a good idea.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:59 +00:00
Samuel Pitoiset
0e398ddc43
radv: cleanup configuring AUTO_RESET_CNTL
...
There is already a different branch for >= GFX12 and older gens.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:58 +00:00
Samuel Pitoiset
93d3427543
radv: emit BREAK_BATCH when the PS changes also for ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:58 +00:00
Samuel Pitoiset
93ffb0db03
radv: add an early return to radv_flush_vertex_descriptors()
...
To prevent mesh shaders to potentially crash. Also remove the assertion
which is now useless.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:57 +00:00
Samuel Pitoiset
be8ccf6378
radv: use radv_get_vgt_outprim_type() for the NGG SGPRs state
...
Shouldn't change anything either but vgt_outprim_type will be
pre-computed later.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:56 +00:00
Samuel Pitoiset
d14ff3eafe
radv: use radv_get_vgt_outprim_type() to disable NGGC for points/lines
...
This shouldn't change anything because NGGC for points/lines are
disabled at compile time for TES/GS. It's only unconditionally enabled
for VS because with fast-GPL/ESO, the driver might not know the
primitive topology at compile time and it must be disabled dynamically
later.
Note that NGGC supports culling lines now, so it could be enabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:56 +00:00
Samuel Pitoiset
4cbadc85e0
radv: clear dynamic states earlier
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:55 +00:00
Samuel Pitoiset
12d618ef64
radv: split RADV_CMD_DIRTY_NGGC_STATE in two states
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022 >
2025-09-01 08:52:55 +00:00