Commit graph

51 commits

Author SHA1 Message Date
Mike Schuchardt
dc2ec1edeb build: Update to header 1.3.268
- Update known-good
- Generate source (no change)
2023-10-13 11:50:27 -06:00
Juan Ramos
ca0ad57987 tests: Update gtest to v1.14.0 2023-10-10 13:47:45 -06:00
Mike Schuchardt
9e088360b5 build: Update to header 1.3.267
- Update known-good
- Generate source
2023-10-06 11:07:36 -07:00
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
Mike Schuchardt
57a5103a04 build: Update to header 1.3.266
- Update known-good
- Generate source
2023-09-29 10:07:18 -06:00
Juan Ramos
8486ee700e ci: Ensure generated files are up to date
closes #75
2023-09-27 15:21:00 -06:00
Mike Schuchardt
fb09bb3bc4 build: Update to header 1.3.265
- Update known-good
- Generate source (no changes)
2023-09-25 13:35:36 -06:00
Juan Ramos
4642e14f71 cmake: Export library to standardize compiler/linker options
Also fixes issue where compiler warnings weren't being applied
to Vulkan::LayerSettings

closes #106
2023-09-21 15:58:50 -06:00
James Price
d3e6eb65dd Remove extra semicolon after member definition
Some compilers complain about this.
2023-09-21 15:28:08 -06:00
Juan Ramos
599d028f96 gn: Add stub file to ensure header only files are checked 2023-09-21 10:42:16 -06:00
Juan Ramos
75092473f3 ci: Add chromium build
closes #80
2023-09-20 22:00:48 -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
Christophe
dc1acf9e37 layer: Add env var prefix override for back compatibility 2023-09-19 16:36:44 +02:00
Christophe
21ded6ed67 cmake: Add unreachable code check with GCC and Clang 2023-09-18 14:24:20 +02:00
Juan Ramos
1c6d92cccf Use vku prefix for vk_dispatch_table.h interface 2023-09-13 16:49:54 -06:00
Juan Ramos
ba0d57a514 cmake: Fix accidentally exporting warnings
closes #103
2023-09-11 14:06:01 -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
Mike Schuchardt
2f464cfc89 build: Update to header 1.3.264
- Update known-good
- Generate source
2023-09-11 09:14:41 -07:00
Juan Ramos
6710b67cde Ensure all header files shipped have the vk_ prefix
CI will fail now if we ship a .h / .hpp file that doesn't use
the correct prefix.

I also documented the precedent for this prefix and the existing
integration testing.
2023-09-08 12:47:09 -06:00
Christophe
a3235b3e7f cmake: Add a function to setup all build targets with the same strictness 2023-09-07 19:23:55 +02:00
Mike Schuchardt
f75f26a0c8 build: Update to header 1.3.263
- Update known-good
- Generate source
2023-09-05 14:12:36 -07: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
Mike Schuchardt
814391e074 build: Update to header 1.3.262
- Update known-good
- Generate source
2023-08-25 12:43:40 -07: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
Mike Schuchardt
430013c64e build: Update to header 1.3.261
- Update known-good
- Generate source
2023-08-04 17:45:21 -07:00
Mike Schuchardt
a191ca0720 build: Update to header 1.3.260
- Update known-good
- Generate source
2023-08-02 15:07:01 +02:00
Juan Ramos
93ceaff579 Add REUSE to CI
Ensures proper copyright for the repo
2023-07-25 16:11:18 -06:00
Mike Schuchardt
3ba6d4fc35 build: Update to header 1.3.259
- Update known-good
- Generate source (no change)
2023-07-24 11:16:07 -06:00
Juan Ramos
596e7cf6ea build: Remove invalid generated files
vk_dispatch_table_helper.h and vk_layer_dispatch_table.h don't
compile currently.

Added minimal compilation testing for vk_enum_string_helper.h
2023-07-21 11:51:12 -06:00
Mike Schuchardt
3422e694ed build: Update to header 1.3.258
- Update known-good
- Generate source
2023-07-21 11:01:02 -06:00
spencer-lunarg
d8719df037 scripts: Add initial codegen scripts 2023-07-17 09:54:09 -06:00
Mike Schuchardt
d1d93c0d79 build: Update to header 1.3.257 2023-07-10 09:26:02 -07:00
Mike Schuchardt
7752c6d056 build: Update to header 1.3.256 2023-06-30 13:24:38 -06:00
Mike Schuchardt
1c8f7870e5 build: Update to header 1.3.255 2023-06-23 11:43:31 -07:00
Juan Ramos
8d23122189 cmake: Cleanup CMake
Pulling in latest changes from VVL

Use BUILD_TESTS instead of VUL_TESTS. While it's good practice to
prefix variable names it makes updating this code more difficult.
Also since tests can only ever be enabled if the project is top
level, it doesn't affect add_subdirectory users.

Other misc. CMake cleanup
2023-06-20 16:12:03 -06:00
Mike Schuchardt
4e5efb844c build: Update to header 1.3.254 2023-06-16 10:40:45 -06:00
Mike Schuchardt
b40c747dfa build: Update to header 1.3.253 2023-06-12 09:53:32 -06:00
Mike Schuchardt
26eb39aaac build: Update to header 1.3.251 2023-05-31 14:35:25 +02:00
juan-lunarg
db4b6a9fef known_good: Update Vulkan Headers to 1.3.250 2023-05-09 09:10:46 +02:00
Juan Ramos
280a68ef17 cmake: Use VUL_ prefix for cache variables
Allows build options specific to Vulkan-Utility-Libraries to be
easily grouped via cmake-gui.

This approach is also nicer for users who consume the library via
add_subdirectory or FetchContent since it more obvious what
settings are being ovverriden.

Remove UTILITY_LIBRARIES_CPP_STANDARD since we don't have a
reason to support multiple CPP standards.

Set testing to OFF by default to make consuming the library easier
for users and package managers.
2023-03-30 12:44:36 +02:00
Christophe
70fb7ab7da cmake: cleanup 2023-03-29 11:25:26 -06:00
Christophe
a41380f9fb Initial cmake to build the LayerUtils lib and tests 2023-03-23 14:28:39 +01:00