Daniel Schürmann
8bfd18b8c5
vulkan/pipeline_cache: don't log warnings for client-invisible caches
...
Fixes: d3f06cf5ce ('vulkan/pipeline_cache: don't log warnings for internal caches')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22986 >
2023-05-17 20:40:12 +00:00
Samuel Pitoiset
f1e339dfd6
radv: fix resetting VRS if the graphics pipeline doesn't enable it
...
Otherwise the VRS state isn't reset and the graphics pipeline might
still use the previous VRS state. The VRS state will only be re-emitted
if it's different when the pipeline is bound.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9005
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23052 >
2023-05-17 07:51:18 +00:00
Samuel Pitoiset
518425d107
radv: fix emitting VRS state with a null fragment shader
...
Found this while debugging a VRS issue with Valhalla.
Fixes: 87245c6e8e ("radv: handle NULL fragment shaders when recording cmdbuf")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23050 >
2023-05-17 06:12:19 +00:00
Alyssa Rosenzweig
c323762f9f
treewide: Stop lowering legacy atomics
...
There are no more producers of legacy atomics so these calls are inert.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23036 >
2023-05-16 22:36:21 +00:00
George Ouzounoudis
882fd3c522
radv: small fix for VkDescriptorSetVariableDescriptorCountLayoutSupport
...
The VkDescriptorSetVariableDescriptorCountLayoutSupport structure should
be in the pNext chain of VkDescriptorSetLayoutSupport.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23009 >
2023-05-16 06:20:31 +00:00
Timur Kristóf
8e7df8ab37
radv: Move perf counter CS creation to where it's used.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22668 >
2023-05-15 15:06:25 +00:00
Timur Kristóf
53b439d24f
radv/amdgpu: Use STACK_ARRAY for IB array to reduce stack usage.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22668 >
2023-05-15 15:06:25 +00:00
Timur Kristóf
984c0baa88
radv/amdgpu: Pass preambles to get_bo_list.
...
Instead of allocating an array for them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22668 >
2023-05-15 15:06:25 +00:00
Timur Kristóf
d61f1556b8
radv/amdgpu: Split radv_amdgpu_get_bo_list to smaller functions.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22668 >
2023-05-15 15:06:25 +00:00
Timur Kristóf
ae5e937f0b
radv/amdgpu: Remove unused extra BO array.
...
Not needed anymore.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22668 >
2023-05-15 15:06:25 +00:00
Alyssa Rosenzweig
508b7bba7a
radv: Use common GetPhysicalDeviceFeatures2
...
This is a big delete-the-code win. Tested by diff'ing vulkaninfo output
before/after the patch and confirming no changes (other than the driverInfo git
sha and the pipelineCacheUUID).
Note: removes handling for VkDeviceMemoryOverallocationCreateInfoAMD. This was
surely added as a mistake.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
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/22999 >
2023-05-15 13:42:55 +00:00
Alyssa Rosenzweig
83bc32d55d
radv: Constify radv_device_supports_etc
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
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/22999 >
2023-05-15 13:42:55 +00:00
Samuel Pitoiset
8939b80bf5
radv: stop using the pipeline for determining the null export workaround
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22981 >
2023-05-15 09:32:58 +00:00
Samuel Pitoiset
d73b6ce1c7
radv: remove unused pipeline param in radv_generate_ps_epilog_key()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22981 >
2023-05-15 09:32:58 +00:00
Samuel Pitoiset
def2ac22b3
radv: reset the emitted PS epilog when a new fragment shader is bound
...
When a new fragment shader is bound, the PS epilog needs to be
re-emitted, and this allows us to avoid tracking if the pipeline is
dirty.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22981 >
2023-05-15 09:32:58 +00:00
Samuel Pitoiset
10d1073aa6
radv: advertise VK_EXT_tooling_info
...
This small extension just returns active tools running like RGP.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22954 >
2023-05-15 08:13:18 +00:00
Samuel Pitoiset
9fa9782c17
radv: stop compiling a noop FS when the application doesn't provide a FS
...
This is unnecessary because the hardware doesn't execute a FS when it
has no effect and it's possible to execute pre-rasterization stages
without a FS.
This might improve depth-only pass performance very slightly because
the number of packets emitted is reduced a bit.
No fossils-db changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22848 >
2023-05-15 07:09:56 +00:00
Samuel Pitoiset
7f47886cf1
radv: allow to determine NGG settings with a NULL fragment shader
...
This shouldn't change anything because a noop FS doesn't read any
inputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22848 >
2023-05-15 07:09:56 +00:00
Samuel Pitoiset
d91cb1bbfa
radv: rework the checks for implicit exports with GPL
...
No logical changes but this allows us to distinguish between noop FS
and unknown FS with GPL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22848 >
2023-05-15 07:09:56 +00:00
Samuel Pitoiset
333c8773a4
radv: handle NULL fragment shaders when creating graphics pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22848 >
2023-05-15 07:09:55 +00:00
Samuel Pitoiset
87245c6e8e
radv: handle NULL fragment shaders when recording cmdbuf
...
This will be useful for shader objects and also because creating and
emitting a noop FS is useless, the hardware doesn't execute it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22848 >
2023-05-15 07:09:55 +00:00
Samuel Pitoiset
c51c68ba4b
radv: implement dynamic sample locations enable
...
VK_EXT_sample_locations is only supported on < GFX10 due to some weird
issues on recent GPUs. extendedDynamicState3SampleLocationsEnable is
only enabled on GFX6-GFX9 for the same reason.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22947 >
2023-05-15 08:14:31 +02:00
Konstantin Seurer
1671b5fd1f
radv: Stop running constant folding during ray query lowering
...
Now that committed is an intrinsic index, there is no need for constant
folding.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22963 >
2023-05-14 17:28:40 +00:00
Konstantin Seurer
0cf22f9af3
nir: Make rq_load committed src an index
...
committed has to be a constant so there is no need to have a src and
depend on constant folding to remove the i2b.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22963 >
2023-05-14 17:28:40 +00:00
Alyssa Rosenzweig
ce638eafe2
aco,radv: Use unified atomics
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22914 >
2023-05-12 20:39:46 +00:00
Samuel Pitoiset
088e25216f
radv: configure PA_CL_VRS_CNTL entirely from the cmd buffer
...
We already have all the information needed to configure it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22942 >
2023-05-12 06:39:11 +00:00
Samuel Pitoiset
be0ba9a1c0
radv: re-emit fragment shading rate state when PA_CL_VRS_CNTL changes
...
Found by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22942 >
2023-05-12 06:39:11 +00:00
Samuel Pitoiset
041cf2d48e
radv: dirty the dynamic vertex input state only when needed
...
This shouldn't be necessary when the VS doesn't have a prolog.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22944 >
2023-05-12 06:20:02 +00:00
Samuel Pitoiset
8688e11013
radv: reset the emitted VS prolog when a new vertex shader is bound
...
When a new vertex shader is bound, the VS prolog needs to be
re-emitted, and this allows us to avoid tracking if the pipeline is
dirty.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22944 >
2023-05-12 06:20:02 +00:00
Chia-I Wu
6aee7848bb
radv: improve externalMemoryFeatures for android ahb
...
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT should always be set, as
required by the spec.
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT should be set when
radv_ahb_format_for_vk_format knowns the format. That is,
radv_create_ahb_memory should at least know how to call
AHardwareBuffer_allocate.
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT is always set. We can't know
if gralloc can allocate the format/flags/usage combo or not (gralloc
might use a private format for the combo).
Fixed
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:03 +00:00
Chia-I Wu
47b37651f8
vulkan: add vk_image_format_to_ahb_format
...
There should be no functional change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:03 +00:00
Chia-I Wu
380180516c
anv,hasvk,radv: do not fall back to AHARDWAREBUFFER_FORMAT_BLOB
...
When allocating a VkDeviceMemory exportable as AHB, it seems incorrect
to fall back to AHARDWAREBUFFER_FORMAT_BLOB when the image has no known
AHB format. We should fail the allocation instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:03 +00:00
Chia-I Wu
50e703f347
vulkan: add vk_ahb_format_to_image_format
...
There should be no functional change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:02 +00:00
Chia-I Wu
2bbe0462e8
vulkan: define inline stubs when android api level < 26
...
This allows us to reduce ANDROID #ifdef's.
v2: always include vk_android.h in radv_formats.c
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:02 +00:00
Chia-I Wu
f81dce9bcc
vulkan: rename vk_image::ahardware_buffer_format
...
Rename it to ahb_format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22619 >
2023-05-11 22:18:02 +00:00
Daniel Schürmann
d3f06cf5ce
vulkan/pipeline_cache: don't log warnings for internal caches
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22850 >
2023-05-11 08:36:12 +00:00
Simon Ser
31e6d15801
radv: advertise LINEAR filter support for multiplanar/subsampled
...
It seems like radv supports this but doesn't advertise it.
Signed-off-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22875 >
2023-05-10 10:02:27 +00:00
Daniel Schürmann
1e334e9818
radv/rt: store stack_sizes per stage instead of per group
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
f50a5a62bf
radv/rt: use vk_multialloc for radv_ray_tracing_pipeline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
dfa5fd480c
radv/rt: refactor radv_rt_pipeline_compile()
...
This patch moves the NIR shader creation into radv_rt_pipeline_compile()
and simplifies radv_rt_pipeline_create().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
b314c2aae2
radv/rt: unify radv_rt_pipeline_create() and radv_rt_pipeline_library_create()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
1100f7dcd5
radv/rt: unify radv_ray_tracing_lib_pipeline and radv_ray_tracing_pipeline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Daniel Schürmann
97721f32ca
radv/rt: change base of radv_ray_tracing_lib_pipeline to radv_compute_pipeline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22503 >
2023-05-10 07:02:13 +00:00
Samuel Pitoiset
d115228327
radv: advertise VK_EXT_attachment_feedback_loop_dynamic_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22849 >
2023-05-09 13:29:34 +00:00
Samuel Pitoiset
d740e283e1
radv: implement VK_EXT_attachment_feedback_loop_dynamic_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22849 >
2023-05-09 13:29:34 +00:00
Vitaliy Triang3l Kuzmin
4ed2616ac3
radv: Fix vk_instance_init vk_error instance use-after-free
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22887 >
2023-05-08 14:09:49 +00:00
Samuel Pitoiset
ce64300676
radv: remove ac_surf_info from radv_image
...
Introduce a helper to convert vk_image info to ac_surf_info instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22816 >
2023-05-08 09:17:12 +00:00
Samuel Pitoiset
9e846ab1dc
radv: use vk_image::extent instead of radv_image::info::{width,height,depth}
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22816 >
2023-05-08 09:17:12 +00:00
Samuel Pitoiset
cb721d5de5
radv: use vk_image::samples instead of radv_image::info::samples
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22816 >
2023-05-08 09:17:12 +00:00
Samuel Pitoiset
d37b020428
radv: use vk_image::samples instead of radv_image::info::storage_samples
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22816 >
2023-05-08 09:17:12 +00:00