Samuel Pitoiset
8fcfadf28e
radv: store a pointer to the logical device in dgc_cmdbuf
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29725 >
2024-06-17 06:45:44 +00:00
Samuel Pitoiset
7fb401c7b2
radv: add a helper to load the pipeline VA for DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29725 >
2024-06-17 06:45:44 +00:00
Samuel Pitoiset
57206eb888
radv: remove redundant nir_builder param in some DGC helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29725 >
2024-06-17 06:45:44 +00:00
Samuel Pitoiset
7ff6f492d5
radv: add new macros for emiting packets in DGC
...
This is way cleaner.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29725 >
2024-06-17 06:45:44 +00:00
Samuel Pitoiset
85d79376d8
radv: do not use nir_pkt3() when the packet len is constant with DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29725 >
2024-06-17 06:45:44 +00:00
Samuel Pitoiset
dd66e43bd9
radv: remove dynamic uniform/storage buffers support with DGC
...
vkd3d-proton is the only user of NV DGC and it doesn't need that.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29726 >
2024-06-17 06:13:57 +00:00
Daniel Schürmann
b7982152ff
aco: use aco::monotonic_allocator for IDSet
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Daniel Schürmann
97fd5d3f33
aco: make aco::monotonic_buffer_resource declaration visible for aco::IDSet
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Daniel Schürmann
95967c2ca0
aco/reindex_ssa: replace live_var parameter with boolean
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Daniel Schürmann
a497d105e3
aco: move live var information into struct Program
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Daniel Schürmann
2322ab427e
aco/scheduler: remove unused register_demand parameter
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29713 >
2024-06-14 14:32:35 +00:00
Pierre-Eric Pelloux-Prayer
5c50e028d1
ac/sqtt: make VA helpers static
...
They're only used from ac_sqtt so don't expose them.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25397 >
2024-06-14 10:32:17 +02:00
Samuel Pitoiset
3f9fe2dbe1
radv: use BDA in the DGC prepare shader
...
Only for buffers that are managed by the application (ie. preprocess,
stream and sequence buffers). For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29605 >
2024-06-14 06:35:18 +00:00
Samuel Pitoiset
730ba8322f
radv: fix incorrect buffer_list advance for multi-planar descriptors
...
If we have an array of multi-planar descriptors, buffer_list was
incorrectly incremented and this could have overwritten some BO entries.
In practice, this situation should be very rare because most of the
applications enable the global BO list.
Cc: mesa-stable
Closes : #10559
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28816 >
2024-06-14 06:14:30 +00:00
Samuel Pitoiset
fa634503ce
radv: emit SPI_GS_THROTTLE_CNTL1 when the attr ring is emitted
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29640 >
2024-06-13 10:24:11 +00:00
Samuel Pitoiset
028d573d37
radv: do not set registers set by CLEAR_STATE in the preamble on GFX10-11.5
...
Based on RadeonSI 7baeb54c2a ("radeonsi: don't set registers set by
CLEAR_STATE in the preamble for gfx10-11").
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29640 >
2024-06-13 10:24:11 +00:00
Samuel Pitoiset
a95d7e46b6
radv: update VGT_TESS_DISTRIBUTION.ACCUM_ISOLINE value
...
Based on PAL/RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29640 >
2024-06-13 10:24:11 +00:00
Daniel Schürmann
677c9d9e93
aco/assembler: fix GFX67 MTBUF opcode encoding
...
Fixes: 56ac6f26e0 ('aco/assembler: slightly refactor MTBUF assembly for more readability')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29708 >
2024-06-13 09:18:05 +00:00
David Rosca
b754ad8f15
radv/video: Add missing VCN 3.0.2 to decoder init switch
...
Fixes video decode on Steam Deck.
Fixes: d599391ac9 ("radv/video: use vcn ip version in more places.")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29688 >
2024-06-13 07:45:40 +00:00
Daniel Schürmann
56ac6f26e0
aco/assembler: slightly refactor MTBUF assembly for more readability
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29692 >
2024-06-12 11:41:58 +00:00
Daniel Schürmann
14f4906e53
aco/assembler: fix MTBUF opcode encoding on GFX11
...
We have accidentally set the tfe bit for some opcodes.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29692 >
2024-06-12 11:41:58 +00:00
Leo Liu
448c716358
ac/surface/tests: add the test for ADDR3_256B_2D
...
Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29541 >
2024-06-11 12:29:11 -04:00
Leo Liu
59e813d953
ac/surface: add GFX12 256B tile mode for video
...
With VCN5, the DPB buffer uses gfx12 tile/swizzle mode.
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29541 >
2024-06-11 12:29:11 -04:00
Rhys Perry
7a4f121c5d
aco: remove some missing label resets
...
In the case of:
c = xor(a, b)
d = not(c)
xor(d, e)
it will be optimized to:
d = xnor(a, b)
xor(d, e)
because "d" would still had a label with "instr=not(c)", it would then be
further optimized to:
d = xnor(a, b)
xnor(c, e)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11309
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29650 >
2024-06-11 09:30:16 +00:00
Samuel Pitoiset
51d1e005e8
radv: use the common SQTT implementation
...
I have verified the generated command stream using PM4 is similar to
the previous one on POLARIS10, VEGA10, NAVI21 and NAVI31.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29499 >
2024-06-11 06:46:55 +00:00
Samuel Pitoiset
ea8f29b4a7
radv: emit more consecutive registers for SQTT on GFX8-9
...
This change is only useful to compare the command stream generated by
PM4 in the next commit.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29499 >
2024-06-11 06:46:55 +00:00
Samuel Pitoiset
a373ba92c3
amd: add a common implementation for SQTT using PM4
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29499 >
2024-06-11 06:46:55 +00:00
Samuel Pitoiset
2fab42ad2e
amd: mark more registers that need RESET_FILTER_CAM in PM4
...
For SQTT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29499 >
2024-06-11 06:46:55 +00:00
Samuel Pitoiset
0c08673656
amd: allow to emit privileged config registers in PM4
...
For SQTT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29499 >
2024-06-11 06:46:55 +00:00
Samuel Pitoiset
b82e5c8da8
ac,radv,radeonsi: add more parameters to ac_sqtt
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29499 >
2024-06-11 06:46:55 +00:00
Samuel Pitoiset
155399d03b
ac,radv: add a helper for SQTT control register
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29499 >
2024-06-11 06:46:55 +00:00
Pierre-Eric Pelloux-Prayer
a7880f3edb
radv/sqtt: use radeon_check_space before emit_spm_*
...
This fixes the following error on a rdna2:
radeon_set_uconfig_reg_seq: Assertion `cs->cdw + 2 + num <= cs->reserved_dw' failed.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29499 >
2024-06-11 06:46:55 +00:00
Samuel Pitoiset
a80a1c9838
radv: don't assume that TC_ACTION_ENA invalidates L1 cache on gfx9
...
Ported from RadeonSI 279315fd73 ("radeonsi: don't assume that
TC_ACTION_ENA invalidates L1 cache on gfx9")
Thanks to Rhys for noticing this by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29644 >
2024-06-11 06:15:12 +00:00
Friedrich Vock
15f2c9c553
aco: Limit rt stages to 128 vgprs
...
Totals from 35472 (7.40% of 479373) affected shaders:
MaxWaves: 206239 -> 283776 (+37.60%)
Instrs: 193922210 -> 202721106 (+4.54%)
CodeSize: 1056819972 -> 1110833680 (+5.11%); split: -0.00%, +5.11%
VGPRs: 6026704 -> 4540416 (-24.66%)
SpillSGPRs: 23742 -> 25754 (+8.47%)
SpillVGPRs: 118897 -> 2295118 (+1830.34%)
Scratch: 7201792 -> 152752128 (+2021.03%)
Latency: 2713432565 -> 3194796286 (+17.74%); split: -0.20%, +17.94%
InvThroughput: 1052131232 -> 935049835 (-11.13%); split: -16.59%, +5.46%
VClause: 6972784 -> 8716721 (+25.01%); split: -0.02%, +25.03%
SClause: 4879313 -> 4852452 (-0.55%); split: -0.88%, +0.33%
Copies: 32782141 -> 35223995 (+7.45%)
Branches: 11075847 -> 11094087 (+0.16%); split: -0.00%, +0.17%
VALU: 118525960 -> 120929058 (+2.03%)
SALU: 33924572 -> 33973293 (+0.14%); split: -0.03%, +0.17%
VMEM: 12419116 -> 17104582 (+37.73%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29593 >
2024-06-10 19:39:52 +00:00
Friedrich Vock
ec8512ce85
aco/spill: Don't spill phis with all-undef operands
...
Fixes some crashes when limiting RT stages to 128 VGPRs.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29593 >
2024-06-10 19:39:52 +00:00
Samuel Pitoiset
128cca21c0
radv: pass a radv_shader to radv_get_compute_pipeline_metadata()
...
And rename to radv_get_compute_shader_metadata().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29652 >
2024-06-10 17:31:12 +00:00
Ruijing Dong
8cd53d95fe
radesonsi/vcn: update vcn4 tile processing logic
...
Vcn4 tile number calculation doesn't consider
some input case, which could result in output
bitstream corruption, this fixed the issue.
Not using the number_of_tiles directly but from
calculation. Also change to re-use some macros
from local vcn_5_0.c to ac_vcn_enc.h header file.
Updated vcn4 spec_misc_av1 ip package.
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29556 >
2024-06-10 13:12:20 +00:00
Eric Engestrom
95ca41bef9
radv/ci: drop duplicate navi31-aco flakes line
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29631 >
2024-06-09 22:31:30 +02:00
Eric Engestrom
ef0f926aff
radv/ci: drop duplicate navi21-aco flakes line
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29631 >
2024-06-09 22:31:23 +02:00
Eric Engestrom
f4f30ed826
radeonsi/ci: mark a bunch of tests as fixed on vangogh
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29631 >
2024-06-09 22:30:36 +02:00
Georg Lehmann
05ca6e2478
amd/common: set COMPUTE_STATIC_THREAD_MGMT_SE2-3 correctly on gfx10-11
...
There is a hole between SE1 and SE2 occupied by COMPUTE_TMPRING_SIZE.
Fixes: 3c8b48e310 ("ac,radeonsi: add a function to initialize compute preambles")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29622 >
2024-06-08 19:18:53 +00:00
Eric Engestrom
c02329ded1
ci: set a common B2C_JOB_SUCCESS_REGEX with the message that's printed for all jobs
...
Simpler code, and more reliable against serial corruption because that
message is printed 4 times (vs only once for the other ones).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29608 >
2024-06-08 07:16:27 +00:00
Marek Olšák
dc113c418d
ac/nir: import the dispatch logic for the universal compute clear/blit shader
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28917 >
2024-06-08 05:48:11 +00:00
Marek Olšák
6b15e45908
ac/nir: import the universal compute clear/blit shader
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28917 >
2024-06-08 05:48:11 +00:00
Marek Olšák
1becc6953c
ac/nir: import the MSAA resolving pixel shader from radeonsi
...
It has a lot of options for efficiency.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28917 >
2024-06-08 05:48:11 +00:00
Marek Olšák
f96bbb64d6
radeonsi: add decision code to select when to use compute blit for performance
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28917 >
2024-06-08 05:48:11 +00:00
Marek Olšák
1b9ce2625f
ac/nir/lower_ngg: don't use gfx12 xfb defs outside their basic block on gfx11
...
Move the defs after nir_pop_if and phis and inside the gfx12 branch.
Fixes: 1ea96a47cd - ac/nir/lower_ngg: use voffset in global_atomic_add for xfb
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29564 >
2024-06-08 00:11:18 -04:00
Marek Olšák
ea99c3fcb9
amd: update addrlib
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29564 >
2024-06-08 00:11:17 -04:00
Marek Olšák
2ea3cb054b
ac/surface: pass the correct addrlib handle to Addr3GetPossibleSwizzleModes
...
Fixes: d22564d29c - ac/surface: add gfx12
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29564 >
2024-06-08 00:11:15 -04:00
Eric Engestrom
bd6ace73f3
radv/ci: document navi31 regression from !29235
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29596 >
2024-06-07 20:57:01 +00:00