Commit graph

147 commits

Author SHA1 Message Date
Juan Ramos
75092473f3 ci: Add chromium build
closes #80
2023-09-20 22:00:48 -06:00
Juan Ramos
918633e904 doc: Update README.md with project description
closes #99
2023-09-20 13:25:56 -06:00
Christophe
bc3f1e9771 layer: Add multiple VkLayerSettingsCreateInfo support 2023-09-20 19:13:47 +02:00
Christophe
276fc1b255 docs: Add layer configuration documentation 2023-09-20 18:27:17 +02:00
Juan Ramos
fefcc37fc1 Ensure consistent usage of vku in PUBLIC header files
closes #107
2023-09-20 08:34:34 -06:00
Juan Ramos
9527ed588f git: Add .gitattributes
closes #102
2023-09-19 12:23:37 -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
Brad Grantham
10f76f75da remove a redundant return and fix a compiler warning 2023-09-14 17:51:37 -06:00
Christophe
e015dcd6b4 layer: Add CPP version of GetUnknownSettings 2023-09-14 17:10:12 +02:00
Christophe
dbeeb934ef layer: Simplify code using vkGetUnknownSettings 2023-09-14 14:40:58 +02:00
Juan Ramos
1c6d92cccf Use vku prefix for vk_dispatch_table.h interface 2023-09-13 16:49:54 -06:00
Christophe
b78ed1a5f0 layer: Add features to list unknown settings 2023-09-13 22:10:26 +02: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
4d4015e19a Fix -Wshadow warning 2023-09-05 15:40:16 -07:00
Mike Schuchardt
f75f26a0c8 build: Update to header 1.3.263
- Update known-good
- Generate source
2023-09-05 14:12:36 -07:00
Christophe
dca404674d layer: Add 'on' and 'off' for bool layer settings for API dump comp 2023-09-05 21:03:58 +02:00
Christophe
87801a6c47 layer: Add screenshot layer workaround for setting compatibility 2023-09-04 16:54:26 +02:00
Christophe
824cafcf9d layer: Fix env variable trim modes 2023-09-04 16:54:26 +02:00
Mike Schuchardt
dd26ae7065 Fix Windows build with /p:CharacterSet=Unicode
Use TCHAR/TEXT macros for strings when interfacing with the Win32 API.
Use native Win32 GetFileAttributes call to check if a file exists. Pass
the layer settings file path around as a std::filesystem::path to avoid
the need for an encoding conversion on Windows.
2023-08-31 09:32:08 +02:00
Mike Schuchardt
21bebf6af1 build: Add header dependency to GN build 2023-08-30 10:36:20 -07:00
Christophe
33e9ad7116 layer: remove VK_LAYER_SETTING_TYPE_FRAMESET_EXT
After VK_EXT_layer_settings spec review, this new type
was judge unnecessary because it could be express by
three uint32. However, it still remains useful for the
layer settings library to correctly interpret formated
strings that represent "framesets".
2023-08-30 12:40:40 +02: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
Juan Ramos
1d30c156cd Fix gn build
You must specify header files in a GN build
2023-08-25 10:43:28 -06:00
Juan Ramos
f8b6b602c8 cmake: Fix 3.17.2 support 2023-08-23 15:41:18 -06:00
Juan Ramos
f7be9d4b29 ci: Test CMake Minimum 2023-08-23 15:41:18 -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
Christophe
2396306278 layer: Use a different sType than the private EXT_layer_settings 2023-08-23 15:09:32 +02: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
Mike Schuchardt
d05c872b51 build: Move include dir to public config
... so that it propagates
2023-08-21 13:22:05 -07:00
Christophe
d414e86858 layer: Fix API naming to follow convention 2023-08-21 15:49:04 +02:00
Christophe
9950e5ca49 layer: clean up API 2023-08-18 14:44:26 +02:00
Christophe
33e1bd1c97 layer: Disable layer settings registry 2023-08-17 17:20:38 +02: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
Christophe
c8a4566f89 layer: Fix vkEnumerateInstanceLayerSettingsEXT on Windows C.I. 2023-08-15 20:11:29 +02:00
Christophe
ed2d4d1250 layer: Add minimum setting reflection 2023-08-15 19:04:52 +02:00
Mike Schuchardt
79d5fb108b Get GN build working
- Static library
- Add overrides, not necessary yet but it will be when other parts of
  this repo wants to find Vulkan-Headers
- Remove unused dependency on Vulkan-Headers from the settings library
- Remove unreachable return flagged by clang
2023-08-09 22:19:20 +02:00
Christophe
bfe446bf18 Add GN build system 2023-08-09 22:19:20 +02:00
Christophe
87b77bc639 layer: Improve API consistency 2023-08-09 16:12:49 +02:00
Mike Schuchardt
430013c64e build: Update to header 1.3.261
- Update known-good
- Generate source
2023-08-04 17:45:21 -07:00
Christophe
f8208e8fb9 layer: Query string values in one concat string 2023-08-04 22:55:35 +02:00
Christophe
6bb101db7f layer: Fix 64 bit to string conversion 2023-08-04 20:06:28 +02:00
Christophe
07e2779843 layer: Add string to int 2023-08-04 12:32:54 +02:00