Surafel Assefa
979dc41558
vulkan: MESA_VK_ENABLE_SUBMIT_THREAD=0 disables threaded submit
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30492 >
2024-08-06 13:19:40 +00:00
Lionel Landwerlin
ae9a249dfe
vulkan/runtime: allow null/empty debug names
...
VkDebugUtilsObjectNameInfoEXT::pObjectName can be NULL [1] :
"Applications may change the name associated with an object simply
by calling vkSetDebugUtilsObjectNameEXT again with a new string. If
pObjectName is either NULL or an empty string, then any previously
set name is removed."
The current code will segfault.
[1] : https://registry.khronos.org/vulkan/specs/1.3-extensions/html/chap50.html#VkDebugUtilsObjectNameInfoEXT
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 3b361b234a ("vulkan: Implement VK_EXT_debug_utils")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30516 >
2024-08-05 21:12:59 +00:00
Hyunjun Ko
22abbb84b7
vulkan/video: adds a bitstream writer of h265 slice header
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27810 >
2024-08-02 07:15:59 +00:00
Hyunjun Ko
ff8de61907
vulkan/video: adds a bitstream writer of h264 slice header
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27810 >
2024-08-02 07:15:59 +00:00
dawnhan
6df5ace3a3
vulkan/android: Add missing AHB formats
...
Signed-off-by: dawnhan <dawnhan@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30310 >
2024-08-02 04:23:44 +00:00
Alyssa Rosenzweig
d0424eb63b
vk/meta: add VK_IMAGE_VIEW_CREATE_INTERNAL_MESA flag
...
honeykrisp to use, and hopefully common vk_meta will use this soon too
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/30382 >
2024-07-26 18:40:47 +00:00
Alyssa Rosenzweig
0d66ba6e5d
vk/meta: add buffer view tracking
...
honeykrisp will use this, at least for now.
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/30382 >
2024-07-26 18:40:47 +00:00
Gurchetan Singh
7cc199502f
vulkan/runtime: introduce vk_meta_object_list
...
Code movement: Move the object list + destroy_object
function to separate files.
This allows vk_command_buffer.{h, c} to not depend on all
of vk_meta, which depends on vk_pipeline, which depends on
NIR.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30355 >
2024-07-25 19:14:31 +00:00
C Stout
f6099903c1
vulkan/runtime: add spirv_info_h to vulkan_lite_runtime_header_gen_deps
...
spirv_info_h was added to idep_vulkan_lite_runtime_headers but it's also
needed for building libvulkan_lite_runtime. Without this patch, from
a clean meson setup (tested with: -Dvulkan-drivers=freedreno -Dgallium-drivers= -Dplatforms=wayland)
ninja -C build src/vulkan/runtime/libvulkan_lite_runtime.a
In file included from ../src/vulkan/runtime/vk_physical_device.c:24:
../src/vulkan/runtime/vk_physical_device.h:32:10: fatal error: compiler/spirv/spirv_info.h: No such file or directory
Fixes: 1759c0eba7 ("vulkan: add helper to fill out spirv caps automatically")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30189 >
2024-07-16 21:43:13 +00:00
Faith Ekstrand
4f89af3723
vulkan: Use u_cnd_monotonic for vk_sync_timeline
...
The code we had for handling this with c11 cnd_t was gross. Let's use a
primitive that actually works.
Reviewed-by: Derek Foreman <derek.foreman@collabora.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
6aaf6d090c
vulkan/wsi: Delete wsi_init_pthread_cond_monotonic
...
Reviewed-by: Derek Foreman <derek.foreman@collabora.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29924 >
2024-07-08 22:09:06 +00:00
Faith Ekstrand
37d58b816b
vulkan/meta: Use demote instead of discard
...
We don't have the NIR options when we go to create the shader so
nir_discard_if() will segfault.
Fixes: 9b1a748b5e ("nir: remove nir_intrinsic_discard")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30028 >
2024-07-03 20:33:27 +00:00
David Heidelberg
68215332a8
build: pass licensing information in SPDX form
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Dylan Baker <dylan.c.baker@intel.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29972 >
2024-06-29 12:42:49 -07:00
Konstantin Seurer
b0fa138c86
vulkan: Add vk_expand_(dst|src)_access_flags2
...
Those helpers do not filter out dead access bits to keep synchronization
conservative.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29051 >
2024-06-28 10:41:49 +00:00
Erik Faye-Lund
18db05d3e6
vulkan/runtime: implementaiton -> implementation
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29890 >
2024-06-26 12:31:00 +00:00
Erik Faye-Lund
3967f8cd84
vulkan/runtime: multiesample -> multisample
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29890 >
2024-06-26 12:31:00 +00:00
Erik Faye-Lund
788d1b5a67
vulkan/runtime: abreviation -> abbreviation
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29890 >
2024-06-26 12:31:00 +00:00
Erik Faye-Lund
947446ade7
vulkan/runtime: initizlie -> initialize
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29890 >
2024-06-26 12:31:00 +00:00
Erik Faye-Lund
a966a11161
vulkan/runtime: tne -> the
...
This is clearly a typo.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29890 >
2024-06-26 12:31:00 +00:00
Juan A. Suarez Romero
081555c58b
vulkan: do not access member of a NULL structure
...
Check if the structure is NULL before trying to get access to its
members.
This has been detected by the Undefined Behaviour Sanitizer (UBSan).
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29772 >
2024-06-21 21:07:05 +00:00
Alyssa Rosenzweig
da752ed7c1
treewide: use nir_def_replace sometimes
...
Two Coccinelle patches here. Didn't catch nearly as much as I would've liked but
it's a start.
Coccinelle patch:
@@
expression intr, repl;
@@
-nir_def_rewrite_uses(&intr->def, repl);
-nir_instr_remove(&intr->instr);
+nir_def_replace(&intr->def, repl);
Coccinelle patch:
@@
identifier intr;
expression instr, repl;
@@
nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
...
-nir_def_rewrite_uses(&intr->def, repl);
-nir_instr_remove(instr);
+nir_def_replace(&intr->def, repl);
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Juan A. Suarez Romero <jasuarez@igalia.com > [broadcom]
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com > [lima]
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com > [etna]
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com > [r300]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29817 >
2024-06-21 15:36:56 +00:00
Alyssa Rosenzweig
a4fd4812fa
vulkan: handle enqueueing CmdPushDescriptorSet2KHR
...
implementation from lavapipe. again, no CTS for this...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28682 >
2024-06-20 16:43:56 +00:00
Alyssa Rosenzweig
b39efbc422
vulkan: handle enqueueing CmdPushConstants2KHR
...
implementation from lavapipe. there's no CTS coverage for this but hopefully
it works...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28682 >
2024-06-20 16:43:56 +00:00
Alyssa Rosenzweig
0ba7489243
vulkan: fix potential UAF with vk_cmd_enqueue_CmdPushDescriptorSetKHR
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reported-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28682 >
2024-06-20 16:43:56 +00:00
Alyssa Rosenzweig
5c2801f130
vulkan: handle push DUT with emulated secondaries
...
We need some manual logic to work out the size of pData, so we handroll this
one. This fixes push DUT with emulated secondaries.
Affects dEQP-VK.binding_model.shader_access.secondary_cmd_buf.*push*templ* if
emulated secondaries are used.
Neither panvk nor dozen support push DUT yet, so this isn't hurting anyone and
doesn't need to be cc'd stable. But hopefully panvk & dozen get on that :}
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28682 >
2024-06-20 16:43:56 +00:00
Alyssa Rosenzweig
24c897ff46
vulkan: reference count vk_descriptor_update_template
...
We need to extend the lifetime of DUTs for capture/replay based secondaries.
Copy the reference counting boilerplate from vk_descriptor_set_layout.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Suggested-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28682 >
2024-06-20 16:43:55 +00:00
Alyssa Rosenzweig
15257b65c6
treewide: use nir_metadata_control_flow
...
Via Coccinelle patch:
@@
@@
-nir_metadata_block_index | nir_metadata_dominance
+nir_metadata_control_flow
...plus some manual fixups for call sites missed by coccinelle.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Juan A. Suarez Romero <jasuarez@igalia.com > [broadcom]
Acked-by: Vasily Khoruzhick <anarsoul@gmail.com > [lima]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29745 >
2024-06-17 16:28:14 -04:00
Iván Briano
51f410f621
vulkan/runtime: pColorAttachmentInputIndices is allowed to be NULL
...
The Vulkan spec says:
"If pColorAttachmentInputIndices is NULL, it is equivalent to setting
each element to its index within the array."
Fix updated dEQP-VK.dynamic_rendering.primary_cmd_buff.local_read.*.
v2: Fix it correctly (Samuel)
Fixes: 03490ec019 ("vulkan/runtime: rework VK_KHR_dynamic_rendering_local_read state tracking")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29703 >
2024-06-13 07:13:50 +00:00
Rob Clark
0d2168ce0a
vulkan/android: Fix YcbcrRange for !mapper4
...
Setting the range was overlooked when the fallback path was added.
Fixes: 930e4fa283 ("vulkan/android: Fix suggestedYcbcrModel with !mapper4")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29490 >
2024-05-30 20:59:42 +00:00
Rob Clark
930e4fa283
vulkan/android: Fix suggestedYcbcrModel with !mapper4
...
Only mapper4 supports u_gralloc_get_buffer_color_info(), other gralloc
implementations do not. So add a fallback, so that we aren't telling
the app that the suggestedYcbcrModel is RGB_IDENTITY. We only go down
this path for YUV formats.
Fixes android.graphics.cts.BasicVulkanGpuTest#testBasicBufferImportAndRenderingExternalFormat
Fixes: 8732a619f1 ("vulkan/android: Add common vkGetAndroidHardwareBufferPropertiesANDROID")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29391 >
2024-05-25 14:52:54 +00:00
Lionel Landwerlin
5f2288095b
anv: fix shader identifier handling
...
When compilation is required, we should return
VK_PIPELINE_COMPILE_REQUIRED. The spec prevents the application from
passing a module or SPIR-V code so we have nothing to compile if the
cache lookup fails :
VUID-VkPipelineShaderStageCreateInfo-stage-06844:
If a shader module identifier is specified for this stage, a
VkShaderModuleCreateInfo structure must not be present in the pNext
chain
VUID-VkPipelineShaderStageCreateInfo-stage-06848:
If a shader module identifier is specified for this stage, module
must be VK_NULL_HANDLE
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11208
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29340 >
2024-05-23 19:05:05 +00:00
Dylan Baker
46644ba371
meson: use glslang --depfile argument when possible
...
This reduces the amount of manual dependency tracking developers need to
do. This is turned on if glslang >= 11.3.0 is used, or 11.9.0 on
Windows, but otherwise the status quo is maintained. This means I have
not removed any use of `depend_files`. We could make make these hard
requirements and remove the use of `depend_files` too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28329 >
2024-05-20 17:34:17 +00:00
Yiwei Zhang
2740d92e3d
vulkan: drop redundant core props query and copy helpers
...
The last client, venus, has stopped using those either.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Tested-by: Oskar Viljasaar <oskar.viljasaar@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29180 >
2024-05-16 01:58:14 +00:00
Tapani Pälli
e7ce48557a
vulkan/runtime: add a subpass bit for legacy dithering
...
v2: use bit only when dithering enabled on device
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19414 >
2024-05-15 04:45:55 +00:00
Rob Clark
12092d1ac7
vulkan: Don't request Ycbcr conversion for rgb
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090 >
2024-05-14 14:53:45 +00:00
Rob Clark
b9bbeb77c7
vulkan/android: Add helper to probe AHB support
...
GetPhysicalDeviceImageFormatProperties() must that an image {format,
flags, usage} combo is unsupported if gralloc will not be able to
perform the allocation. The practical way to test this is to do a
small test allocation.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29090 >
2024-05-14 14:53:44 +00:00
Benjamin Lee
4dd97b1d72
vk/graphics_state: Add last bits for extraPrimitiveOverestimationSize
...
A couple pieces were missed when this was originally added in
b172fd62f5 . Without this, NVK doesn't
pick up the value of extraPrimitiveOverestimationSize in 'dyn->rs'.
Signed-off-by: Benjamin Lee <benjamin@computer.surgery >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28937 >
2024-05-14 00:03:36 +00:00
Alyssa Rosenzweig
9d34c0f705
vulkan: add vk_debug_ignored_stype helper
...
from nvk.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29009 >
2024-05-10 18:49:38 +00:00
Faith Ekstrand
ce2946ae0f
vulkan: Set SPIR-V caps from supported features
...
Any drivers which use vk_spirv_to_nir() now no longer need to build a
caps table manually.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Iván Briano <ivan.briano@intel.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28905 >
2024-05-09 01:14:23 +00:00
Alyssa Rosenzweig
1759c0eba7
vulkan: add helper to fill out spirv caps automatically
...
The Vulkan XML tells us exactly which caps are implied by which API versions,
features, extensions, and properties. We just need to parse that and
autogenerate some glue code, that way drivers don't need to track this manually.
This reduces the boilerplate needed when bringing up new features.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Iván Briano <ivan.briano@intel.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28905 >
2024-05-09 01:14:22 +00:00
Roman Stratiienko
8732a619f1
vulkan/android: Add common vkGetAndroidHardwareBufferPropertiesANDROID
...
Change-Id: I1a7542c6eed7ebf00241bce7fd69840a9007ed27
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Tested-by: tarsin <yuanqingxiang233@163.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25360 >
2024-05-05 22:02:17 +00:00
Roman Stratiienko
e8f7e7582a
vulkan/android: Add common helpers for the AHB extension
...
Change-Id: I0d88ebf6b14b6425a7ecbdbb1c17df62e4ca103a
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Tested-by: tarsin <yuanqingxiang233@163.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25360 >
2024-05-05 22:02:17 +00:00
Roman Stratiienko
d0996d1a30
vulkan/android: Add common helpers for the ANB extension
...
Change-Id: I999121edfc7163cecc83897eb7be73896de36d89
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Tested-by: tarsin <yuanqingxiang233@163.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25360 >
2024-05-05 22:02:17 +00:00
Roman Stratiienko
3b0f0b0ab9
vulkan/android: Add android buffer classification to vk_image
...
Helps clients distinguish between non-android, Android native,
and Android hardware buffers.
Change-Id: Idc7838ead211048140128c1729241280e8ff9e59
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Tested-by: tarsin <yuanqingxiang233@163.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25360 >
2024-05-05 22:02:17 +00:00
Roman Stratiienko
c406d53858
vulkan/android: Add common vkGetSwapchainGrallocUsage{2}ANDROID
...
Change-Id: I6db52b8950a075cfbcd8f4a3b66fd13b032d9a5e
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Tested-by: tarsin <yuanqingxiang233@163.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25360 >
2024-05-05 22:02:17 +00:00
Roman Stratiienko
dd9a426e3e
vulkan/android: Add basic u_gralloc support
...
We want to move more Android-related functions into common code.
Many of which require interactions with the gralloc. Therefore,
struct u_gralloc must be kept in a common code.
vk_android_get_ugralloc() must be used for gralloc API calls.
vk_android_{init|destroy}_ugralloc() must be used in Vulkan HAL
initialization code, e.g.:
- In XXXX_hal_open() to initialize the gralloc
- In XXXX_hal_close() to destroy the gralloc
We do not put gralloc initialization into the generic code because we want
it to be initialized by Zygote's Vulkan preloader, which may sometimes
preload gralloc shared libraries, thus speeding up the initialization
of user applications.
Change-Id: I2af643bd132e6cdbfed043c8c18836501764952f
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Tested-by: tarsin <yuanqingxiang233@163.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25360 >
2024-05-05 22:02:17 +00:00
Alyssa Rosenzweig
0549649bcf
vulkan: optimize vk_dynamic_graphics_state_any_dirty
...
For drivers using the new state tracking, __bitset_test_range can be
surprisingly hot because we have a lot of dirty bits and __bitset_test_range has
to handle lots of special cases. __bitset_is_empty does not have to worry about
those special cases so can be much faster.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29008 >
2024-05-03 02:22:28 +00:00
Colin Marc
602c62a273
vulkan/video: correctly set sub-layer ordering in H.265 VPS/SPS
...
The relevant sections here are F.7.3.2.1 and F.7.3.2.2.1. The code was
incorrectly assuming sub_layer_ordering_info_present_flag is always 1.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29001 >
2024-05-02 23:51:56 +00:00
Colin Marc
b613566faf
vulkan/video: generate profile_tier_level structure correctly
...
Per section 7.7.3, the structure includes additional optional layer-specific
information, which is padded if left unset, based on the value of
max_sub_layers_minus1. The vulkan input structs have no way to specify this
per-layer information, so we just need the padding.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29001 >
2024-05-02 23:51:56 +00:00
Samuel Pitoiset
e4f945cd4a
vulkan: pass cmdbuf level to vk_command_buffer_ops::create()
...
RADV needs to know the command buffer level in the create() helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28861 >
2024-04-23 06:33:31 +00:00