Konstantin Seurer
eaee792ea5
vulkan: Add a generated vk_properties struct
...
Generates a physical device properties table to avoid dealing with pNext
chains in the driver. Based on vk_features.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24575 >
2023-08-11 02:53:47 +00:00
Eric Engestrom
90a6ebdf80
amd/ci: drop duplicate test expectations
...
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24612 >
2023-08-10 22:35:51 +00:00
Friedrich Vock
b8edd19358
radv: Handle VK_SUBOPTIMAL_KHR in trace layers
...
vkQueuePresentKHR might return VK_SUBOPTIMAL_KHR which is not VK_SUCCESS
but presentation succeeded anyway. We should capture a trace even if
VK_SUBOPTIMAL_KHR is returned.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24052 >
2023-08-10 17:39:07 +00:00
David Rosca
ee6eadb65a
ci/amd: Skip all VAAPI tests that creates too many huge surfaces
...
These tests creates up to thousand surfaces of 8192x8192 or
10240x10240 sizes which often times out.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9472
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24590 >
2023-08-10 14:20:13 +00:00
Samuel Pitoiset
3bbfc45c37
radv: re-introduce radv_pipeline_stage_init()
...
This helper is used to initialize a radv_shader_stage struct for
pipelines, while radv_shader_stage_init() would be for shader object
only (ie. using VkCreateShaderInfoEXT).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24562 >
2023-08-10 08:51:05 +00:00
Samuel Pitoiset
afcafa1b61
radv: stop passing redundant stage to radv_shader_stage_init()
...
It's sinfo->stage.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24562 >
2023-08-10 08:51:05 +00:00
Samuel Pitoiset
66eaca3a0a
radv: introduce radv_shader_layout for per-stage descriptor layout
...
With pipelines, the shader layout is inherited from the pipeline layout
but with shader objects, the layout is passed through
VkCreateShaderInfoEXT.
This basically replaces uses of radv_pipeline_layout by
radv_shader_layout during shaders compilation. This will avoid
creating a pipeline layout with ESO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24562 >
2023-08-10 08:51:05 +00:00
Samuel Pitoiset
7a3e256d27
radv: remove useless NULL for pipeline layout during shader info pass
...
It should be non-NULL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24562 >
2023-08-10 08:51:05 +00:00
Samuel Pitoiset
ba49f2bef1
radv: advertise VK_KHR_maintenance5
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Samuel Pitoiset
54caa8d346
radv: implement radv_Get{Device}ImageSubresourceLayout2KHR()
...
Not really possible without creating an image internally.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Samuel Pitoiset
6861c5275b
radv: allow VK_REMAINING_ARRAY_LAYERS with VkImageSubresourceLayers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Samuel Pitoiset
2ed52ca578
radv: add support for VkBufferUsageFlags2CreateInfoKHR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Samuel Pitoiset
9089b091b2
radv: add support for VkPipelineCreateFlags2CreateInfoKHR
...
If the structure is present in pNext, it's used instead of flags.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Samuel Pitoiset
f4b9c5b1d0
radv: store pipeline create flags to radv_pipeline::create_flags
...
This is a common practice in vulkan/runtime and this will be easier
to use extended pipeline create flags.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Samuel Pitoiset
15548d8a5f
radv/rmv: remove unused pipeline create flags when logging pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Samuel Pitoiset
3f617b8e4a
radv: allow VK_WHOLE_SIZE for pSizes in vkCmdBindVertexBuffers2()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Samuel Pitoiset
cbfd2931bb
radv: implement vkCmdBindIndexBuffer2KHR()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24392 >
2023-08-10 03:05:02 +00:00
Georg Lehmann
7a3e5dd2ec
aco: use s_bitreplicate_b64_b32 to set exec to 0xffff0000ffff0000
...
Foz-DB Navi21:
Totals from 29 (0.02% of 132657) affected shaders:
Instrs: 19342 -> 19301 (-0.21%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24561 >
2023-08-09 20:29:01 +00:00
Georg Lehmann
42ab786e52
ac/nir: handle more special cases in ac_nir_unpack_arg
...
Foz-DB Navi21:
Totals from 60972 (45.96% of 132657) affected shaders:
CodeSize: 158371336 -> 158127376 (-0.15%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24534 >
2023-08-09 10:04:53 +00:00
Tatsuyuki Ishi
e1e813586c
radv/winsys: Remove unused struct radv_winsys_bo_list.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24551 >
2023-08-08 19:24:10 +00:00
Tatsuyuki Ishi
b85817f877
radv/amdgpu: Remove unused bo_list variable from cs_submit.
...
Handle based bo_list is no longer used since 767a9324b9 ("radv/amdgpu:
remove legacy code path for creating the BO list").
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24551 >
2023-08-08 19:24:10 +00:00
Samuel Pitoiset
1b66ebf09a
radv/rt: fix capture/replay support
...
When replaying a RT pipeline, RADEON_FLAG_REPLAYABLE should be set.
The idea is that for capture, RADEON_FLAG_REPLAYABLE should be passed
when allocating a BO (ie. replay_va would be 0), and then for replay
the VA would be non-zero but the flag is also required.
Fixes
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation.*.
Fixes: 744357477e ("radv: Add utilities to serialize and deserialize shader allocation info")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24543 >
2023-08-08 18:07:22 +00:00
Bas Nieuwenhuizen
5325582968
radv: Expose VK_EXT_external_memory_acquire_unmodified.
...
No-op, since we generally don't do anything to revalidate images.
In general on external/foreign queues we prepare on "export" that
it might be used on more queues, but we do pretty much nothing on
"import".
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9348
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24524 >
2023-08-08 12:26:06 +00:00
Samuel Pitoiset
a7d6edfb36
radv: use vk_query
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24416 >
2023-08-08 10:24:54 +00:00
Samuel Pitoiset
97c926cf17
radv: use common vkCmdBegin/EndQuery wrappers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24416 >
2023-08-08 10:24:54 +00:00
Samuel Pitoiset
36a93b41d4
radv: use vk_sampler
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24416 >
2023-08-08 10:24:54 +00:00
Samuel Pitoiset
b6d542d7ba
radv: use vk_buffer_view
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24416 >
2023-08-08 10:24:54 +00:00
Samuel Pitoiset
b135149986
radv: update cmdbuf scratch size info when shaders are bound
...
This will automatically update the scratch size info for shader object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24502 >
2023-08-08 09:28:54 +00:00
Samuel Pitoiset
ea31193532
radv: update the number of scratch waves for RT prolog at bind time
...
The compute scratch size is computed later because the RT stack size
can be dynamic, but the number of waves shouldn't change.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24502 >
2023-08-08 09:28:54 +00:00
Samuel Pitoiset
44e82a6cf1
radv: add a helper to get the maximum number of scratch waves per shader
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24502 >
2023-08-08 09:28:54 +00:00
Samuel Pitoiset
9880224490
radv: use the RT prolog scratch size directly for tracing rays
...
It should be the same as the pipeline scratch size value.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24502 >
2023-08-08 09:28:54 +00:00
Benjamin Cheng
0e4b1b8f23
radv/video: copy from correct H264 scaling lists
...
Vulkan defines the scaling lists according to the H264 ITU spec, which
only defines ScalingList8x8[0] and ScalingList8x8[1] for
non-444 formats. Since RADV only supports 420, just directly use those.
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24413 >
2023-08-08 02:48:49 +00:00
Chris Spencer
67be2b6e63
radv: initialize result when pipeline cache creation fails
...
Signed-off-by: Chris Spencer <spencercw@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24521 >
2023-08-07 06:29:04 +00:00
Rhys Perry
ab5da82e00
radv/ci: skip some mesh shader tests on GFX1100
...
This lets me do a GFX11 CTS run without RADV_DEBUG=nocompute.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24499 >
2023-08-04 19:34:14 +00:00
Faith Ekstrand
04cc8c6f8d
clang-format: Set ColumnLimit to 78
...
This matches the tree-wide .editorconfig.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24429 >
2023-08-04 17:46:42 +00:00
Samuel Pitoiset
c327ab9e33
radv: track if vertex binding stride is dynamic from the cmdbuf state
...
This allows us to remove one more pipeline occurence during cmdbuf
recording. Note that shader object always uses dynamic vertex input.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473 >
2023-08-04 12:34:12 +00:00
Samuel Pitoiset
976297b73a
radv: re-emit binning state if the framebuffer is dirty
...
This used to depend on the graphics pipeline, but now that everything
is dynamic it should be fine to trigger it on fb changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473 >
2023-08-04 12:34:12 +00:00
Samuel Pitoiset
0a102d3fd6
radv: track if patch control points is dynamic from the cmdbuf state
...
This allows us to remove one more pipeline occurence during cmdbuf
recording. Note that patch control points is always dynamic with
shader object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473 >
2023-08-04 12:34:12 +00:00
Samuel Pitoiset
b56c288589
radv: remove redundant check in radv_cmd_buffer_after_draw()
...
RADV_CMD_FLAG_PS_PARTIAL_FLUSH is only used for draws with
RADV_DEBUG=syncshaders, which implies a valid graphics pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473 >
2023-08-04 12:34:12 +00:00
Rhys Perry
63aea80cc0
radv: don't set vertex_attribute_strides on GFX8+
...
Bounds checking no longer compares against the stride.
fossil-db (navi21):
Totals from 5 (0.00% of 133461) affected shaders:
Instrs: 1532 -> 1520 (-0.78%)
CodeSize: 8144 -> 8084 (-0.74%)
Latency: 5104 -> 5102 (-0.04%)
InvThroughput: 686 -> 680 (-0.87%)
VClause: 19 -> 17 (-10.53%)
PreVGPRs: 118 -> 116 (-1.69%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24115 >
2023-08-04 11:53:56 +00:00
Biswapriyo Nath
2a580bba76
radv/video: Match function definitions to declarations
...
This adds the same function attributes from definitions to declarations
and fixes the following compiler errors for 32 bit Windows OS.
../src/amd/vulkan/radv_video.c:270:1: error: conflicting types for 'radv_CreateVideoSessionKHR'
src/amd/vulkan/radv_entrypoints.h:3963:34: note: previous declaration of 'radv_CreateVideoSessionKHR'
../src/amd/vulkan/radv_video.c:319:1: error: conflicting types for 'radv_DestroyVideoSessionKHR'
src/amd/vulkan/radv_entrypoints.h:3971:30: note: previous declaration of 'radv_DestroyVideoSessionKHR'
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24460 >
2023-08-04 06:03:50 +00:00
Alyssa Rosenzweig
cf8ceb6e0a
aco: Remove is_ssa check
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432 >
2023-08-03 22:40:29 +00:00
Alyssa Rosenzweig
a8013644a1
nir: Drop nir_alu_src::{negate,abs}
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432 >
2023-08-03 22:40:28 +00:00
Alyssa Rosenzweig
ab0d878932
treewide: Remove more is_ssa asserts
...
Stuff Coccinelle missed.
sed -i -e '/assert(.*\.is_ssa)/d' $(git grep -l is_ssa)
sed -i -e '/ASSERT.*\.is_ssa)/d' $(git grep -l is_ssa)
+ a manual fixup to restore the assert for parallel copy lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432 >
2023-08-03 22:40:28 +00:00
Alyssa Rosenzweig
5fead24365
treewide: Drop is_ssa asserts
...
We only see SSA now.
Via Coccinelle patch:
@@
expression x;
@@
-assert(x.is_ssa);
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432 >
2023-08-03 22:40:28 +00:00
David Heidelberg
57b0db63e1
ci/amd: fix timeouting radeonsi-raven-va-full job
...
LAVA needs to know that job will run more than default 30 minutes.
Fixes: ae9c67d773 ("ci/amd: add radeonsi-raven-va-full job to cover all VA-API tests")
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24469 >
2023-08-03 14:05:23 +00:00
Yonggang Luo
cd3ea02da0
ac/radv: decouple radv vulkan driver and compiler from gallium
...
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/24464 >
2023-08-03 09:45:42 +00:00
Samuel Pitoiset
c733c166d7
radv: add radv_graphics_shaders_compile() to compile graphics shaders
...
Similar to radv_compile_cs() but for all graphics stages.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24423 >
2023-08-03 06:04:52 +00:00
Samuel Pitoiset
5be4446abe
radv: add a struct for the retained shaders and GPL
...
This will be used to remove the pipeline dependency completely when
compiling graphics shaders.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24423 >
2023-08-03 06:04:52 +00:00
Samuel Pitoiset
2050f2fe48
radv: inline radv_pipeline_get_nir() in radv_graphics_pipeline_compile()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24423 >
2023-08-03 06:04:52 +00:00