Georg Lehmann
60f3f0fdbb
aco/ra: use a switch to check vop2acc instruction support
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29512 >
2024-06-06 16:28:23 +00:00
Georg Lehmann
fdc2fb6835
aco: move literal unswizzle opt to RA
...
Much simpler.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29512 >
2024-06-06 16:28:23 +00:00
Georg Lehmann
c63c750380
aco/gfx11+: fix inline constants for v_pk_fmac_f16
...
On newer hardware, the hi operation reads the lo half of the inline constant.
On older hardware, it reads the hi half (zero).
I tested this on Navi31 for gfx11 and Raphael for gfx10.
Foz-DB Navi31:
Totals from 4 (0.01% of 79395) affected shaders:
CodeSize: 36832 -> 36448 (-1.04%)
Latency: 20362 -> 20334 (-0.14%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29512 >
2024-06-06 16:28:23 +00:00
Georg Lehmann
39380d475a
aco: add affinities for possible sopk optimizations
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29512 >
2024-06-06 16:28:23 +00:00
Georg Lehmann
fac475bc25
aco: rework how affinities for acc operands are determined
...
Improve accuracy by adding a helper that's also used by
the optimization function.
Foz-DB Navi31:
Totals from 50 (0.06% of 79206) affected shaders:
CodeSize: 126148 -> 126128 (-0.02%); split: -0.05%, +0.04%
Latency: 334049 -> 334060 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 59203 -> 59205 (+0.00%)
Copies: 2011 -> 1998 (-0.65%); split: -0.75%, +0.10%
VALU: 14221 -> 14208 (-0.09%); split: -0.11%, +0.01%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29512 >
2024-06-06 16:28:23 +00:00
Samuel Pitoiset
5b6207b282
radv: only set valid bitfields for CB/DS surfaces address on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29566 >
2024-06-06 15:42:35 +00:00
Samuel Pitoiset
fe78ad2690
radv: fix emitting VGT_PRIMITIVEID_RESET in the GFX preamble on GFX12
...
It's a uconfig register.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29566 >
2024-06-06 15:42:35 +00:00
Samuel Pitoiset
be3c837c04
radv: update configuring COVERAGE_TO_SHADER_SELECT on GFX12
...
This bit has been moved to SPI_PS_INPUT_ENA.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29566 >
2024-06-06 15:42:35 +00:00
Samuel Pitoiset
27496928e4
radv: update configuring depth clamp enable on GFX12
...
DISABLE_VIEWPORT_CLAMP has been moved to a new register.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29566 >
2024-06-06 15:42:35 +00:00
Rhys Perry
8e475bba61
aco: implement nir_intrinsic_nop_amd and nir_intrinsic_sleep_amd
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29466 >
2024-06-06 14:26:52 +00:00
Rhys Perry
1ad05d4ca8
aco: implement nir_atomic_op_ordered_add_gfx12_amd
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29466 >
2024-06-06 14:26:52 +00:00
Rhys Perry
0dee5fdd3c
aco: don't combine vgpr into writelane src0
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29466 >
2024-06-06 14:26:52 +00:00
Rhys Perry
2a4424425a
aco/gfx12: fix s_wait_event immediate
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29466 >
2024-06-06 14:26:52 +00:00
Rhys Perry
26c981b2b8
ac/nir: skip subgroup_id/local_invocation_index lowering for gfx12
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29466 >
2024-06-06 14:26:52 +00:00
Rhys Perry
c651eed1d8
aco/gfx12: implement load_subgroup_id
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29466 >
2024-06-06 14:26:52 +00:00
Rhys Perry
61531b19cd
ac/llvm: implement load_subgroup_id
...
Usually this is lowered in NIR, but GFX12 needs to use an intrinsic.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29466 >
2024-06-06 14:26:51 +00:00
Eric Engestrom
ea5b3bfcd1
radv/ci: move radv manual rules into their own group
...
Makes it easier to re-use.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29550 >
2024-06-06 13:00:04 +00:00
Eric Engestrom
47bd1cff4b
radv/ci: fix manual rules
...
It was set to "always run" for amd common files changes when I obviously
meant for it to be manual and messed up my copy/paste when I wrote that.
Fixes: ebaede788e ("amd/ci: limit radv jobs to radv + aco files changes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29550 >
2024-06-06 13:00:04 +00:00
Samuel Pitoiset
4400ecafa7
Revert "radv/ci: Bring back vkcts-navi21-llvm-valve"
...
This job is consuming CI resources for nothing, it's still broken and
it's completely useless.
This reverts commit 8dc364806e .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29568 >
2024-06-06 12:22:33 +00:00
Samuel Pitoiset
e2db42298d
amd/common: add MIN_LOD for texture descriptors on GFX12
...
RADV will need that.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29321 >
2024-06-06 10:15:10 +00:00
Samuel Pitoiset
8cb2cad434
ac,radv,radeonsi: add a function to build texture descriptors
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29321 >
2024-06-06 10:15:10 +00:00
Samuel Pitoiset
4bb308d403
radv: use pipe_format when building image view descriptors
...
This simplifies things before adding a common helper for building
texture descriptors.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29321 >
2024-06-06 10:15:10 +00:00
Samuel Pitoiset
57d0d63d01
radv: only emit CB_COLOR0_DCC_CONTROL on GFX8
...
This register doesn't exist on GFX6-7 (no DCC at all).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29545 >
2024-06-06 07:58:19 +02:00
Samuel Pitoiset
07b0096011
radv: only emit SPI_SHADER_PGM_SRC3_GS on GFX7+
...
This register doesn't exist on GFX6.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29545 >
2024-06-06 07:58:00 +02:00
Samuel Pitoiset
4a7150b469
radv: do not set VGT_SHADER_STAGES_EN.DYNAMIC_HS on GFX9
...
This bit doesn't exist.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29545 >
2024-06-06 07:58:00 +02:00
Samuel Pitoiset
4a75b50eb8
radv: only emit SQ_PERFCOUNTER_MASK on GFX7-9
...
This register doesn't exist on GFX10-10.3.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29545 >
2024-06-06 07:58:00 +02:00
Samuel Pitoiset
96e7ac027c
radv: only emit VGT_GS_MAX_PRIMS_PER_SUBGROUP on GFX9
...
This register doesn't exist on GFX10+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29545 >
2024-06-06 07:58:00 +02:00
Samuel Pitoiset
f62a8f888f
radv: only set valid bitfields for CB/DS surfaces address
...
This isn't a problem in practice but better to mask them out.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29545 >
2024-06-06 07:57:59 +02:00
Marek Olšák
fbc237037c
radeonsi/gfx12: fix GPU deadlocks due to query result incoherency
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29510 >
2024-06-06 01:01:46 +00:00
Marek Olšák
060d5dacfd
ac: add gfx12 DCC shared code
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29510 >
2024-06-06 01:01:46 +00:00
Marek Olšák
1ea96a47cd
ac/nir/lower_ngg: use voffset in global_atomic_add for xfb
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29510 >
2024-06-06 01:01:46 +00:00
Marek Olšák
b002564633
ac/nir/lower_ngg: use global_atomic_amd to fix gfx12 streamout
...
The intrinsics are lowered before this is called.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29510 >
2024-06-06 01:01:46 +00:00
Marek Olšák
5db194b1d1
ac/descriptors: fix gfx12 regressions
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29510 >
2024-06-06 01:01:46 +00:00
Samuel Pitoiset
f7e6609390
radv: assert that GDS/GDS OA buffers can't be created on GFX12
...
No GDS on GFX12 and this will be annoying for some queries that
currently rely on atomic GDS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
8e9e877eb2
radv: cleanup radv_precompute_registers_hw_{ngg,fs}
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
d5074228ab
radv: do not set VGT_PRIMITIVEID_EN.PRIMITIVEID_EN on GFX12
...
This bitfield doesn't exist.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
87c1b981d9
radv: fix configuring NGG registers on GFX12
...
ac_compute_late_alloc() shouldn't be called on GFX12.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
052655b65d
radv: do not emit SPI_SHADER_PGM_RSRC3_GS on GFX12
...
This register shouldn't be emitted according to RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
e6609fa004
radv: update configuring PA_SC_WINDOW_SCISSOR on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
f6aeb86f35
radv: update configuring depth stencil buffers on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
d9650fef24
radv: update configuring color buffers on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
a06aaef704
radv: update number of input VGPRs for VS on GFX12
...
InstanceID is in VGPR1.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
b912d2f899
radv: configure PA_SC_SAMPLE_PROPERTIES on GFX12
...
MAX_SAMPLE_DIST has been moved from PA_SC_AA_CONFIG.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Samuel Pitoiset
aa02cd2a1b
ac,radeonsi: set COLOR_SW_MODE for mutable CB surfaces on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29525 >
2024-06-05 14:47:27 +00:00
Konstantin Seurer
8dc364806e
radv/ci: Bring back vkcts-navi21-llvm-valve
...
Most of the issues were fixed. Let's see how long it will last until it
has to be disabled again.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25293 >
2024-06-05 13:41:47 +00:00
Konstantin Seurer
b100d3f731
ac/llvm: Enable helper invocations for vote_all/any
...
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25293 >
2024-06-05 13:41:47 +00:00
Konstantin Seurer
2b38d4922e
ac/llvm: Fix DENORM_FLUSH_TO_ZERO with exact instructions
...
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25293 >
2024-06-05 13:41:47 +00:00
Samuel Pitoiset
964f2b8140
radv: fix VRS subpass attachments with mipmaps
...
On GFX10.3, the driver should use the VRS image view provided by the
rendering state because it sets the base level correctly. On GFX11+,
using the image view dimension is enough.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29531 >
2024-06-05 06:14:10 +00:00
Georg Lehmann
a3f77e09a1
ac: set has_pack_32_4x8
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28882 >
2024-06-04 17:00:29 +00:00
Faith Ekstrand
bf9038b3b8
radv: Advertise VK_EXT_shader_replicated_composites
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29509 >
2024-06-04 16:34:48 +00:00