Yiwei Zhang
5df083eff7
radv: refactor to use DETECT_OS_ANDROID instead of ANDROID
...
Include a tiny refactor in radv_physical_device_get_supported_extensions
to avoid a false formatting issue.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27374 >
2024-02-01 19:29:49 +00:00
Friedrich Vock
f66055a6a6
radv/rt: Write inactive node data in ALWAYS_ACTIVE workaround
...
Fixes: a9831caa ("radv/rt: Add workaround to make leaves always active")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27340 >
2024-02-01 05:42:59 +00:00
Friedrich Vock
e8b0e5cac9
radv: Use secure_getenv for RADV_THREAD_TRACE_TRIGGER
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:12 +00:00
Friedrich Vock
c01a07f2e4
radv: Use secure_getenv in radv_builtin_cache_path
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27381 >
2024-01-31 17:28:12 +00:00
Eric Engestrom
0fa4ea98ca
ci: always skip dEQP-VK.info.device_extensions
...
Exclude this test which might fail when a new extension is implemented.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27389 >
2024-01-31 16:48:16 +00:00
Daniel Schürmann
c309d20172
aco/insert_exec_mask: Fix unconditional demote at top-level control flow.
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27362 >
2024-01-31 13:50:46 +00:00
Konstantin Seurer
13ca3d0eeb
radv/sqtt: Set SeparateCompiled for monolithic RT pipelines
...
RGP can not handle how we implement "Unified" ray tracing pipelines and
only shows the prolog.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:24 +01:00
Konstantin Seurer
6d2926c54e
radv: Skip unused acceleration structure build paths
...
If the whole batch doesn't use a path, we can skip binding the pipeline
and writing an user event.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:20 +01:00
Konstantin Seurer
93b1eec09b
radv: Emit user events during acceleration structure builds
...
This way, we can see exactly which dispatches belong to acceleration
structure builds and which dispatches were caused by the app. We loose
the red coloring in RGP for this, but we get way more information.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:15 +01:00
Konstantin Seurer
22b719b445
radv: Make radv_write_user_event_marker non-static
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:11 +01:00
Konstantin Seurer
f43099ecf5
radv: Reduce the amount of radv_device_to_handle calls
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:24:06 +01:00
Konstantin Seurer
41e78330e7
radv/radix_sort: clang-format
...
The formatting was changed and those files were missed.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26697 >
2024-01-31 10:23:51 +01:00
Samuel Pitoiset
31e29f7304
radv: enable deviceFaultVendorBinary if RADV_DEBUG=hang is set
...
Ideally, if deviceFaultVendorBinary is enabled by the app,
RADV_DEBUG=hang should be enabled behind the scene, but this isn't
possible right now because CTS always enables the feature.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:45:08 +01:00
Samuel Pitoiset
a778d5fd0d
radv: export GPU hang reports through VK_EXT_device_fault
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:45:08 +01:00
Samuel Pitoiset
8c3d1c9140
radv: add support for keeping GPU hang reports in memory
...
To be exported through VK_EXT_device_fault when the feature is enabled
by app, otherwise it's saved on disk.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:45:08 +01:00
Samuel Pitoiset
c710cba0c7
radv: refactor dumping GPU hang reports by using chunks
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:41:54 +01:00
Samuel Pitoiset
7a20946579
radv: add a helper to know if device fault detection is enabled
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27293 >
2024-01-31 08:41:54 +01:00
Martin Roukala (né Peres)
a6ea0f1762
radeonsi/ci: update vangogh's expectations after piglit uprev
...
Fixes: 1c29869c20 ("Uprev Piglit to e9316bcd12544aaf7e753ce37fe50d64165d9598")
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27357 >
2024-01-30 23:32:00 +00:00
Gert Wollny
ca47138fb1
radv: Fix compilation with gcc-13 and tsan enabled
...
../src/amd/vulkan/radv_sampler.c: In function ‘radv_tex_wrap’:
../src/amd/vulkan/radv_sampler.c:50:1: error: control reaches end of non-void function [-Werror=return-type]
50 | }
| ^
../src/amd/vulkan/radv_sampler.c: In function ‘radv_tex_compare’:
../src/amd/vulkan/radv_sampler.c:76:1: error: control reaches end of non-void function [-Werror=return-type]
76 | }
| ^
Fixes: 4de305cb8a
radv: move sampler related code to radv_sampler.c
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27345 >
2024-01-30 20:42:07 +00:00
Daniel Schürmann
26c8f13ff5
vulkan: enable VK_KHR_shader_expect_assume
...
This implementation ignores the hints.
Acked-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27265 >
2024-01-30 19:09:42 +00:00
Samuel Pitoiset
9b5ea35158
radv: add support for VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
9211eef738
radv: init the shader key in radv_shader_stage_init() for ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
13add95beb
radv: prevent crashes when a task shader is compiled unlinked with ESO
...
That means the mesh shader stage would be NULL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
f23efd7093
radv: bind and emit mesh/task shaders with ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
29491d36aa
radv: determine the last VGT api stage with mesh shaders and ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
6adea03a3e
radv: ignore unneeded dynamic states with mesh shaders and ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
9157087d43
radv: determine next stage for mesh/task with ESO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
64aa84eaf7
radv: rebind mesh/task shaders when restoring meta context
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27237 >
2024-01-30 18:29:51 +00:00
Samuel Pitoiset
2d91b870fb
radv: emit required programming for tess on GFX10+ in radv_emit_hw_vs()
...
This is required on GFX10+ with legacy pipeline (no NGG) and without
a geometry shader. So this can be moved to radv_emit_hw_vs() because
if we have a TES+GS, TES would be NULL and if we have TES as NGG it
would be emitted from radv_emit_hw_ngg().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27301 >
2024-01-30 11:47:29 +00:00
Samuel Pitoiset
f870e5ff11
radv: fix emitting tess domain origin for merged TES+GS on GFX9
...
For merged TES+GS, TES is NULL and this state wasn't emitted.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27301 >
2024-01-30 11:47:29 +00:00
Samuel Pitoiset
d9b61de2f7
radv: fix detecting invalid binaries with ESO
...
On GFX9+, if linked shaders are created and shaders are merged (for
example VS to GS).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27301 >
2024-01-30 11:47:29 +00:00
Konstantin Seurer
f27a973283
radv/rt: Use doubles inside intersect_ray_amd_software_tri
...
Increasing precision lets us avoid duplicate hits on shared edges. The
previous biasing WA made a bunch of tests fail.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27243 >
2024-01-30 10:26:43 +01:00
Collabora's Gfx CI Team
1c29869c20
Uprev Piglit to e9316bcd12544aaf7e753ce37fe50d64165d9598
...
f7db20b03d...e9316bcd12
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25449 >
2024-01-29 18:27:07 +00:00
Samuel Pitoiset
dc1b16c010
radv: export alpha-to-coverage via MRTZ for ESO on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
6a2b264526
radv: emit more default states for ESO on GFX10.3+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
b7fdfdc901
radv: do not ignore RADV_DYNAMIC_FRAGMENT_SHADING_RATE for ESO on GFX10.3+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
9a7c551f95
radv: set NGG fields in vgt_shader_key for ESO on GFX10+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
70c288558a
radv: fix the late scissor emission workaround with ESO on GFX9
...
graphics_pipeline is NULL when ESO is used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
411e23e193
radv: use the non-emitted graphics pipeline for the needed dynamic states
...
This is similar but it will allow us to re-use the helper for the
late scissor bug on GFX9.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
bbcdd1dc09
radv: refactor gfx103_pipeline_emit_vrs_state()
...
For using it with ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
e7b4dcd522
radv: refactor gfx103_pipeline_emit_vgt_draw_payload_cntl()
...
For using it with ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27236 >
2024-01-29 09:47:01 +00:00
Samuel Pitoiset
0105cfd93c
radv/ci: enable RADV_PERFTEST=shader_object for vkcts-polaris10-valve
...
This now runs +571k tests for ESO in ~34 minutes compared to ~30 minutes
without shader_object support. Definitely acceptable for a manual job.
Note that the next VKCTS uprev will reduce the number of ESO tests by
a lot because most of them weren't useful for coverage.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27139 >
2024-01-29 07:50:39 +00:00
Samuel Pitoiset
c68f96878c
radv: fix segfault when getting device vm fault info
...
pFaultInfo can be NULL.
Fixes: 8097becc7f ("radv: add initial VK_EXT_device_fault support")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27292 >
2024-01-29 07:26:28 +00:00
Pierre-Eric Pelloux-Prayer
02fe3c32cd
ac, radeonsi: remove has_syncobj, has_fence_to_handle
...
syncobj support is now required so these features are always
available.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24724 >
2024-01-26 16:02:26 +00:00
Pierre-Eric Pelloux-Prayer
d25201903d
winsys/amdgpu: use syncobj rather than amdgpu fence
...
syncobjs provide the same features and allow to unify code
paths because we don't need to handle imported syncobj
separately.
This simplifies the code and doesn't seem to have any perf
impact.
Syncobjs are supported in amdgpu since kernel commit 660e855813f78
during 4.12 cycle but the minor version wasn't bumped so use
the next bump value asthe minimum supported version.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24724 >
2024-01-26 16:02:26 +00:00
Samuel Pitoiset
d14ecd6d89
radv: use device->vk.enabled_features instead of iterating twice
...
vk_device already has the list of enabled features, no need to iterate
twice on the pNext structs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27276 >
2024-01-26 15:16:26 +00:00
Tatsuyuki Ishi
991ae339f5
radv: Implement NIR caching behind RADV_PERFTEST=nircache.
...
NIR caching is useful for two use cases:
- Shader permutations involving reused VS or FS.
- GPL-like engine that compiles a separate (library) variant and an
optimized (monolithic) variant, e.g. DXVK.
By caching the result of radv_shader_spirv_to_nir, permutations hitting
the cache can have their compilation time reduced by 50% or more.
There are still open questions about the memory and storage footprint of
NIR caches, which is why this is gated behind a perftest flag. In
particular, Steam doesn't want to ship NIR cache since they are
unnecessary in presence of a full precompiled shader cache. In this
commit, the cache entries do not reside in memory and are immediately
written to the disk. Further design around how the caches are stored and
how to coordinate cache type with Steam etc. is left as future work.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26696 >
2024-01-26 11:46:18 +00:00
Tatsuyuki Ishi
8bf5c33c9c
radv: Rename cache_search_nir to cache_lookup_nir_handle.
...
A future commit will introduce cache_lookup_nir (which does not create
an intermediate vk_pipeline_cache_object), so rename it for consistency.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26696 >
2024-01-26 11:46:18 +00:00
Tatsuyuki Ishi
70b0c5909b
radv: Add radv_spirv_to_nir_options that summarize early gfx states.
...
radv_shader_spirv_to_nir now takes a more minimal struct instead of gfx
states. This struct will be used for NIR cache hashing in the future.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26696 >
2024-01-26 11:46:18 +00:00
Samuel Pitoiset
c53d0a6a6d
radv: advertise VK_KHR_index_type_uint8
...
Promoted from the EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27262 >
2024-01-26 10:00:48 +00:00