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
Samuel Pitoiset
581f4701be
radv: stop passing a graphics pipeline to radv_pipeline_nir_to_asm()
...
Also rename the function.
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
efbb6de035
radv: remove unnecessary check in radv_pipeline_nir_to_asm()
...
If a NIR stage is present, there shouldn't be any compiled binaries
in the same stage slot.
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
e7cf235422
radv: add support for emitting TCS epilogs in cmdbuf
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:19 +00:00
Samuel Pitoiset
ce05412417
radv: add support for a TCS epilogs cache in the device
...
Similar to VS prologs and PS epilogs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:19 +00:00
Samuel Pitoiset
8abf8dad6b
radv: add infra for creating TCS epilogs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:18 +00:00
Samuel Pitoiset
198291f45b
radv: add radv_tcs_epilog_key
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:18 +00:00
Samuel Pitoiset
f950eae10f
radv: declare new argument for the TCS epilog PC
...
To jump to the TCS epilog.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:18 +00:00
Samuel Pitoiset
c12ab8af96
radv: track if TES reads tess factors differently
...
This information will be passed through the TCS epilog key.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:18 +00:00
Samuel Pitoiset
61999253de
radv: do not write tess factors in main TCS when it has an epilog
...
Tess factors will be written by TCS epilogs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:18 +00:00
Samuel Pitoiset
54a6eb6613
radv: assume a TCS needs an epilog unless it's linked with a TES
...
For shader object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:18 +00:00
Samuel Pitoiset
f4ec2e7bb3
radv,aco: move has_epilog to radv_shader_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24404 >
2023-08-02 16:59:18 +00:00
Samuel Pitoiset
f433d39935
aco: add infra for compiling TCS epilogs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24417 >
2023-08-02 07:29:50 +00:00
Qiang Yu
572625ea6c
aco: extract aco_compile_shader_part from aco_compile_ps_epilog
...
Will be shared with radeonsi tcs epilog and other shader parts build.
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24417 >
2023-08-02 07:29:50 +00:00
Samuel Pitoiset
ac99fbe591
aco: add aco_shader_info::tcs::has_epilog
...
This will be used by both RADV and RadeonSI to jump from the main TCS
to the epilog.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24417 >
2023-08-02 07:29:50 +00:00
Samuel Pitoiset
ac40924a3b
radv: allow to use fixed IO locations for VS<->TCS<->TES without linking
...
For shader objects.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24408 >
2023-08-02 06:54:09 +00:00
Samuel Pitoiset
ec1e11ab23
amd,radeonsi: move si_shader_io_get_unique_index_patch() to common code
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24408 >
2023-08-02 06:54:09 +00:00
Alyssa Rosenzweig
51db19f7a2
nir: Rename scoped_barrier -> barrier
...
sed + ninja clang-format + fix up spacing for common code.
If you are unhappy that I did not manually change the whitespace of your driver,
you need to enable clang-format for it so the formatting would happen
automatically.
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/24428 >
2023-08-01 23:18:29 +00:00
David Rosca
ad9d39a5ba
ci/amd: Skip VAAPI CreateSurfacesWithConfigAttribs/1121 test
...
It now times out with surfaces being allocated non-interlaced
by default due to a slower path being taken in clear_render_target.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24361 >
2023-08-01 21:58:27 +00:00
Mike Blumenkrantz
4d8c53b070
radv: bump max xfb output to 128
...
this is the number of components supported for streamout
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24285 >
2023-08-01 20:47:34 +00:00
Georg Lehmann
82920c99a5
aco: fix non constant 16bit bitnz/bitz
...
Fixes: 573e98f34a ("aco: implement nir_op_bitz/bitnz")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24420 >
2023-08-01 15:54:31 +00:00