Alyssa Rosenzweig
b733fcb337
vulkan: Add vk_index_type_to_bytes helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24017 >
2023-07-07 07:22:26 -04:00
Caio Oliveira
73af0475cb
vulkan: Add NV suffix to VK_NV_cooperative_matrix feature names
...
In the new Vulkan Headers, VK_KHR_cooperative_matrix gets added and the feature
names are the same.
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23837 >
2023-06-25 15:52:55 +00:00
Lionel Landwerlin
6249ff17ca
vulkan: registry/headers bump to 1.3.254
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23716 >
2023-06-20 03:05:01 +00:00
Mike Blumenkrantz
6650d89d4c
vk: make vk_format_map[] public
...
having to go through a function call for non-planar mappings can be
very slow
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23599 >
2023-06-13 18:38:27 +00:00
Mike Blumenkrantz
0a3ddcbe8b
vulkan: use cmd size array for queued cmd allocations
...
minor simplification for consistency
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23322 >
2023-05-31 03:13:22 +00:00
Mike Blumenkrantz
fd45ab843f
vulkan/cmd_queue: expose cmd sizes
...
now that cmds are more precisely allocated, it's necessary for drivers
to have some way to determine what the allocation size is
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23322 >
2023-05-31 03:13:22 +00:00
Mike Blumenkrantz
5759ab668e
vulkan/cmd_queue: allocate cmds based on the size of the cmd
...
the base size of a vk_cmd_queue_entry is massive since there are a couple
union entries that have a trillion params. by allocating conditionally using
the union member size, memory can be reduced, which will affect some user-facing
api properties
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23322 >
2023-05-31 03:13:22 +00:00
Mike Blumenkrantz
96a404cf82
vulkan: reorder vk_cmd_queue_entry
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23322 >
2023-05-31 03:13:22 +00:00
Dave Airlie
fa938dd975
vulkan: write beta extensions into generator scripts.
...
Updated by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21806 >
2023-05-04 02:40:06 +00:00
Dave Airlie
54113f5a60
vulkan/cmd_queue: handle beta extensions.
...
Since this was moved to vulkan_core.h, we have to add the beta header
ourselves when required.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21806 >
2023-05-04 02:40:06 +00:00
Constantine Shablya
0937a02d96
vulkan: rename vk_physical_device_features.py to vk_physical_device_features_gen.py
...
In-line with other files that generate source code
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22333 >
2023-05-03 03:27:54 +00:00
Constantine Shablya
9cf1cdfaa8
vulkan: put TEMPLATE_H before TEMPLATE_C
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22333 >
2023-05-03 03:27:54 +00:00
Constantine Shablya
005cfc63fc
vulkan: put interesting code before boring code
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22333 >
2023-05-03 03:27:54 +00:00
Constantine Shablya
64f4b277ea
vulkan: inline vk_get_physical_device_features into vk_common_GetPhysicalDeviceFeatures2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22333 >
2023-05-03 03:27:54 +00:00
Michel Zou
cb282b6a81
vk/entry_points:: fix mingw build
...
MinGW does not play well either with weak symbols and crashes at runtime without a trace
fixes: 7e833713d8
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22474 >
2023-04-20 16:51:58 +00:00
Eric Engestrom
5863bafbdc
vk/util: fix buggy usage of unreachable()
...
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22529 >
2023-04-18 13:59:55 +00:00
Alyssa Rosenzweig
657e82a72f
vulkan: Add common features2_to_features
...
Needed to correctly implement GetPhysicalDeviceFormatProperties2.
Cc stable so the turnip patch can get backported cleanly.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22217 >
2023-04-07 18:16:27 -04:00
Danylo Piliaiev
7e833713d8
vk/entry_points: Add option to generate template entrypoints
...
As a C++ alternative to genX macros.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931 >
2023-03-24 15:49:26 +00:00
Danylo Piliaiev
1600b310bc
vk/util: Generate defines to help casting structs with vk_find_struct
...
C++ doesn't like implicit casts from void *.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931 >
2023-03-24 15:49:25 +00:00
Danylo Piliaiev
de5c3900ca
vk/util: remove (void *) casts from vk_foreach_multi_draw macros
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931 >
2023-03-24 15:49:25 +00:00
Danylo Piliaiev
815960d88f
vk/vk_extension_gen: Make table struct initializable in C++ on older gcc
...
Before GCC 11.2 initializing anonymous struct with extensions gave:
error: too many initializers for 'vk_device_extension_table'
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931 >
2023-03-24 15:49:25 +00:00
Constantine Shablya
46c9e84ead
vulkan: fix building with python3.8
...
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8640
Reviewed-by: Ricardo Garcia <rgarcia@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21958 >
2023-03-21 14:25:40 +00:00
Constantine Shablya
723825f5c7
vulkan: use vk_features for vk_device::enabled_features
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21754 >
2023-03-16 08:23:28 +00:00
Constantine Shablya
c7300a6a3b
vulkan: add hepler for vkGetPhysicalDeviceFeatures2
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21754 >
2023-03-16 08:23:28 +00:00
Constantine Shablya
cd35ab9570
vulkan: tidy up vk_physical_device_features
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21754 >
2023-03-16 08:23:28 +00:00
Constantine Shablya
b0b3b9e8b1
vulkan: relocate rmv to its correct home
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21754 >
2023-03-16 08:23:28 +00:00
Illia Abernikhin
dea36fce6a
util: Extend vk_enum_to_str with bitmasks
...
vk_enum_to_str only generates literals for enums with type: @type="enum",
but many enums have type: @type="bitmask" and were not taken into account here.
Main changes:
Empty enums are now always skipped
For bitmasks skipped *MAX_ENUM value
Signed-off-by: Illia Abernikhin <illia.abernikhin@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8173
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21146 >
2023-02-21 13:59:19 +02:00
Faith Ekstrand
f24f753c8a
vulkan: Properly filter structs in vk_physical_device_features
...
This uses get_all_required to filter structs and also filters struct
members based on API.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
5021344fa6
vulkan: Move the features generator to vulkan/util
...
This makes it easier to start depending on vk_extensions.py
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
68cb42e52b
vulkan: Filter out provisional extensions
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
ef3e75d7f3
Vulkan: Properly filter structs in vk_cmd_queue_gen
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
a9c4423ed3
vulkan: Properly filter by api in enum_to_str
...
This switches us to using get_all_required() for figuring out which
enum types we care about and then carefully filtering every value as
needed. We also add a number field to Extension so we keep all the
extension XML parsing in one place.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
4059c78633
vulkan: Properly filter entrypoints
...
We now use get_all_required() to get all required commands and use that
to filter instead of doing it manually. Also, we can pull entrypoint
extension etc. information from the requirements struct. Finally, we
also have to filter the actual commands themselves as well as arguments
per-API because there may be multiple versions or variants depending on
the API being used.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
6910d1337a
vulkan: Add a get_all_required() helper
...
This searches for the names of everything of a particular type: command,
enum, etc. and returns a Requirements struct with any core version and
extensions that require it.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
edfef5d915
vulkan: Parse the platform in Extensions.from_xml()
...
This makes handling guards on entrypoints a bit easier.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
ab5ab6ef9e
vulkan: Improve extension parsing
...
This adds an Extension.from_xml() helper for doing the parsing so we can
re-use it in other code. We also improve filtering of extensions. The
Vulkan XML schema is changing to make the supported attribute a comma-
separated list. This is to allow for vulkansc to also exist in the XML
schema.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
3b686f3a2f
vulkan: Remove unused fields from Extension and ApiVersion
...
These are a left-over from when these classes were used by ANV to define
extension enables in python. They haven't been used since we added
extension table structs and move extension enables to C.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
a47c903e51
Revert "vk/util: keep track of extension requirements"
...
This reverts commit ca98e4446b . The way
extension requirements are specified is about to change significantly.
Since this is so new, it's easier to just revert for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Faith Ekstrand
15e332073c
Revert "vk/runtime: turn vk.xml extension requirements into asserts"
...
This reverts commit 6ac830ccb1 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21225 >
2023-02-17 03:42:34 +00:00
Erik Faye-Lund
7ea85871fe
vulkan: prefer vulkan_core.h over vulkan.h
...
If we include vulkan.h, we risk including the WSI bits as well, which we
don't need here. Only trouble can follow from including these where
they're not needed.
So let's include vulkan_core.h in these places instead.
Fixes: b39958a3a1 ("anv,nir: Move the ANV YCbCr lowering pass to common code")
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21185 >
2023-02-15 18:35:14 +00:00
Eric Engestrom
6ac830ccb1
vk/runtime: turn vk.xml extension requirements into asserts
...
More specifically, turn
<extension name="VK_KHR_foo" requires="VK_KHR_bar">
into
assert(!ext->KHR_foo || ext->KHR_bar);
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21261 >
2023-02-14 23:28:29 +00:00
Eric Engestrom
ca98e4446b
vk/util: keep track of extension requirements
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21261 >
2023-02-14 23:28:29 +00:00
Friedrich Vock
9419b4ee45
vulkan/rmv: Remove delta parameter from dump helpers
...
It was unused.
Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20820 >
2023-01-26 01:17:26 +00:00
Friedrich Vock
5eb00a195e
vulkan/rmv: Use the timestamp divisor instead of a hardcoded value
...
Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20820 >
2023-01-26 01:17:26 +00:00
Dave Airlie
589d4ff0cb
vulkan/format: add a 10-bit video format
...
This adds support to the generic vulkan format code for
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
which is used for 10-bit H265.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
(Updated version acked by Lynne on irc)
v2: disable these for freedreno
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20389 >
2023-01-18 06:36:27 +00:00
Jason Ekstrand
5eaf8218de
vulkan/formats: Add YCbCr format information
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19950 >
2023-01-16 14:10:21 +00:00
Konstantin Seurer
329e017300
vulkan/rmv: Only trace on the n-th frame
...
This makes it stop dumping on every n-th frame. It also uses a simple
increment, since the function is locked.
Fixes: defed48 ("vulkan: Add common RMV tracing infrastructure")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20635 >
2023-01-12 18:24:49 +00:00
Friedrich Vock
845792db73
vulkan: Add RMV file exporter
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17331 >
2023-01-11 06:55:04 +00:00
Friedrich Vock
defed48104
vulkan: Add common RMV tracing infrastructure
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17331 >
2023-01-11 06:55:04 +00:00
Friedrich Vock
5f30a7538b
vulkan: Add RMV token definitions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17331 >
2023-01-11 06:55:04 +00:00