Lionel Landwerlin
294aa72449
vulkan: add helper for color/depth-stencil capable formats
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31983 >
2025-03-25 08:01:15 +00:00
Yiwei Zhang
04e9431f4f
vulkan: update ALLOWED_ANDROID_VERSION for api level 35
...
Reviewed-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34030 >
2025-03-14 18:39:07 +00:00
Yiwei Zhang
a0ea025314
vulkan: update ALLOWED_ANDROID_VERSION for api level 34
...
Reviewed-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34030 >
2025-03-14 18:39:07 +00:00
Alyssa Rosenzweig
2a44266d57
vulkan: add helpers to work with executable statistics
...
this is a lot of boilerplate in each driver. add helpers for it instead. the
common framework will use these internally, but drivers that don't want the
framework for whatever reason could use these themselves too.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33814 >
2025-03-05 20:50:17 +00:00
Alyssa Rosenzweig
e331efd4fe
vulkan: add common VK_PRINT_STR/VK_COPY_STR macros
...
every vk driver wants these macros for executable statistics, so make them
common. there are two variants floating in-tree, a pure copy (radv) and a
formatted print (everyone else). we add both variants and then convert most
prints to copies where formatting isn't actually used. that has the benefit of
cleaning up trivial "%s" format strings in a bunch of places.
I didn't bother cleaning up the formatting in non-automatic-formatted drivers
because it's tedious and I'm planning to delete a lot of this driver code with
upcoming runtime work anyway. This is a step towards those runtime improvements.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33826 >
2025-03-01 20:27:26 +00:00
Yiwei Zhang
f3da8167d6
vulkan/util: clean up copy_property and fix for setter
...
For setters, e.g. vk_set_physical_device_properties_struct used by venus
to fill all props, the out array storage comes from the driver, so we'd
assign directly. This change also fixes the template indent and drops an
unused arg.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33757 >
2025-02-26 19:16:48 +00:00
Samuel Pitoiset
c58655b999
vulkan: filter duplicate pNext struct at device creation
...
Recently, Indiana Jones and The Great Circle messed up this by adding
duplicates and this was causing the game to crash at launch.
Of course, this was an application bug that VVL was also able to catch
but I think maybe Mesa should ignore those instead of failing to create
the logical device.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33705 >
2025-02-25 16:55:03 +00:00
Matt Turner
06d8afff64
vulkan: Fix typos
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33556 >
2025-02-15 17:43:44 +00:00
Konstantin Seurer
c387699c7b
vulkan/cmd_queue: Add VK_CMD_TYPE_COUNT
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31426 >
2025-02-15 09:55:52 +00:00
Konstantin Seurer
5543272ceb
vulkan/cmd_queue: Simplify freeing cmd_queue entries
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31426 >
2025-02-15 09:55:52 +00:00
Aaron Ruby
e9663276f4
vulkan/util: Add c99_compat.h inclusion for cpp 'restrict' compatibility
...
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org >
Reviewed-by: Aaron Ruby <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33006 >
2025-01-15 17:19:13 +00:00
Erik Faye-Lund
d6047f3c33
vulkan: add vk_descriptor_type_is_dynamic helper
...
There's a few variants of this in the tree already, let's add a reusable
one that we can switch to.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32627 >
2024-12-19 15:12:58 +00:00
Faith Ekstrand
218fff2d5c
vulkan: Update XML and headers to 1.4.303
...
Also fix vk_cmd_queue generation for dropped KHR suffixes
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32433 >
2024-12-02 17:22:49 +00:00
Faith Ekstrand
2fae75b278
treewide: Stop putting enum in front of Vulkan enum types
...
The Vulkan headers add typedefs to fix aliasing issues whenever a type
gets renamed. However, C doesn't allow "enum typedef" so this doesn't
work if people stick the "enum" keyword in front.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32433 >
2024-12-02 17:22:49 +00:00
Faith Ekstrand
54aeff37ee
vulkan: Add Vulkan 1.4 feature aliases
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32433 >
2024-12-02 17:22:49 +00:00
Faith Ekstrand
6fe6c42903
vulkan: Allow the same item to show up twice in core version <requires>
...
The way the XML is being organized these days, they're doing one
<requires> section for each promoted thing and if something gets
promoted twice by different extensions. As long as we grab the lowest
of those core versions, we should be fine.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32433 >
2024-12-02 17:22:49 +00:00
Eric Engestrom
6f493ec517
meson: reuse variable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32333 >
2024-11-26 20:45:41 +00:00
Eric R. Smith
b6531e45ed
util: rename PIPE_FORMAT_Y8_U8V8_422_UNORM
...
Y8_U8V8_422_UNORM is more commonly known as NV16. There has been
a fourcc for NV16 for a while now, so let's rename it to be in
line with NV12 and similar formats.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31854 >
2024-11-25 13:04:19 +00:00
Matt Turner
3d24f0ece1
vulkan: Avoid pointer aliasing
...
Avoids the sanitizer errors:
```
Test case 'dEQP-VK.pipeline.monolithic.spec_constant.graphics.vertex.basic.mixed_packed'..
../src/vulkan/util/vk_util.c:111:38: runtime error: load of misaligned address 0x603002b1c591 for type 'const uint16_t', which requires 2 byte alignment
0x603002b1c591: note: pointer points here
00 00 00 98 76 98 54 76 98 ba 10 32 54 76 98 ba dc fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff
^
../src/vulkan/util/vk_util.c:108:38: runtime error: load of misaligned address 0x603002b1c593 for type 'const uint32_t', which requires 4 byte alignment
0x603002b1c593: note: pointer points here
00 98 76 98 54 76 98 ba 10 32 54 76 98 ba dc fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
^
../src/vulkan/util/vk_util.c:105:38: runtime error: load of misaligned address 0x603002b1c597 for type 'const uint64_t', which requires 8 byte alignment
0x603002b1c597: note: pointer points here
54 76 98 ba 10 32 54 76 98 ba dc fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 03 11 00
^
```
Fixes: 476dc3c050 ("vulkan: add vk_spec_info_to_nir_spirv util method")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32159 >
2024-11-16 03:14:31 +00:00
Matt Turner
6e544214d5
vulkan: Skip memcpy() call if passed null pointers
...
Avoids sanitizer errors like:
```
../src/intel/vulkan/anv_pipeline_cache.c:406:4: runtime error: null pointer passed as argument 1, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:406:4: runtime error: null pointer passed as argument 2, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:417:4: runtime error: null pointer passed as argument 2, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:435:4: runtime error: null pointer passed as argument 1, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:435:4: runtime error: null pointer passed as argument 2, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:439:4: runtime error: null pointer passed as argument 1, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:439:4: runtime error: null pointer passed as argument 2, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:443:4: runtime error: null pointer passed as argument 1, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:443:4: runtime error: null pointer passed as argument 2, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:447:4: runtime error: null pointer passed as argument 1, which is declared to never be null
../src/intel/vulkan/anv_pipeline_cache.c:447:4: runtime error: null pointer passed as argument 2, which is declared to never be null
```
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32098 >
2024-11-14 01:05:01 +00:00
Sid Pranjale
aa417da964
vulkan/util: add vk_format_has_float_depth()
...
A small helper function to check if a format has a floating point depth
value.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31488 >
2024-10-18 00:56:15 +00:00
Valentine Burley
50a9d1b987
vulkan/format: Update vk_format_from_pipe_format with additional formats
...
This has been neglected.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30821 >
2024-10-16 14:30:16 +00:00
Valentine Burley
aa01a8c018
vulkan/format: Properly translate 10-bit and 12-bit formats
...
Some hardware have native 10-bit and 12-bit formats. In order to be able to support these, we need
to translate these VK_FORMATs to new padded pipe formats instead of regular 16-bit formats.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30821 >
2024-10-16 14:30:16 +00:00
Valentine Burley
c8a8543af7
vulkan: Fix incorrect bpcs value for padded formats
...
Skip padding channels and only consider valid color channels.
Add and use a common helper for this.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30821 >
2024-10-16 14:30:15 +00:00
Faith Ekstrand
3a9fe645d7
vulkan: Handle variable-length property arrays more generically
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31119 >
2024-09-13 18:33:11 +00:00
Mike Blumenkrantz
cd7ad7bd7e
vk: rename DGC feature to DGC-NV
...
this is an NV extension, so it should have NV suffix
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31015 >
2024-09-04 12:27:21 +00:00
Valentine Burley
b37e06fd58
vulkan, radv: Add new common vk_format_get_plane_width/height helpers
...
Add new vk_format_get_plane_width/height helpers using ycbcr_info and use it to
replace RADV's ones which relied on util_format_get_plane_width/height.
We already have this data in the YCbCr table, so this avoids having the maintain the list
of pipe formats in util_format_get_plane_width/height.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30899 >
2024-08-29 15:57:51 +00:00
Boris Brezillon
f8b2f967b4
vk/format: Add missing R10G10B10A2_SINT entry in the pipe -> vk table
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29333 >
2024-08-20 15:11:14 +00:00
David Rosca
4dbb9f5355
vulkan/format: Add VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
...
Used for 12-bit AV1.
Reviewed-by: Lynne <dev@lynne.ee >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30551 >
2024-08-16 02:41:30 +00:00
Valentine Burley
57c81bab04
vulkan/format: Translate two 420_UNORM formats properly
...
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM and VK_FORMAT_G8_B8R8_2PLANE_420_UNORM were being
translated to IYUV and NV12 formats which, in PIPE_FORMAT parlance, are auto-converted
formats, not raw data formats.
Use the raw data formats like everything else.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30459 >
2024-08-01 07:44:18 +00:00
Daniel Stone
e05415a82e
format: Generate endian-independent format aliases
...
Instead of having a hardcoded list of endian-independent format aliases
in the header, generate them from the format definitions.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29649 >
2024-07-19 13:50:42 +00:00
C Stout
880f0fc8ce
vulkan/util: add missing dependencies
...
gen_enum_to_str.py and vk_struct_type_cast_gen.py both import
vk_extensions.py
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30164 >
2024-07-15 16:19:41 +00:00
Tatsuyuki Ishi
24aab6bfaf
vk_cmd_queue_gen: Exclude CmdDispatchGraphAMDX
...
With the weak symbols changes and -Dvulkan-beta this fails to link.
Co-authored-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Fixes: 2953c93cca ("vulkan Add enqueue entrypoint for CmdDispatchGraphAMDX")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30057 >
2024-07-08 13:17:42 +00:00
Tatsuyuki Ishi
048f761fae
vk_entrypoints_gen: Apply hidden visibility to generated symbols
...
The symbols were not getting hidden visibility because
-fvisibility=hidden only applies to definitions, not declarations.
Declare them as hidden explicitly in the header so they don't end up in
.dynsym of linked shared objects.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29986 >
2024-07-05 14:40:39 +00:00
Tatsuyuki Ishi
c217e8c21f
vk_entrypoints_gen: Rework ATTR_WEAK to unify Unix and MinGW
...
The way ATTR_WEAK works is changed to eliminate the "don't declare as
weak on MinGW" weirdness. When a weak is not undefined, MinGW requires
the definition to be a regular symbol. Instead of declaring as weak
everywhere, we now declare the symbol as a regular by default, and only
make it weak when it needs to fallback to NULL when undefined, which is
only needed for the dispatch table. This unifies the approach for Unix
and MinGW.
The name ATTR_WEAK is changed to VK_ENTRY_WEAK since it's now controlled
by the entrypoint specific VK_ENTRY_USE_WEAK flag.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29986 >
2024-07-05 14:40:39 +00:00
Tatsuyuki Ishi
c8c131fba8
vk_entrypoints_gen: Add missing ATTR_WEAK for instance and physdev entrypoints
...
I'm not sure why Clang didn't warn for this case, but since we are
declaring in both .h and .c we should match both.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29986 >
2024-07-05 14:40:39 +00:00
Iván Briano
53f196b8e0
vulkan/properties: handle LayeredApiPropertiesListKHR
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29968 >
2024-07-02 20:24:43 +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
7b3cdacf7f
vulkan: Handle group stages in vk_.*_access2_for_pipeline_stage_flags2
...
Avoids calling vk_expand_.*_stage_flags2.
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
Yiwei Zhang
fea9de3c83
vulkan: properly ignore unsupported feature structs
...
This is inspired from below MR but done in the fixed way:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26767
The requirements used to look up struct extensions are missing the alias
check for those promoted ones. This change fixes it so that the
condition now is correct.
We can land this now as all drivers have migrated to use the common
properties, which has now also been mandated.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29846 >
2024-06-27 07:04:39 +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
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
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
Oskar Viljasaar
f04bc27fe1
vulkan: add a property struct setter function
...
This takes in a (VkBaseInStructure *), checks for its type, casts it
into the right property struct and then copies its fields over the right
way to `struct vk_properties`.
v2: a few fixups (zzyiwei)
- add missing brackets required by clang
- fix some indents
- optimize to aovid deep-copying VkPhysicalDeviceProperties
- update to use DETECT_OS_ANDROID as suggested
- cast to avoid -Wswitch for Android struct beyond VkStructureType
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
Yiwei Zhang
b1e2293f8c
vulkan: cast to avoid -Wswitch for Android struct beyond VkStructureType
...
Fixes: 1afbf0ba4a ("vulkan/properties: support Android in the property generator")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Tested-by: Oskar Viljasaar <oskar.viljasaar@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29180 >
2024-05-16 01:58:14 +00:00
Rob Clark
270ee65667
vulkan: Add helper to resolve Android external format
...
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
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
Oskar Viljasaar
3e2df67874
vulkan/properties: Document RENAMED_PROPERTIES in the property generator
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26386 >
2024-05-06 11:16:48 +00:00
Oskar Viljasaar
1afbf0ba4a
vulkan/properties: support Android in the property generator
...
get_property_structs() now checks if a property struct is
in ANDROID_PROPERTIES and marks it as such.
The header file now includes vk_android_native_buffer.h and the
Android properties in vk_properties..
For the C file, also generate case statements for respective Android
property structs.
All of the Android-specific code is #ifdeffed behind ANDROID.
That being said, we only support PresentationPropertiesANDROID for now.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Tested-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26386 >
2024-05-06 11:16:48 +00:00