Commit graph

17 commits

Author SHA1 Message Date
Charles Giessen
85f06aeb61 util: Fix vku::GetObjectType() broken for 32 bit builds
Non Dispatchable handles are not typed in 32 bit builds, so the
vku::GetObjectHandle() helper fails to compile. The solution is to just
not define the helper in 32 bit builds.
2023-10-05 11:47:23 -06:00
Daniel Rakos
859486391c build: API parameterization 2023-10-05 10:45:51 -06:00
Mike Schuchardt
f528b23aec Make GetObjectType specializations inline
Avoid multiple definition compiler error
2023-10-04 13:53:48 -07:00
unknown
beadc7e034 Fix base_generator vendorTags logic
The logic didn't correctly iterate through the children of tags,
causing the vendorTags list to be generated incorrectly.
2023-10-04 11:41:20 -06:00
unknown
cf011e717a Add GetObjectType helper to struct_helper
This utility converst Vulkan handle types to VkObjectType enums, which is used
by the debug utils set name & tag functions.
2023-10-04 11:41:20 -06:00
Juan Ramos
2169a0849e Fix doc for vkuFormatIsXChromaSubsampled
Now the documentation matches the implementation.
2023-10-01 14:49:40 -06:00
James Price
d3e6eb65dd Remove extra semicolon after member definition
Some compilers complain about this.
2023-09-21 15:28:08 -06:00
unknown
6774c9b24b util: Add vk_struct_helper.hpp
Move the vk_typemap_helper.h file in Vulkan-ValidationLayers over to this
repo with a different name to reflect the use of it

Changes from that include:
 * Rename the functions to be more obvious as to what they do
 * Placing them in the `vku` namespace
 * Adding the `InitStructHelper` class which deduces the type based on the
   variable that is being initialized
 * Compiler error if there is no corresponding sType
2023-09-19 10:10:31 -06:00
Juan Ramos
1c6d92cccf Use vku prefix for vk_dispatch_table.h interface 2023-09-13 16:49:54 -06:00
unknown
c903525915 src: Add vk_format_utils.h to UtilityHeaders
The library originates from Vulkan-ValidationLayers, but is being moved
into this repo to make it easier for others to use it.

The library has also been modified to be header only and C compatible,
which allows more developers to be able to use it. This does require some
changes, but only affects the vkuFormatElementSize and vkuFormatTexelSize
functions which used default parameters. Two new functions,
vkuFormatElementSizeWithAspect and vkuFormatTexelSizeWithAspect have been
added to handle the non-default image aspect case (the default was COLOR_BIT).

Renaming was done using the following convention:
* public header files begin with `vk_`
* enums begin with VKU_FORMAT_
* functions begin with vku
2023-09-11 12:48:03 -06:00
unknown
b0712dfdb1 headers: Fix dispatch table formatting
The code did not follow the provided clang-format file, which causes
conflict when a developer runs clang-format on the repo. This commit fixes
the generator so that the output is what clang-format would generate.
One issue is that clang-format's ColumnLimit will wrap long lines, and is
very difficult to replicate in python code without excessive changes. The
chosen solution is to use a custom clang-format file for the Utilities
folder which ignores the ColumnLimit.
2023-08-25 14:35:36 -06:00
Charles Giessen
2bd0e0d438 util: Fixup and add Dispatch Table header
Fixes the vk_layer_dispatch_table.h header file so that they can be used
in other projects. The contents of this header and
 vk_dispatch_table_helper.h have been moved into a new header
 vul_dispatch_table.h.

The structs VulDeviceDispatchTable and VulInstanceDispatchTable
struct contain function pointers for the device and instance, respectively.

The functions vul_init_device_dispatch_table and
vul_init_instance_dispatch_table fill out the aforementioned structs,
making the task of setting up the disptach table in a layer much simpler.
2023-08-23 15:07:01 -06:00
Juan Ramos
8ea7803544 Remove clang-tidy comments from vk_enum_string_helper.h
Not needed. They only made sense in the context of VVL.
2023-08-23 12:31:35 -06:00
Juan Ramos
02d552db0c tests: Ensure vk_enum_string_helper.h is C compatible
Added ifdef checks for backcompat

Intended to properly address these issue(s):
- https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/3233
- https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/1211
2023-08-22 15:13:44 -06:00
Juan Ramos
6999ef9b82 Add testing for vk_enum_string_helper.h
Use magic_enum to test vk_enum_string_helper.h

closes #46
2023-08-16 09:45:31 -06:00
Juan Ramos
93ceaff579 Add REUSE to CI
Ensures proper copyright for the repo
2023-07-25 16:11:18 -06:00
spencer-lunarg
d8719df037 scripts: Add initial codegen scripts 2023-07-17 09:54:09 -06:00