Bas Nieuwenhuizen
85ca7fab29
radv: Add common entrypoint dependency.
...
To ensure we have the header. The revert likely reintroduced compilation flakiness due
to missing dependencies.
Fixes: a255f6f823 ("radv: do not use the common entrypoint for the Metro Exodus layer")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14430 >
2022-01-07 02:21:36 +00:00
Bas Nieuwenhuizen
63101914f8
radv: Set optimal copy alignment to 1.
...
I think we set it to 128 for no reason at all. The app is still
required to align to the texel size.
Note that we prefer 4 bytes for non-formatted buffer->buffer copy,
but that isn't in scope for these properties according to the
Vulkan spec.
It also happens to help hide what looks like an application bug at
this point with Baldurs Gate 3.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5509
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14415 >
2022-01-07 01:59:13 +00:00
Mike Blumenkrantz
05a5e5a2bc
radv: fix xfb query copy param ordering
...
Fixes: afff9dd0f0 ("radv: Use correct buffer size for query pool result copies.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14422 >
2022-01-06 17:44:09 +00:00
Samuel Pitoiset
f43b0d5cdc
radv/winsys: remove unused syncobj functions
...
The vulkan common runtime code uses the drm functions directly.
Fixes: 91fe0b5629 ("radv: Delete lots of sync code.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14375 >
2022-01-06 09:13:50 +00:00
Samuel Pitoiset
da0c708d79
radv: remove remaining dead code related to the old sync code
...
Fixes: 91fe0b5629 ("radv: Delete lots of sync code.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14375 >
2022-01-06 09:13:50 +00:00
Samuel Pitoiset
a255f6f823
radv: do not use the common entrypoint for the Metro Exodus layer
...
This is incorrect, it will calls the function recursively.
It seems there is random build failures with common runtime code
and MSVC but that's a different issue.
Closes : #5815
Fixes: 46c59e8fd6 ("radv: Remove dependencies on vk_common entrypoints.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14374 >
2022-01-05 19:22:50 +00:00
Jason Ekstrand
b2073f5e5d
radv: Move QueueSignalReleaseImageANDROID to common code
...
This is mostly a copy+paste job but with a few syntax changes to make it
follow more closely with other common Vulkan code.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14372 >
2022-01-05 16:36:10 +00:00
Jason Ekstrand
dfb1e1777c
anv,radv,v3dv: Move AcquireImageANDROID to common code
...
All three implementations are identical.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Tested-by: Tapani Pälli <tapani.palli@intel.com>
Tested-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14372 >
2022-01-05 16:36:10 +00:00
Marek Olšák
3c471c0eb5
ac/nir: move ac_are_tessfactors_def_in_all_invocs into radeonsi
...
radv isn't going to use it because it's for the TCS epilog
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14266 >
2022-01-05 12:46:31 +00:00
Marek Olšák
116a05c721
ac: move ac_exp_param.h to ac_nir.h
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14266 >
2022-01-05 12:46:31 +00:00
Marek Olšák
2c4926dfc8
radeonsi: use nir->scratch_size instead of ac_count_scratch_private_memory
...
It's the same.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14266 >
2022-01-05 12:46:31 +00:00
Marek Olšák
12b942bd16
radeonsi: pass sample_coverage VGPR index to the PS prolog instead of guessing
...
The code was correct, but little confusing. This is cleaner.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14266 >
2022-01-05 12:46:30 +00:00
Marek Olšák
fd14e0afb1
radeonsi: set done=1 for PS exports at the end of si_llvm_build_ps_epilog
...
so that we can reorder the exports
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14266 >
2022-01-05 12:46:30 +00:00
Marek Olšák
d382ceea2b
ac/llvm: remove the num_channels parameter from ac_build_buffer_store_dword
...
It was used when LLVM didn't support vec3 and we had to pass vec4
with num_channels=3. We no longer need to do that.
This also removes the vec3 splitting or conversion to vec4 in callers.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14266 >
2022-01-05 12:46:30 +00:00
Marek Olšák
e6aac44051
ac/llvm: add vindex into ac_build_buffer_store_dword
...
for future work
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14266 >
2022-01-05 12:46:30 +00:00
Marek Olšák
bb017d5d16
amd/registers: work around an assertion in parse_kernel_headers.py
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14266 >
2022-01-05 12:46:30 +00:00
Marek Olšák
3ea5beca1f
radv: apply spi_cu_en to CU_EN
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14122 >
2022-01-05 01:36:10 -05:00
Marek Olšák
955c6de1c1
radv: set COMPUTE_DESTINATION_EN_SEn to spi_cu_en
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14122 >
2022-01-05 01:36:10 -05:00
Marek Olšák
384014bebe
radeonsi: apply spi_cu_en to CU_EN
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14122 >
2022-01-05 01:36:10 -05:00
Marek Olšák
b06b481dfe
radeonsi: program COMPUTE_STATIC_THREAD_MGMT_SE4..7 on Arcturus
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14122 >
2022-01-05 01:36:10 -05:00
Marek Olšák
470b61f3a9
ac/gpu_info: add AMD_CU_MASK environment variable to set CU_EN
...
requested internally
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14122 >
2022-01-05 01:36:10 -05:00
Marek Olšák
a68cb9db8d
ac/gpu_info: set cu_mask correctly for Arcturus
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14122 >
2022-01-05 01:36:10 -05:00
Timur Kristóf
d34d0f38e1
radv: Support VRS for mesh shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14193 >
2022-01-04 17:46:02 +00:00
Timur Kristóf
bc94c2718a
aco: Emit VRS rate when it's per-primitive.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14193 >
2022-01-04 17:46:02 +00:00
Timur Kristóf
811c001049
radv: Lower primitive shading rate for mesh shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14193 >
2022-01-04 17:46:02 +00:00
Timur Kristóf
c6becb9574
radv: Note when a mesh shader writes the primitive shading rate.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14193 >
2022-01-04 17:46:02 +00:00
Samuel Pitoiset
12ac44378d
radv: add UMR markers for the vertex prolog
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13376 >
2022-01-04 07:50:07 +00:00
Samuel Pitoiset
14622b8bcc
radv: dump the VS prolog disassembly to the hang report
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13376 >
2022-01-04 07:50:07 +00:00
Samuel Pitoiset
d659c2ef9c
radv: save the vertex prolog to the trace BO for debugging
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13376 >
2022-01-04 07:50:07 +00:00
Samuel Pitoiset
2bf25e6f6e
radv,aco: keep track of the prolog disassembly if necessary
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13376 >
2022-01-04 07:50:07 +00:00
Samuel Pitoiset
e836174077
aco: do not print prologs disassembly if no disassembler
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13376 >
2022-01-04 07:50:07 +00:00
Samuel Pitoiset
3ef736c94e
aco: fix a dynamic-stack-buffer-overflow when printing instructions
...
Detected by ASAN.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14329 >
2022-01-04 08:04:50 +01:00
Tatsuyuki Ishi
31d839aacc
aco: lower masked swizzle to DPP8
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13971 >
2021-12-31 20:56:39 +00:00
Tatsuyuki Ishi
da0412e55b
aco: support DPP8
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13971 >
2021-12-31 20:56:39 +00:00
Bas Nieuwenhuizen
46c59e8fd6
radv: Remove dependencies on vk_common entrypoints.
...
Fixes: 91fe0b5629 ("radv: Delete lots of sync code.")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14366 >
2021-12-31 17:49:10 +01:00
Bas Nieuwenhuizen
8c4c63a6ed
radv: Rename submit2->submit.
...
Cleanup after the big switcheroo.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:19 +00:00
Bas Nieuwenhuizen
84ec547f69
radv: Remove syncobj reset mechanism.
...
Now done with the vulkan runtime.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:19 +00:00
Bas Nieuwenhuizen
91fe0b5629
radv: Delete lots of sync code.
...
This make things all fall back to the common synchronization functions
which will switch things to the new submission path and to use
vk_fence and vk_semaphore.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
radv: Use common AcquireNextImage2KHR.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
radv: Use common functions for Metro Exodus layer.
Needs to be squashed with the big "switch the world" deletion patch
but kept it separate for review.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:19 +00:00
Bas Nieuwenhuizen
967fc415fc
radv: Add new submission path for use by the common sync framework.
...
Basically just a copy of radv's internal deferred submission handler.
This uses the new winsys submit2 to later be able to move the sem_info
to the winsys.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:19 +00:00
Bas Nieuwenhuizen
93cde57f7a
radv: Add new cs_submit2 winsys call.
...
A bit more runtime dependence so we can remove all the syncobj stuff
in radv itself.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:19 +00:00
Bas Nieuwenhuizen
9d75f23350
radv: Use vk_command_buffer for preambles.
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:19 +00:00
Bas Nieuwenhuizen
31da5c41b6
radv: Set horizontal sync types.
...
We basically use 2 types for amdgpu:
1) syncobj. This supports both binary & timeline and autodetects
all the features.
2) emulated timelines if (1) doesn't detect timeline syncobj support.
Note that one has to put these in order of preference so that the
common CreateFence/CreateSemaphore functions decide on the right
type.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:19 +00:00
Bas Nieuwenhuizen
1965872b41
radv: Add function to allow WSI signalling fences/semaphores.
...
Added but not enabled yet. Will enable in the big switchover.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:18 +00:00
Bas Nieuwenhuizen
3055d2f9df
radv: Initialize vk device drm fd.
...
For common sync.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:18 +00:00
Bas Nieuwenhuizen
1a84dd6358
radv: Use vulkan runtime for device lost.
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:18 +00:00
Bas Nieuwenhuizen
085f99b729
radv: Use dispatch table for wsi_display.c
...
Pretty sure this could be moved into WSI.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:18 +00:00
Bas Nieuwenhuizen
40558dbe91
radv: Use dispatch table for QueueWaitIdle in the SQTT layer.
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13974 >
2021-12-31 15:14:18 +00:00
Daniel Schürmann
16a527deef
aco: don't split VOP3P definitions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13576 >
2021-12-31 14:52:14 +00:00
Daniel Schürmann
7e02787a54
aco: use p_create_vector(v2b,v2b) in get_alu_src_vop3p()
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13576 >
2021-12-31 14:52:14 +00:00
Daniel Schürmann
e56d8b0b2e
aco: use explicit zero-padding for 64bit image loads in expand_vector()
...
Previously, this only worked because of regClass mismatches
in the allocated vector.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13576 >
2021-12-31 14:52:14 +00:00