Samuel Pitoiset
052d12492d
ac/nir: only consider overflow for valid feedback buffers
...
Otherwise the ordered operation above (ie. a GDS atomic return) might
return non-zero offsets for invalid buffers.
Fixes: f7076d129d ("amd: add nir_intrinsic_xfb_counter_sub_amd and fix overflowed streamout offsets")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25613 >
2023-10-10 15:47:54 +00:00
Qiang Yu
5263a9e364
ac,radeonsi: remove unused ps prolog key fields
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24989 >
2023-10-10 11:10:20 +08:00
Qiang Yu
38530b808e
ac,radeonsi: move ps arg pos_fixed_pt to ac_shader_args
...
It's a HW init reg, not driver spec user sgpr. radv just
doesn't use it. Move it to amd common for aco ps prolog
usage.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973 >
2023-10-10 02:36:33 +00:00
Marek Olšák
7196b5318d
Revert "ac/gpu_info: replace ib_alignment with per-IP IB base and size alignments"
...
This reverts commit b6f435888b .
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558 >
2023-10-05 19:12:29 +00:00
Marek Olšák
5f42a21dad
Revert "ac/gpu_info: pad IBs according to ib_size_alignment"
...
This reverts commit 4f660f9937 .
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558 >
2023-10-05 19:12:29 +00:00
Marek Olšák
b4be110333
Revert "ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG"
...
This reverts commit 867a995ce7 .
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558 >
2023-10-05 19:12:29 +00:00
Marek Olšák
9f569acf20
ac/surface: don't require exact pitch for gfx6-8 tiled imports
...
It was reported that it broke Stoney. Something probably uses a suboptimal
pitch, like minigbm.
Fixes: 7d066330e0 - ac/surface: relax custom pitch requirements to any multiple of 256B on gfx10.3+
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25540 >
2023-10-05 07:27:02 +00:00
Leo Liu
867a995ce7
ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG
...
With the commit 4f660f99 ("ac/gpu_info: pad IBs according to ib_size_alignment"),
we found kernel isn't reporting ib_base/size_alignment correctly, thus causing
VCN_DEC and JPEG functions broken. We will fix the kernel and bump the kernel
version, and now for the older kernel, we need this override.
closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9916
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25511 >
2023-10-04 22:58:47 +00:00
Rhys Perry
ad5be40303
nir: add fetch inactive index to quad_swizzle_amd/masked_swizzle_amd
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25525 >
2023-10-04 18:53:43 +00:00
Marek Olšák
4f660f9937
ac/gpu_info: pad IBs according to ib_size_alignment
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25043 >
2023-10-01 08:45:22 +00:00
Marek Olšák
b6f435888b
ac/gpu_info: replace ib_alignment with per-IP IB base and size alignments
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25043 >
2023-10-01 08:45:22 +00:00
Marek Olšák
6b29c16db8
amd: rename GFX110x to NAVI31-33
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25492 >
2023-09-30 23:08:47 +00:00
Marek Olšák
d50cc2e0cf
ac/gpu_info: don't align IBs to the GL2 cache line size
...
PAL doesn't do it. If drivers want IBs not to share cache lines with other buffers,
they should align the size manually.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25492 >
2023-09-30 23:08:46 +00:00
Marek Olšák
476529a692
ac/perfcounter: remove a bogus assert to fix an assertion failure on gfx11
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25485 >
2023-09-30 22:23:04 +00:00
Samuel Pitoiset
9a3b902cac
ac/nir: add lowering for task shader queries
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25331 >
2023-09-26 07:50:15 +00:00
Samuel Pitoiset
57dec0678e
ac/nir: add lowering for mesh shader queries
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25331 >
2023-09-26 07:50:15 +00:00
Samuel Pitoiset
1ce80653b2
nir: rename atomic_add_gs_invocation_count_amd to make it more generic
...
It will be re-used to implement mesh/tash shader invocations queries.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25331 >
2023-09-26 07:50:15 +00:00
Samuel Pitoiset
301c402bd8
ac/spm: add support for GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25271 >
2023-09-25 09:05:58 +02:00
Samuel Pitoiset
26c710b7c4
ac/spm: add new segment types for GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25271 >
2023-09-25 08:34:31 +02:00
Samuel Pitoiset
97d87a431a
ac/gpu_info: define AMD_MAX_WGP
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25271 >
2023-09-25 08:34:31 +02:00
Caio Oliveira
3988d901ac
meson: Remove unnecessary inc_compiler mentions
...
The inc_compiler should come as part of idep_compiler, idep_nir or
idep_nir_headers dependency.
Acked-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> (v3dv)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25314 >
2023-09-22 14:52:50 +00:00
Samuel Pitoiset
604a9b7fae
ac/perfcounter: add GFX11 groups
...
Source from PAL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25245 >
2023-09-19 07:24:38 +00:00
Samuel Pitoiset
0925d0d042
ac/perfcounter: add SG_WQP group for GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25245 >
2023-09-19 07:24:38 +00:00
Alyssa Rosenzweig
d1eb17e92e
treewide: Drop nir_ssa_for_src users
...
Via Coccinelle patch:
@@
expression b, s, n;
@@
-nir_ssa_for_src(b, *s, n)
+s->ssa
@@
expression b, s, n;
@@
-nir_ssa_for_src(b, s, n)
+s.ssa
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25247 >
2023-09-18 10:25:17 -04:00
Samuel Pitoiset
fa4d4f84a1
ac/spm: enable support for multi-instance counters
...
This is what RGP expects and this will give us more fine grained
results given that all shader engines/shader arrays etc would be
sampled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240 >
2023-09-18 07:07:32 +00:00
Samuel Pitoiset
414783162a
ac/spm: move the counter instance to ac_spm_counter_create_info
...
This will allow us to configure multi-instance counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240 >
2023-09-18 07:07:32 +00:00
Samuel Pitoiset
d5a5473185
ac,radv,radeonsi: prepare support for multi-instance SPM generic counters
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240 >
2023-09-18 07:07:31 +00:00
Samuel Pitoiset
ed0d3d8cbd
ac,radv,radeonsi: prepare support for multi-instance SPM SQ counters
...
Each SQG modules can configure up to 16 counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240 >
2023-09-18 07:07:31 +00:00
Samuel Pitoiset
af4d4f5203
ac/spm: fix number of instances of GL2C
...
It's a global block, so the number of instances is equal.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240 >
2023-09-18 07:07:31 +00:00
Samuel Pitoiset
3e8922d9f7
ac/spm: select correct segment type for per-SE blocks
...
This currently does nothing because only the first instance is used,
but this will be needed for multi-instance.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240 >
2023-09-18 07:07:31 +00:00
Samuel Pitoiset
033e49995d
ac/spm: use block flags to initialize instance mapping
...
This simplify this a bit, ideally we would also have a per-SA flag
for performance counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240 >
2023-09-18 07:07:31 +00:00
Samuel Pitoiset
84390c5c98
ac/spm: initialize and set instance mapping for counters
...
This configures global, per-SE and per-SA counters with different
indexes. This is still unused because only for the first instance is
used by RADV/RadeonSI, but this will be changed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211 >
2023-09-14 14:17:19 +00:00
Samuel Pitoiset
0864a7dfa9
ac/spm: rework how segment muxsel RAM are filled
...
This is more close to PAL and it will be easier to add GFX11 support
on top of it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211 >
2023-09-14 14:17:19 +00:00
Samuel Pitoiset
6ae64900e2
ac/spm: fix checking if the counter instance is valid
...
This should be compared against the number of global instances, and
there is also an off-by-one error.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211 >
2023-09-14 14:17:19 +00:00
Samuel Pitoiset
90d9406436
ac/perfcounter: compute the number of global instances of TCP,SQ,GL1C and GL2C
...
This will be used by SPM.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211 >
2023-09-14 14:17:19 +00:00
Samuel Pitoiset
60cb257d26
ac/perfcounter: set the number of instances of GL1C to 4
...
According to PAL there is 4 GL1C quadrants. This will also be used
by SPM.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211 >
2023-09-14 14:17:18 +00:00
Samuel Pitoiset
10dc97b20f
ac/gpu_info: init num_cu_per_sh from the kernel
...
This will be used to configure the number of instances of TCP.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211 >
2023-09-14 14:17:18 +00:00
Samuel Pitoiset
9552716208
ac/spm: add SPM block definition for GFX10-GFX10.3
...
Instead of using magic values.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211 >
2023-09-14 14:17:18 +00:00
Samuel Pitoiset
b1ce30539b
ac/spm: remove useless SPM block setting for GFX9 and older GPUs
...
SPM is only implemented for GFX10+ on RADV/RadeonSI, although it's
technically possible on GFX9 but unused by RGP, so don't care.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25211 >
2023-09-14 14:17:18 +00:00
David Rosca
d57241d290
radeonsi/vcn: Set H264/HEVC chroma sample location in bitstream
...
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25078 >
2023-09-14 13:39:59 +00:00
Samuel Pitoiset
aca2adc36c
ac/spm: add SPM counters configuration for GFX11
...
All SQ counters changed to SQ_WGP and the L2 miss changed too.
Sourced from PAL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25175 >
2023-09-14 12:30:52 +00:00
Samuel Pitoiset
42d67183e7
ac/perfcounter: add new SQ_WGP block for GFX11+
...
According to PAL, these SQ counters can be sampled at WGP granularity.
Some SPM counters captured for RGP are using this GPU block.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25175 >
2023-09-14 12:30:52 +00:00
Samuel Pitoiset
31e6c05527
ac,radv,radeonsi: rework SPM counters configuration and share it
...
This should be easier to add GFX11 support.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25175 >
2023-09-14 12:30:52 +00:00
Dave Airlie
c5fb2fff18
ac,radeonsi: move vcn enc av1 default cdf file to common
...
This can be used by radv.
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25196 >
2023-09-14 07:51:24 +00:00
Dave Airlie
daa01703cc
ac,radeonsi: move vcn enc structs to common
...
This just moves the header to make it easier to share with radv.
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25196 >
2023-09-14 07:51:24 +00:00
Samuel Pitoiset
505c2ee92d
ac/rgp: use correct API stage string for mesh/task shaders
...
This allows RGP to report the ISA.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25144 >
2023-09-14 07:19:25 +00:00
Samuel Pitoiset
12f1c5d23b
radv: fix instruction timing on GFX11
...
GFX11 seems to operate on the last active CU.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25171 >
2023-09-14 06:29:10 +00:00
Samuel Pitoiset
c04b10155e
radv: disable unsupported hw shader stages for RGP on GFX11+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25171 >
2023-09-14 06:29:10 +00:00
Samuel Pitoiset
2cc981a0cd
radv: fix capturing RGP on RDNA3 with more than one Shader Engine
...
PKT3_RESET_FILTER_CAM_S seems required on GFX11. Otherwise, capturing
with more than on SE can hang.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25156 >
2023-09-12 08:38:39 +00:00
Timothy Arceri
af1528cc15
nir: replace use of nir_src_copy()
...
Since 03b2c34793 nir_src_copy() no longer does anything useful,
it will be removed in the following patch.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24986 >
2023-09-08 03:01:39 +00:00