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
Samuel Pitoiset
536c44d946
radv: fix conditional rendering with direct mesh+task draws and multiview
...
Having to compute the predication size manually is VERY prone to errors.
Cc: mesa-stable
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
Samuel Pitoiset
ba7b7e2d3f
radv: add missing RADV_DEBUG_NO_NGG_GS to the physical device cache key
...
This affects shaders and they need to be recompiled.
Fixes: 69d734a8d5 ("radv: add RADV_DEBUG=nongg_gs for GFX10/GFX10.3")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27820 >
2024-02-28 17:07:26 +00:00
Samuel Pitoiset
b3064f9cf4
radv: clean up MAX_ALLOWED_TILES_IN_WAVE programming
...
To match RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27789 >
2024-02-28 11:39:33 +00:00
Ruijing Dong
5663221bdb
radeonsi/vcn: data structure av1 enc long term reference.
...
Here it borrowed the term "long term reference" to represent
the customized reference frame rather than the default ones used.
To enable that, it needs application to leverage VAAPI existing
interface to mark a frame as "long term reference", and then
it will be preserved in the DPB for later usage. This preserved
frame later could be refered to by having its signature used in
the ref_frame_idx[] list, and the index can be indicated by
RefFrameCtrl index2, which has not been used for other purpose.
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27771 >
2024-02-27 20:20:45 +00:00
Samuel Pitoiset
727170fee0
radv/ci: enable RADV_PERFTEST=shader_object for vkcts-tahiti-valve
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27812 >
2024-02-27 14:28:54 +00:00
Martin Roukala (né Peres)
83efcd6a72
radv/ci: add a vkcts-tahiti job
...
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27812 >
2024-02-27 14:28:54 +00:00
Samuel Pitoiset
450b375b69
radv: disable VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 with minmax filter on GFX6
...
This doesn't seem supported and introduced regressions on
Pitcairn/Tahiti, but it seems fine on Bonaire (GFX7).
Fixes: 926d9f1cef ("radv: support minmax filter for more formats")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27760 >
2024-02-27 09:23:53 +01:00
Dave Airlie
d103b76ad6
radv/video: add VK_KHR_video_decode_av1 support.
...
This adds support for AV1 decode to radv, there are likely some
cleanups necessary.
Co-author: Charlie Turner <cturner@igalia.com>
(I wrote the initial mesa extension, and Charlie ported it to
the KHR extension and kept it up to date and fixed CTS things)
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 15:03:54 +10:00
Dave Airlie
7c0e0b7462
radv/video: use proper struct sizes for decoder structs.
...
This just cleans it up before av1 lands.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 15:00:52 +10:00
Dave Airlie
0466453d31
radv: rename it_ptr to it_probs_ptr in advance of adding av1
...
This is just a rename, just to make the name more meaningful.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 15:00:39 +10:00
Dave Airlie
d599391ac9
radv/video: use vcn ip version in more places.
...
This parallels changes made to the radeonsi code, but since we have uvd
in here as well we still use family in some places.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 14:59:42 +10:00
Dave Airlie
03f18be607
radv/video: fix filling out decode operations.
...
This just makes it consistent with the extension.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424 >
2024-02-27 14:59:42 +10:00
Samuel Pitoiset
4071c399a2
radv: compute the total LDS usage in gfx10_get_ngg_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
d85311b120
radv: compute NGG scratch LDS base in gfx10_get_ngg_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00
Samuel Pitoiset
0570d40d5b
radv: determine NGG culling info before NGG info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27722 >
2024-02-26 10:42:37 +00:00