Georg Lehmann
482137402a
aco/ssa_elimination: check if pseudo scratch reg overwrittes regs used for v_cmpx opt
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
e7d6cd9216
aco/post-ra: track pseudo scratch sgpr/scc clobber
...
Foz-DB Navi31:
Totals from 1439 (1.84% of 78112) affected shaders:
Instrs: 1994854 -> 1996650 (+0.09%)
CodeSize: 11376864 -> 11383384 (+0.06%)
Latency: 14996299 -> 14999317 (+0.02%); split: -0.00%, +0.02%
InvThroughput: 2061294 -> 2061518 (+0.01%); split: -0.00%, +0.01%
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
1eb067ee9f
aco: store if pseudo instr needs scratch reg
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
bd93e8372d
aco/post-ra: assume scc is going to be overwritten by phis at end of blocks
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
a5056b2f93
aco/post-ra: rename overwritten_subdword to allow additional uses
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Georg Lehmann
b0554ab0a1
aco: create pseudo instructions with correct struct
...
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27855 >
2024-03-05 20:16:21 +00:00
Yonggang Luo
db103c56ab
treewide: Remove vulkan/runtime vulkan/util prefix in include path
...
This is for unify the include style of shared vulkan headers
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27526 >
2024-03-05 19:05:00 +00:00
Friedrich Vock
4c05ebf3a5
radv: Set SCRATCH_EN for RT pipelines based on dynamic stack size
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27899 >
2024-03-05 18:15:00 +00:00
Georg Lehmann
230743da2e
nir: remove rotate scope
...
All other subgroup operations do not have a scope in NIR, so for consistency
rotate shouldn't have one either.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27964 >
2024-03-05 14:12:21 +00:00
Eric Engestrom
78ea3bb43d
ci/deqp: use the proper gl/gles releases for deqp-gl*, deqp-gles*, deqp-egl
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27473 >
2024-03-04 16:53:58 +00:00
Sathishkumar S
f3ab454f07
ac/gpu_info: query the number of ip instance
...
query the number of ip instances for VCN and JPEG
v2: use num_queues and remove new variable (Marek)
v3: remove whitespace (Leo)
v4: remove redundant print jpeg_decode (Marek)
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Reviewed-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/27884 >
2024-03-04 13:41:56 +00:00
Samuel Pitoiset
a38e7f127a
radv: preserve streamout_buffers user SGPR for VS/TES + GS compiled separately
...
Otherwise, VS or TES could overwrite it but it needs to be preserved
if GS reads it.
This fixes the remaining NGG streamout bug on RDNA3 with VKCTS and ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27914 >
2024-03-04 07:38:06 +00:00
Saleemkhan Jamadar
4ed4058910
radeonsi/vcn: set jpeg reg version for gfx 1151
...
select appropriate jpeg reg version for gfx 1151
Co-authored-by: Alan Liu <haoping.liu@amd.com>
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27811 >
2024-03-04 04:43:53 +00:00
Yifan Zhang
4ed8931164
radv: initialize video decoder for GFX11.5.1
...
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27811 >
2024-03-04 04:43:53 +00:00
Yifan Zhang
8446604dd4
amd: Add code to enable gfx11.5.1
...
Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27811 >
2024-03-04 04:43:53 +00:00
Eric Engestrom
5a852bd24c
radeonsi/ci: add vangogh piglit flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27941 >
2024-03-03 20:34:59 +00:00
Luca Bacci
fe520ecfbf
meson,windows: Use relative paths in Vulkan ICD manifest files
...
See https://github.com/msys2/MINGW-packages/issues/16065
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27468 >
2024-03-01 20:09:59 +00:00
Konstantin Seurer
6380118d13
radv/meta: Add shader - device mapping for radv_build_printf
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27817 >
2024-03-01 18:46:41 +00:00
Konstantin Seurer
d9a1882daa
radv/rra: Avoid reading past the ray history buffer
...
The loop exit condition did not take the token size into account.
Fixes: 767f628 ("radv/rra: Dump basic ray history tokens")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27815 >
2024-03-01 18:20:13 +00:00
Bas Nieuwenhuizen
3b15a9c52c
radv: Expose VK_EXT_map_memory_placed.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
7e029735e6
radv: Implement reserving the VA range on unmap.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
a6a31538c5
radv: Support for mapping a buffer at a fixed address.
...
Doing the separate bool to support mapping at 0.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
d779cda0ae
radv/amdgpu: Use mmap directly.
...
To give more control.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
cccbe1527c
radv/winsys: Use radv_buffer_map wrapper.
...
So we can have 1 function ptr and then have a version with default
args.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Bas Nieuwenhuizen
f7e8fdf35d
radv: Add winsys argument to buffer map/unmap.
...
To use later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27689 >
2024-03-01 15:07:09 +00:00
Samuel Pitoiset
4e95d1cc12
radv: allow RADV_PERFTEST=shader_object on GFX11
...
It should be working now on RDNA3.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27724 >
2024-03-01 14:45:05 +00:00
Samuel Pitoiset
426d8b5216
radv: add support for emitting NGG shaders with ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27724 >
2024-03-01 14:45:05 +00:00
Samuel Pitoiset
85d682b318
radv: lower lds_ngg_{gs_out_vertex_base,_scratch_base} with ESO
...
These values will be computed at draw time when both shaders are known
in case it's VS+GS or TES+GS as NGG.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27724 >
2024-03-01 14:45:05 +00:00
Samuel Pitoiset
2a9b466299
radv: add a new user SGPR for NGG shaders compiled separately with ESO
...
The esgs ring size and the scratch lds base can't be known at compile
time when NGG shaders are merged separately.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27724 >
2024-03-01 14:45:05 +00:00
Samuel Pitoiset
4d87a05d34
radv: add a helper to emit PKT3_COND_EXEC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27746 >
2024-03-01 14:19:48 +00:00
Samuel Pitoiset
f21cc55dae
radv: add missing conditional rendering for indirect dispatches on GFX6
...
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27746 >
2024-03-01 14:19:48 +00:00
Samuel Pitoiset
cdf7e35618
radv: fix conditional rendering on compute queue on GFX6
...
PKT3_SET_PREDICATION is GFX only, even on GFX6.
This fixes recent
dEQP-VK.conditional_rendering.dispatch.*_compute_queue.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27746 >
2024-03-01 14:19:48 +00:00
Daniel Schürmann
67ea2eb97a
radv: fix initialization of radv_shader_layout->use_dynamic_descriptors
...
Fixes: 66eaca3a0a ('radv: introduce radv_shader_layout for per-stage descriptor layout')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27898 >
2024-03-01 09:06:33 +00:00
Samuel Pitoiset
529efb1f9b
radv: enable deviceGeneratedComputePipelines
...
This is supported now and it's passing
dEQP-VK.dgc.nv.compute.layout.pipeline_*.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
cbeb88012c
radv: force shader BOs to be local BOS with DGC indirect compute pipelines
...
To make sure the compute shader BO is always part of the DGC execute
submission. This is more like a workaround but this ext is currently
only exposed for vkd3d-proton and it doesn't use indirect compute
pipeline binds.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
c253a76f5d
radv: handle indirect pipeline binds with scratch and DGC
...
vkCmdUpdatePipelineIndirectBufferNV() can be called on any queue
supporting transfer operations and it's not required to call it on the
same queue as DGC execute. This is very annoying if the compute shader
has scratch because it needs to be configured per queue.
The solution is to gather the maximum possible scratch size used by
indirect compute pipelines and use that to configure scratch.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
a2d67adff1
radv: implement indirect compute pipeline binds with DGC
...
This also supports push constants.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
12b015940f
radv: implement vkCmdUpdatePipelineIndirectBufferNV()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
74ff7fe02f
radv: implement vkGetPipelineIndirectXXX() for DGC
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
91c21c8cba
radv: add support for VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
...
This stores the VA/size of the indirect buffer to be used in
vkCmdUpdatePipelineIndirectBufferNV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
6d8f88d12f
radv: add a function to get compute pipeline metadata for DGC
...
This struct will be used to emit a compute pipeline from the prepare
DGC shader.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:59 +00:00
Samuel Pitoiset
7409d7ec29
radv: add a helper to calculate the compute resource limits
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:58 +00:00
Samuel Pitoiset
1cddf59165
radv: get the pipeline layout info from the push constant token with DGC
...
They must be compatible and this allows us to remove some pipeline
references (useful for experimenting pipeline binds).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27495 >
2024-03-01 06:59:58 +00:00
Friedrich Vock
b588cb29a3
radv/rt: Handle monolithic pipelines in capture/replay
...
If monolithic shaders were inlined, there might not be a radv_shader
associated with some stages. Zero out the shader allocation info in that
case, the shader will get identified by hash instead.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27890 >
2024-02-29 22:21:12 +00:00
Chia-I Wu
2c10767732
radv: set VK_SYNC_FEATURE_GPU_MULTI_WAIT
...
I think amdgpu always supports multi wait since syncobj is just a
container of dma-fences. Fixes
Assertion `!(req_features & ~ttype->point_sync_type->features)' failed.
in vk_sync_timeline_type_validate on older kernels.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27838 >
2024-02-29 20:20:37 +00:00
Chia-I Wu
f9907733e3
radv: hide the sparse queue on older kernels
...
On older kernels without timeline syncobjs, the timeline and the submit
modes are VK_DEVICE_TIMELINE_MODE_EMULATED and
VK_QUEUE_SUBMIT_MODE_DEFERRED respectively. They are incompatible with
the sparse queue which requires VK_QUEUE_SUBMIT_MODE_THREADED.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27838 >
2024-02-29 20:20:37 +00:00
Chia-I Wu
dd84a575c0
radv: hide the sparse queue when radv_legacy_sparse_binding
...
This change is unnecessary but should be harmless. We will have other
reasons to hide the sparse queue so do it here for
radv_legacy_sparse_binding as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27838 >
2024-02-29 20:20:37 +00:00
David Rosca
cbbed6ca3e
radeonsi/vcn: Implement separate QP for I/P/B frames
...
This also fixes max_au_size as a side effect of using new IB.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27558 >
2024-02-29 16:12:13 +00:00
Martin Roukala (né Peres)
81230513a8
radv/ci: add a vkd3d-tahiti job
...
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27844 >
2024-02-28 17:54:47 +00:00
Samuel Pitoiset
778ef9b133
radv: move conditional rendering for compute in radv_cmd_state
...
Like other conditional rendering states.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27818 >
2024-02-28 17:33:29 +00:00