Compare commits

...

6 Commits

Author SHA1 Message Date
Jan Kuhlmann 1491456a64
use assert macros (#2352)
Set Version Tag / set-version-tag (push) Waiting to run Details
2025-11-11 14:56:14 +01:00
Andreas Süßenbach 9423ad7f69
Fix wrongly generated interface of vk::raii::Device::getFaultInfoEXT. (#2350) 2025-11-11 11:15:31 +01:00
Andreas Süßenbach 63a3afa9b2
Fix structure usage in special command flavours of vkSetDebugUtilsObjectNameEXT and vkSetDebugUtilsObjectTagEXT (#2348) 2025-11-10 14:29:50 +01:00
Andreas Süßenbach 36b276f0a2
Replace using free by using a std::vector (#2344) 2025-11-10 14:29:35 +01:00
Jan Kuhlmann b4d30a5fb5
CI: Added runner for Windows with Clang and Ninja (#2342)
* add windows ci testing clang and ninja

* attempt to use multi-config builds on msvc ci

* install deps for windows ci

* temporarily disable ci portions

* try clang-cl

* test x64 only

* try x64 for clang-cl

* specify clang-cl as C compiler

* attempt clang-cl with dep install

* ignore unused variable warning in sample02

* need to specify c compiler as glfw install is not being found

* try to ignore warning in standard clang fashion

* syntax fix

* cast procaddress to void* before final func type cast

* added more windows clang warning suppressions

* disable normal windows ci

* suppress warnings in raii samples

* suppress more warnings for tests

* more unused var suppressions for tests

* disable preinstall of deps in clang to prevent _ITERATOR_DEBUG_LEVEL mismatch

* suppress unused var warnings triggered in release mode

* add warning suppression to flags test

* fixed strided array proxy test

* fix structure chain test

* fix extension inspection test

* reenable all ci workflows
2025-11-10 14:29:09 +01:00
github-actions[bot] cda66a2513
Update Vulkan-Headers to v1.4.332 (#2346)
Co-authored-by: GitHub <noreply@github.com>
2025-11-10 13:06:46 +01:00
41 changed files with 1095 additions and 263 deletions

View File

@ -1,5 +1,5 @@
name: CI Windows name: CI Windows Clang
on: on:
pull_request: pull_request:
@ -16,7 +16,7 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [windows-2022, windows-2025] os: [windows-2022, windows-2025]
architecture: [x86, x64] architecture: [x64]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -31,7 +31,8 @@ jobs:
# - name: Install glm, glfw and glslang # - name: Install glm, glfw and glslang
# run: | # run: |
# cd glm # cd glm
# cmake -B build \ # cmake -B build -G Ninja \
# -D CMAKE_CXX_COMPILER=clang-cl \
# -D CMAKE_CXX_STANDARD=11 \ # -D CMAKE_CXX_STANDARD=11 \
# -D CMAKE_BUILD_TYPE=Release \ # -D CMAKE_BUILD_TYPE=Release \
# -D GLM_BUILD_LIBRARY=ON \ # -D GLM_BUILD_LIBRARY=ON \
@ -41,8 +42,8 @@ jobs:
# cmake --install build # cmake --install build
# cd ../glfw # cd ../glfw
# cmake -B build \ # cmake -B build -G Ninja \
# -D CMAKE_CXX_STANDARD=11 \ # -D CMAKE_C_COMPILER=clang-cl \
# -D CMAKE_BUILD_TYPE=Release \ # -D CMAKE_BUILD_TYPE=Release \
# -D GLFW_BUILD_EXAMPLES=OFF \ # -D GLFW_BUILD_EXAMPLES=OFF \
# -D GLFW_BUILD_TESTS=OFF \ # -D GLFW_BUILD_TESTS=OFF \
@ -52,7 +53,9 @@ jobs:
# cmake --install build # cmake --install build
# cd ../glslang # cd ../glslang
# cmake -B build \ # cmake -B build -G Ninja \
# -D CMAKE_C_COMPILER=clang-cl \
# -D CMAKE_CXX_COMPILER=clang-cl \
# -D CMAKE_CXX_STANDARD=11 \ # -D CMAKE_CXX_STANDARD=11 \
# -D CMAKE_BUILD_TYPE=Release \ # -D CMAKE_BUILD_TYPE=Release \
# -D ENABLE_OPT=OFF \ # -D ENABLE_OPT=OFF \
@ -64,7 +67,7 @@ jobs:
- name: Generate headers - name: Generate headers
run: | run: |
cmake -B build \ cmake -B build -G Ninja \
-D VULKAN_HPP_GENERATOR_BUILD=ON \ -D VULKAN_HPP_GENERATOR_BUILD=ON \
-D VULKAN_HPP_RUN_GENERATOR=OFF \ -D VULKAN_HPP_RUN_GENERATOR=OFF \
-D VULKAN_HPP_SAMPLES_BUILD=OFF \ -D VULKAN_HPP_SAMPLES_BUILD=OFF \
@ -72,10 +75,12 @@ jobs:
-D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \
-D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \
-D VULKAN_HPP_PRECOMPILE=OFF \ -D VULKAN_HPP_PRECOMPILE=OFF \
-D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_CXX_COMPILER=clang-cl \
-D CMAKE_CXX_STANDARD=20 -D CMAKE_CXX_STANDARD=20
cmake --build build --parallel --config Debug cmake --build build --parallel
cmake -B build --fresh \ cmake -B build -G Ninja --fresh \
-D VULKAN_HPP_GENERATOR_BUILD=ON \ -D VULKAN_HPP_GENERATOR_BUILD=ON \
-D VULKAN_HPP_RUN_GENERATOR=ON \ -D VULKAN_HPP_RUN_GENERATOR=ON \
-D VULKAN_HPP_SAMPLES_BUILD=OFF \ -D VULKAN_HPP_SAMPLES_BUILD=OFF \
@ -83,23 +88,20 @@ jobs:
-D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \
-D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \
-D VULKAN_HPP_PRECOMPILE=OFF \ -D VULKAN_HPP_PRECOMPILE=OFF \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_CXX_COMPILER=clang-cl \
-D CMAKE_CXX_STANDARD=20 -D CMAKE_CXX_STANDARD=20
cmake --build build --parallel --clean-first --config Release cmake --build build --parallel --clean-first
- name: Build samples and tests - name: Build samples and tests
run: | run: |
for CXX_STANDARD in 11 14 17 20 23; do for CXX_STANDARD in 11 14 17 20 23; do
for BUILD_TYPE in Debug Release; do for BUILD_TYPE in Debug Release; do
CXX_MODULES=ON
if [ ${{matrix.compiler}} == "windows-2019" ] || [ $CXX_STANDARD -lt 20 ]; then
CXX_MODULES=OFF
fi
echo "=================================================================================" echo "================================================================================="
echo "Building C++$CXX_STANDARD in $BUILD_TYPE with architecture ${{matrix.architecture}}" echo "Building C++$CXX_STANDARD in $BUILD_TYPE with architecture ${{matrix.architecture}}"
echo "=================================================================================" echo "================================================================================="
cmake -B build --fresh \ cmake -B build -G Ninja --fresh \
-D VULKAN_HPP_GENERATOR_BUILD=OFF \ -D VULKAN_HPP_GENERATOR_BUILD=OFF \
-D VULKAN_HPP_RUN_GENERATOR=OFF \ -D VULKAN_HPP_RUN_GENERATOR=OFF \
-D VULKAN_HPP_SAMPLES_BUILD=ON \ -D VULKAN_HPP_SAMPLES_BUILD=ON \
@ -107,7 +109,10 @@ jobs:
-D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \ -D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \
-D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \ -D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \
-D VULKAN_HPP_PRECOMPILE=OFF \ -D VULKAN_HPP_PRECOMPILE=OFF \
-D CMAKE_BUILD_TYPE=$BUILD_TYPE \
-D CMAKE_C_COMPILER=clang-cl \
-D CMAKE_CXX_COMPILER=clang-cl \
-D CMAKE_CXX_STANDARD=$CXX_STANDARD -D CMAKE_CXX_STANDARD=$CXX_STANDARD
cmake --build build --parallel --clean-first --config $BUILD_TYPE cmake --build build --parallel --clean-first
done done
done done

97
.github/workflows/ci-windows-msvc.yml vendored Normal file
View File

@ -0,0 +1,97 @@
name: CI Windows MSVC
on:
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ${{matrix.os}}
defaults:
run:
shell: bash
strategy:
matrix:
os: [windows-2022, windows-2025]
architecture: [x86, x64]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup MSVC
uses: TheMrMilchmann/setup-msvc-dev@v2
with:
arch: ${{matrix.architecture}}
# - name: Install glm, glfw and glslang
# run: |
# cd glm
# cmake -B build \
# -D CMAKE_CXX_STANDARD=11 \
# -D GLM_BUILD_LIBRARY=ON \
# -D GLM_BUILD_INSTALL=ON \
# -D GLM_BUILD_TESTS=OFF
# cmake --build build --parallel --config Release
# cmake --install build --config Release
# cd ../glfw
# cmake -B build \
# -D CMAKE_CXX_STANDARD=11 \
# -D GLFW_BUILD_EXAMPLES=OFF \
# -D GLFW_BUILD_TESTS=OFF \
# -D GLFW_BUILD_DOCS=OFF \
# -D GLFW_INSTALL=ON
# cmake --build build --parallel --config Release
# cmake --install build --config Release
# cd ../glslang
# cmake -B build \
# -D CMAKE_CXX_STANDARD=11 \
# -D ENABLE_OPT=OFF \
# -D GLSLANG_TESTS_DEFAULT=OFF \
# -D GLSLANG_ENABLE_INSTALL_DEFAULT=ON
# cmake --build build --parallel --config Release
# cmake --install build --config Release
# cd ..
- name: Generate headers
run: |
cmake -B build \
-D VULKAN_HPP_GENERATOR_BUILD=ON \
-D VULKAN_HPP_RUN_GENERATOR=OFF \
-D VULKAN_HPP_SAMPLES_BUILD=OFF \
-D VULKAN_HPP_TESTS_BUILD=OFF \
-D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \
-D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \
-D VULKAN_HPP_PRECOMPILE=OFF \
-D CMAKE_CXX_STANDARD=20
cmake --build build --parallel --config Debug
cmake --build build --parallel --config Release
- name: Build samples and tests
run: |
for CXX_STANDARD in 11 14 17 20 23; do
echo "================================================================================="
echo "Building C++$CXX_STANDARD in Debug with architecture ${{matrix.architecture}}"
echo "================================================================================="
cmake -B build --fresh \
-D VULKAN_HPP_GENERATOR_BUILD=OFF \
-D VULKAN_HPP_RUN_GENERATOR=OFF \
-D VULKAN_HPP_SAMPLES_BUILD=ON \
-D VULKAN_HPP_TESTS_BUILD=ON \
-D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \
-D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \
-D VULKAN_HPP_PRECOMPILE=OFF \
-D CMAKE_CXX_STANDARD=$CXX_STANDARD
cmake --build build --parallel --clean-first --config Debug
echo "================================================================================="
echo "Building C++$CXX_STANDARD in Release with architecture ${{matrix.architecture}}"
echo "================================================================================="
cmake --build build --parallel --config Release
done

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC // no need to ignore any warnings with MSVC
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC // no need to ignore any warnings with MSVC
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

@ -142,8 +142,7 @@ int main( int /*argc*/, char ** /*argv*/ )
/* VULKAN_KEY_START */ /* VULKAN_KEY_START */
// Check disk for existing cache data // Check disk for existing cache data
size_t startCacheSize = 0; std::vector<char> startCacheData;
char * startCacheData = nullptr;
std::string cacheFileName = "pipeline_cache_data.bin"; std::string cacheFileName = "pipeline_cache_data.bin";
std::ifstream readCacheStream( cacheFileName, std::ios_base::in | std::ios_base::binary ); std::ifstream readCacheStream( cacheFileName, std::ios_base::in | std::ios_base::binary );
@ -151,14 +150,14 @@ int main( int /*argc*/, char ** /*argv*/ )
{ {
// Determine cache size // Determine cache size
readCacheStream.seekg( 0, readCacheStream.end ); readCacheStream.seekg( 0, readCacheStream.end );
startCacheSize = static_cast<size_t>( readCacheStream.tellg() ); size_t startCacheSize = static_cast<size_t>( readCacheStream.tellg() );
readCacheStream.seekg( 0, readCacheStream.beg ); readCacheStream.seekg( 0, readCacheStream.beg );
// Allocate memory to hold the initial cache data // Allocate memory to hold the initial cache data
startCacheData = (char *)std::malloc( startCacheSize ); startCacheData.resize( startCacheSize );
// Read the data into our buffer // Read the data into our buffer
readCacheStream.read( startCacheData, startCacheSize ); readCacheStream.read( startCacheData.data(), startCacheData.size() );
// Clean up and print results // Clean up and print results
readCacheStream.close(); readCacheStream.close();
@ -171,7 +170,7 @@ int main( int /*argc*/, char ** /*argv*/ )
std::cout << " Pipeline cache miss!\n"; std::cout << " Pipeline cache miss!\n";
} }
if ( startCacheData != nullptr ) if ( !startCacheData.empty() )
{ {
// Check for cache validity // Check for cache validity
// //
@ -207,11 +206,12 @@ int main( int /*argc*/, char ** /*argv*/ )
uint32_t deviceID = 0; uint32_t deviceID = 0;
uint8_t pipelineCacheUUID[VK_UUID_SIZE] = {}; uint8_t pipelineCacheUUID[VK_UUID_SIZE] = {};
memcpy( &headerLength, (uint8_t *)startCacheData + 0, 4 ); uint8_t * startCacheDataPtr = reinterpret_cast<uint8_t *>( startCacheData.data() );
memcpy( &cacheHeaderVersion, (uint8_t *)startCacheData + 4, 4 ); memcpy( &headerLength, startCacheDataPtr + 0, 4 );
memcpy( &vendorID, (uint8_t *)startCacheData + 8, 4 ); memcpy( &cacheHeaderVersion, startCacheDataPtr + 4, 4 );
memcpy( &deviceID, (uint8_t *)startCacheData + 12, 4 ); memcpy( &vendorID, startCacheDataPtr + 8, 4 );
memcpy( pipelineCacheUUID, (uint8_t *)startCacheData + 16, VK_UUID_SIZE ); memcpy( &deviceID, startCacheDataPtr + 12, 4 );
memcpy( pipelineCacheUUID, startCacheDataPtr + 16, VK_UUID_SIZE );
// Check each field and report bad values before freeing existing cache // Check each field and report bad values before freeing existing cache
bool badCache = false; bool badCache = false;
@ -257,9 +257,7 @@ int main( int /*argc*/, char ** /*argv*/ )
if ( badCache ) if ( badCache )
{ {
// Don't submit initial cache data if any version info is incorrect // Don't submit initial cache data if any version info is incorrect
free( startCacheData ); startCacheData.clear();
startCacheSize = 0;
startCacheData = nullptr;
// And clear out the old cache file for use in next run // And clear out the old cache file for use in next run
std::cout << " Deleting cache entry " << cacheFileName << " to repopulate.\n"; std::cout << " Deleting cache entry " << cacheFileName << " to repopulate.\n";
@ -272,12 +270,11 @@ int main( int /*argc*/, char ** /*argv*/ )
} }
// Feed the initial cache data into cache creation // Feed the initial cache data into cache creation
vk::PipelineCacheCreateInfo pipelineCacheCreateInfo( {}, startCacheSize, startCacheData ); vk::PipelineCacheCreateInfo pipelineCacheCreateInfo( {}, startCacheData.size(), startCacheData.data() );
vk::raii::PipelineCache pipelineCache( device, pipelineCacheCreateInfo ); vk::raii::PipelineCache pipelineCache( device, pipelineCacheCreateInfo );
// Free our initialData now that pipeline cache has been created // Free our initialData now that pipeline cache has been created
free( startCacheData ); startCacheData.clear();
startCacheData = NULL;
// Time (roughly) taken to create the graphics pipeline // Time (roughly) taken to create the graphics pipeline
timestamp_t start = getMilliseconds(); timestamp_t start = getMilliseconds();

@ -1 +1 @@
Subproject commit 766aaabe571fa32c53606085775340b78ab8d728 Subproject commit 3dda5a1a87b62fdf3baf4680edc41c00e85a7a22

View File

@ -1680,9 +1680,12 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
template <typename HandleType> template <typename HandleType>
VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name ) const VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name ) const
{ {
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo( // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name.c_str() ); VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo;
nameInfo.objectType = handle.objectType;
nameInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) );
nameInfo.pObjectName = name.c_str();
return setDebugUtilsObjectNameEXT( nameInfo ); return setDebugUtilsObjectNameEXT( nameInfo );
} }
)" ); )" );
@ -1711,9 +1714,12 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name, Dispatch const & d ) const Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name, Dispatch const & d ) const
{ {
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo( // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name.c_str() ); VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo;
nameInfo.objectType = handle.objectType;
nameInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) );
nameInfo.pObjectName = name.c_str();
return setDebugUtilsObjectNameEXT( nameInfo, d ); return setDebugUtilsObjectNameEXT( nameInfo, d );
} }
)" ); )" );
@ -1743,9 +1749,14 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
VULKAN_HPP_INLINE typename ResultValueType<void>::type VULKAN_HPP_INLINE typename ResultValueType<void>::type
Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag ) const Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag ) const
{ {
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo( // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name, sizeof( TagType ), &tag ); VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo;
tagInfo.objectType = handle.objectType;
tagInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) );
tagInfo.tagName = name;
tagInfo.tagSize = sizeof( TagType );
tagInfo.pTag = &tag;
return setDebugUtilsObjectTagEXT( tagInfo ); return setDebugUtilsObjectTagEXT( tagInfo );
} }
)" ); )" );
@ -1774,9 +1785,14 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag, Dispatch const & d ) const Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag, Dispatch const & d ) const
{ {
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo( // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name, sizeof( TagType ), &tag ); VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo;
tagInfo.objectType = handle.objectType;
tagInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) );
tagInfo.tagName = name;
tagInfo.tagSize = sizeof( TagType );
tagInfo.pTag = &tag;
return setDebugUtilsObjectTagEXT( tagInfo, d ); return setDebugUtilsObjectTagEXT( tagInfo, d );
} }
)" ); )" );
@ -3620,7 +3636,7 @@ std::string VulkanHppGenerator::generateCommandResultMultiSuccessWithErrors2Retu
else if ( name == "vkGetDeviceFaultInfoEXT" ) else if ( name == "vkGetDeviceFaultInfoEXT" )
{ {
// can't generate an enhanced version for such a complex command! Just use the standard version // can't generate an enhanced version for such a complex command! Just use the standard version
return generateCommandStandard( name, commandData, initialSkipCount, definition ); return generateCommandSetInclusive( name, commandData, initialSkipCount, definition, returnParams, vectorParams, false, {}, raii, false, {} );
} }
} }
break; break;
@ -3628,7 +3644,7 @@ std::string VulkanHppGenerator::generateCommandResultMultiSuccessWithErrors2Retu
if ( ( returnParams[0] == vectorParams.begin()->first ) && vectorParams.begin()->second.byStructure ) if ( ( returnParams[0] == vectorParams.begin()->first ) && vectorParams.begin()->second.byStructure )
{ {
// can't generate an enhanced version for such a complex command! Just use the standard version // can't generate an enhanced version for such a complex command! Just use the standard version
return generateCommandStandard( name, commandData, initialSkipCount, definition ); return generateCommandSetInclusive( name, commandData, initialSkipCount, definition, returnParams, vectorParams, false, {}, raii, false, {} );
} }
else if ( returnParams[0] == vectorParams.begin()->second.lenParam ) else if ( returnParams[0] == vectorParams.begin()->second.lenParam )
{ {

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC // no need to ignore any warnings with MSVC
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC // no need to ignore any warnings with MSVC
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC // no need to ignore any warnings with MSVC
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

@ -140,8 +140,7 @@ int main( int /*argc*/, char ** /*argv*/ )
/* VULKAN_KEY_START */ /* VULKAN_KEY_START */
// Check disk for existing cache data // Check disk for existing cache data
size_t startCacheSize = 0; std::vector<char> startCacheData;
char * startCacheData = nullptr;
std::string cacheFileName = "pipeline_cache_data.bin"; std::string cacheFileName = "pipeline_cache_data.bin";
std::ifstream readCacheStream( cacheFileName, std::ios_base::in | std::ios_base::binary ); std::ifstream readCacheStream( cacheFileName, std::ios_base::in | std::ios_base::binary );
@ -149,14 +148,14 @@ int main( int /*argc*/, char ** /*argv*/ )
{ {
// Determine cache size // Determine cache size
readCacheStream.seekg( 0, readCacheStream.end ); readCacheStream.seekg( 0, readCacheStream.end );
startCacheSize = static_cast<size_t>( readCacheStream.tellg() ); size_t startCacheSize = static_cast<size_t>( readCacheStream.tellg() );
readCacheStream.seekg( 0, readCacheStream.beg ); readCacheStream.seekg( 0, readCacheStream.beg );
// Allocate memory to hold the initial cache data // Allocate memory to hold the initial cache data
startCacheData = (char *)std::malloc( startCacheSize ); startCacheData.resize( startCacheSize );
// Read the data into our buffer // Read the data into our buffer
readCacheStream.read( startCacheData, startCacheSize ); readCacheStream.read( startCacheData.data(), startCacheData.size() );
// Clean up and print results // Clean up and print results
readCacheStream.close(); readCacheStream.close();
@ -169,7 +168,7 @@ int main( int /*argc*/, char ** /*argv*/ )
std::cout << " Pipeline cache miss!\n"; std::cout << " Pipeline cache miss!\n";
} }
if ( startCacheData != nullptr ) if ( !startCacheData.empty() )
{ {
// Check for cache validity // Check for cache validity
// //
@ -205,11 +204,12 @@ int main( int /*argc*/, char ** /*argv*/ )
uint32_t deviceID = 0; uint32_t deviceID = 0;
uint8_t pipelineCacheUUID[VK_UUID_SIZE] = {}; uint8_t pipelineCacheUUID[VK_UUID_SIZE] = {};
memcpy( &headerLength, (uint8_t *)startCacheData + 0, 4 ); uint8_t * startCacheDataPtr = reinterpret_cast<uint8_t *>( startCacheData.data() );
memcpy( &cacheHeaderVersion, (uint8_t *)startCacheData + 4, 4 ); memcpy( &headerLength, startCacheDataPtr + 0, 4 );
memcpy( &vendorID, (uint8_t *)startCacheData + 8, 4 ); memcpy( &cacheHeaderVersion, startCacheDataPtr + 4, 4 );
memcpy( &deviceID, (uint8_t *)startCacheData + 12, 4 ); memcpy( &vendorID, startCacheDataPtr + 8, 4 );
memcpy( pipelineCacheUUID, (uint8_t *)startCacheData + 16, VK_UUID_SIZE ); memcpy( &deviceID, startCacheDataPtr + 12, 4 );
memcpy( pipelineCacheUUID, startCacheDataPtr + 16, VK_UUID_SIZE );
// Check each field and report bad values before freeing existing cache // Check each field and report bad values before freeing existing cache
bool badCache = false; bool badCache = false;
@ -255,9 +255,7 @@ int main( int /*argc*/, char ** /*argv*/ )
if ( badCache ) if ( badCache )
{ {
// Don't submit initial cache data if any version info is incorrect // Don't submit initial cache data if any version info is incorrect
free( startCacheData ); startCacheData.clear();
startCacheSize = 0;
startCacheData = nullptr;
// And clear out the old cache file for use in next run // And clear out the old cache file for use in next run
std::cout << " Deleting cache entry " << cacheFileName << " to repopulate.\n"; std::cout << " Deleting cache entry " << cacheFileName << " to repopulate.\n";
@ -271,11 +269,10 @@ int main( int /*argc*/, char ** /*argv*/ )
// Feed the initial cache data into cache creation // Feed the initial cache data into cache creation
vk::PipelineCache pipelineCache = vk::PipelineCache pipelineCache =
device.createPipelineCache( vk::PipelineCacheCreateInfo( vk::PipelineCacheCreateFlags(), startCacheSize, startCacheData ) ); device.createPipelineCache( vk::PipelineCacheCreateInfo( vk::PipelineCacheCreateFlags(), startCacheData.size(), startCacheData.data() ) );
// Free our initialData now that pipeline cache has been created // Free our initialData now that pipeline cache has been created
free( startCacheData ); startCacheData.clear();
startCacheData = NULL;
// Time (roughly) taken to create the graphics pipeline // Time (roughly) taken to create the graphics pipeline
timestamp_t start = getMilliseconds(); timestamp_t start = getMilliseconds();

View File

@ -101,9 +101,9 @@
T getProcAddress( const char* function ) const VULKAN_HPP_NOEXCEPT T getProcAddress( const char* function ) const VULKAN_HPP_NOEXCEPT
{ {
# if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined(__Fuchsia__) # if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined(__Fuchsia__)
return (T)dlsym( m_library, function ); return (T)(void*)dlsym( m_library, function );
# elif defined( _WIN32 ) # elif defined( _WIN32 )
return (T)::GetProcAddress( m_library, function ); return (T)(void*)::GetProcAddress( m_library, function );
# else # else
# error unsupported platform # error unsupported platform
# endif # endif

View File

@ -68,7 +68,7 @@ namespace VULKAN_HPP_NAMESPACE
{ {
#if !defined( NDEBUG ) #if !defined( NDEBUG )
static std::set<std::string> versions = { ${versions} }; static std::set<std::string> versions = { ${versions} };
assert( versions.find( version ) != versions.end() ); VULKAN_HPP_ASSERT( versions.find( version ) != versions.end() );
#endif #endif
static std::vector<std::vector<std::string>> noDependencies; static std::vector<std::vector<std::string>> noDependencies;

View File

@ -4,7 +4,7 @@ ${licenseHeader}
${includes} ${includes}
static_assert( VK_HEADER_VERSION == ${headerVersion}, "Wrong VK_HEADER_VERSION!" ); VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == ${headerVersion}, "Wrong VK_HEADER_VERSION!" );
${defines} ${defines}

View File

@ -35,25 +35,25 @@
T const * operator->() const VULKAN_HPP_NOEXCEPT T const * operator->() const VULKAN_HPP_NOEXCEPT
{ {
assert( has_value() ); VULKAN_HPP_ASSERT( has_value() );
return &value; return &value;
} }
T * operator->() VULKAN_HPP_NOEXCEPT T * operator->() VULKAN_HPP_NOEXCEPT
{ {
assert( has_value() ); VULKAN_HPP_ASSERT( has_value() );
return &value; return &value;
} }
T const & operator*() const VULKAN_HPP_NOEXCEPT T const & operator*() const VULKAN_HPP_NOEXCEPT
{ {
assert(has_value ()); VULKAN_HPP_ASSERT(has_value ());
return value; return value;
} }
T & operator*() VULKAN_HPP_NOEXCEPT T & operator*() VULKAN_HPP_NOEXCEPT
{ {
assert(has_value ()); VULKAN_HPP_ASSERT(has_value ());
return value; return value;
} }
}; };

View File

@ -8,7 +8,6 @@ ${licenseHeader}
#if !defined( VULKAN_HPP_CXX_MODULE ) #if !defined( VULKAN_HPP_CXX_MODULE )
# include <cstring> // strcmp # include <cstring> // strcmp
# include <cstdlib> // free
#endif #endif
namespace VULKAN_HPP_NAMESPACE namespace VULKAN_HPP_NAMESPACE

View File

@ -55,13 +55,13 @@
public: public:
StructureChain() VULKAN_HPP_NOEXCEPT StructureChain() VULKAN_HPP_NOEXCEPT
{ {
static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" ); VULKAN_HPP_STATIC_ASSERT( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
link<sizeof...( ChainElements ) - 1>(); link<sizeof...( ChainElements ) - 1>();
} }
StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs ) StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs )
{ {
static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" ); VULKAN_HPP_STATIC_ASSERT( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
link( &std::get<0>( *this ), link( &std::get<0>( *this ),
&std::get<0>( rhs ), &std::get<0>( rhs ),
reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ), reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
@ -70,7 +70,7 @@
StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... ) StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... )
{ {
static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" ); VULKAN_HPP_STATIC_ASSERT( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
link<sizeof...( ChainElements ) - 1>(); link<sizeof...( ChainElements ) - 1>();
} }
@ -130,7 +130,7 @@
typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), bool>::type typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), bool>::type
isLinked() const VULKAN_HPP_NOEXCEPT isLinked() const VULKAN_HPP_NOEXCEPT
{ {
static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" ); VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) ); return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) );
} }
@ -138,7 +138,7 @@
typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
relink() VULKAN_HPP_NOEXCEPT relink() VULKAN_HPP_NOEXCEPT
{ {
static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't relink Structure that's not part of this StructureChain!" ); VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't relink Structure that's not part of this StructureChain!" );
auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() ); auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() );
VULKAN_HPP_ASSERT( !isLinked( pNext ) ); VULKAN_HPP_ASSERT( !isLinked( pNext ) );
auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) ); auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) );
@ -150,7 +150,7 @@
typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
unlink() VULKAN_HPP_NOEXCEPT unlink() VULKAN_HPP_NOEXCEPT
{ {
static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" ); VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) ); unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) );
} }

View File

@ -27,7 +27,6 @@
#else #else
# include <cassert> # include <cassert>
# include <cstring> # include <cstring>
# include <cstdlib>
import std.compat; import std.compat;
#endif #endif
#include <vulkan/${vulkan_h}> #include <vulkan/${vulkan_h}>

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC // no need to ignore any warnings with MSVC
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC // no need to ignore any warnings with MSVC
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

@ -18,6 +18,9 @@
// ignore warning 4189: local variable is initialized but not referenced // ignore warning 4189: local variable is initialized but not referenced
#if defined( _MSC_VER ) #if defined( _MSC_VER )
# pragma warning( disable : 4189 ) # pragma warning( disable : 4189 )
#endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"
# pragma GCC diagnostic ignored "-Wunused-variable" # pragma GCC diagnostic ignored "-Wunused-variable"

View File

@ -18,7 +18,8 @@
// ignore warning 4189: local variable is initialized but not referenced // ignore warning 4189: local variable is initialized but not referenced
#if defined( _MSC_VER ) #if defined( _MSC_VER )
# pragma warning( disable : 4189 ) # pragma warning( disable : 4189 )
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable" # pragma GCC diagnostic ignored "-Wunused-variable"

View File

@ -20,7 +20,12 @@
// in this test, we ignore some warnings // in this test, we ignore some warnings
// You should not do that in production code !! // You should not do that in production code !!
#if defined( __GNUC__ ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC
#endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable" # pragma GCC diagnostic ignored "-Wunused-variable"
#else #else
// unknow compiler... just ignore the warnings for yourselves ;) // unknow compiler... just ignore the warnings for yourselves ;)

View File

@ -15,11 +15,11 @@
// VulkanHpp Samples : FormatTraits // VulkanHpp Samples : FormatTraits
// Compile test on using format traits functions // Compile test on using format traits functions
#include <cassert>
#include <cstring>
#include <iostream>
#include <map> #include <map>
#include <set> #include <set>
#include <cstring>
#include <cassert>
#include <iostream>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan_hpp;
#else #else

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
# pragma warning( disable : 4189 ) // local variable is initialized but not referenced # pragma warning( disable : 4189 ) // local variable is initialized but not referenced
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable" # pragma GCC diagnostic ignored "-Wunused-variable"

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
# pragma warning( disable : 4189 ) // local variable is initialized but not referenced # pragma warning( disable : 4189 ) // local variable is initialized but not referenced
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable" # pragma GCC diagnostic ignored "-Wunused-variable"

View File

@ -17,6 +17,9 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
# pragma warning( disable : 4189 ) // local variable is initialized but not referenced # pragma warning( disable : 4189 ) // local variable is initialized but not referenced
#endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable" # pragma GCC diagnostic ignored "-Wunused-variable"
#else #else

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
// no need to ignore any warnings with MSVC // no need to ignore any warnings with MSVC
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" # pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

@ -18,6 +18,9 @@
// ignore warning 4189: local variable is initialized but not referenced // ignore warning 4189: local variable is initialized but not referenced
#if defined( _MSC_VER ) #if defined( _MSC_VER )
# pragma warning( disable : 4189 ) # pragma warning( disable : 4189 )
#endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable" # pragma GCC diagnostic ignored "-Wunused-variable"
#else #else

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER ) #if defined( _MSC_VER )
# pragma warning( disable : 4101 ) // 'name': unreference local variable # pragma warning( disable : 4101 ) // 'name': unreference local variable
#elif defined( __clang__ ) #endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable" # pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ ) #elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable" # pragma GCC diagnostic ignored "-Wunused-variable"

View File

@ -1048,6 +1048,9 @@ export namespace VULKAN_HPP_NAMESPACE
using VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagBitsARM; using VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagBitsARM;
using VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagsARM; using VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagsARM;
//=== VK_QCOM_data_graph_model ===
using VULKAN_HPP_NAMESPACE::DataGraphModelCacheTypeQCOM;
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
using VULKAN_HPP_NAMESPACE::RenderingAttachmentFlagBitsKHR; using VULKAN_HPP_NAMESPACE::RenderingAttachmentFlagBitsKHR;
using VULKAN_HPP_NAMESPACE::RenderingAttachmentFlagsKHR; using VULKAN_HPP_NAMESPACE::RenderingAttachmentFlagsKHR;
@ -2975,6 +2978,11 @@ export namespace VULKAN_HPP_NAMESPACE
using VULKAN_HPP_NAMESPACE::EXTShader64BitIndexingExtensionName; using VULKAN_HPP_NAMESPACE::EXTShader64BitIndexingExtensionName;
using VULKAN_HPP_NAMESPACE::EXTShader64BitIndexingSpecVersion; using VULKAN_HPP_NAMESPACE::EXTShader64BitIndexingSpecVersion;
//=== VK_QCOM_data_graph_model ===
using VULKAN_HPP_NAMESPACE::DataGraphModelToolchainVersionLengthQCOM;
using VULKAN_HPP_NAMESPACE::QCOMDataGraphModelExtensionName;
using VULKAN_HPP_NAMESPACE::QCOMDataGraphModelSpecVersion;
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
using VULKAN_HPP_NAMESPACE::KHRMaintenance10ExtensionName; using VULKAN_HPP_NAMESPACE::KHRMaintenance10ExtensionName;
using VULKAN_HPP_NAMESPACE::KHRMaintenance10SpecVersion; using VULKAN_HPP_NAMESPACE::KHRMaintenance10SpecVersion;
@ -5274,6 +5282,11 @@ export namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_shader_64bit_indexing === //=== VK_EXT_shader_64bit_indexing ===
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT; using VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT;
//=== VK_QCOM_data_graph_model ===
using VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM;
using VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM;
using VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM;
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
using VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance10FeaturesKHR; using VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance10FeaturesKHR;
using VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance10PropertiesKHR; using VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance10PropertiesKHR;
@ -9335,6 +9348,14 @@ export namespace std
template <> template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT>; struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT>;
//=== VK_QCOM_data_graph_model ===
template <>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM>;
template <>
struct hash<VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM>;
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM>;
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
template <> template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance10FeaturesKHR>; struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance10FeaturesKHR>;
@ -9365,7 +9386,8 @@ export namespace std
#endif #endif
} // namespace std } // namespace std
export { export
{
// This VkFlags type is used as part of a bitfield in some structures. // This VkFlags type is used as part of a bitfield in some structures.
// As it can't be mimicked by vk-data types, we need to export just that. // As it can't be mimicked by vk-data types, we need to export just that.
using ::VkGeometryInstanceFlagsKHR; using ::VkGeometryInstanceFlagsKHR;

View File

@ -36,7 +36,6 @@
# endif # endif
#else #else
# include <cassert> # include <cassert>
# include <cstdlib>
# include <cstring> # include <cstring>
import std.compat; import std.compat;
#endif #endif
@ -58,7 +57,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# endif # endif
#endif #endif
static_assert( VK_HEADER_VERSION == 331, "Wrong VK_HEADER_VERSION!" ); VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 332, "Wrong VK_HEADER_VERSION!" );
// <tuple> includes <sys/sysmacros.h> through some other header // <tuple> includes <sys/sysmacros.h> through some other header
// this results in major(x) being resolved to gnu_dev_major(x) // this results in major(x) being resolved to gnu_dev_major(x)
@ -663,13 +662,13 @@ namespace VULKAN_HPP_NAMESPACE
public: public:
StructureChain() VULKAN_HPP_NOEXCEPT StructureChain() VULKAN_HPP_NOEXCEPT
{ {
static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" ); VULKAN_HPP_STATIC_ASSERT( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
link<sizeof...( ChainElements ) - 1>(); link<sizeof...( ChainElements ) - 1>();
} }
StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs ) StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs )
{ {
static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" ); VULKAN_HPP_STATIC_ASSERT( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
link( &std::get<0>( *this ), link( &std::get<0>( *this ),
&std::get<0>( rhs ), &std::get<0>( rhs ),
reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ), reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
@ -678,7 +677,7 @@ namespace VULKAN_HPP_NAMESPACE
StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... ) StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... )
{ {
static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" ); VULKAN_HPP_STATIC_ASSERT( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
link<sizeof...( ChainElements ) - 1>(); link<sizeof...( ChainElements ) - 1>();
} }
@ -738,7 +737,7 @@ namespace VULKAN_HPP_NAMESPACE
typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), bool>::type typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), bool>::type
isLinked() const VULKAN_HPP_NOEXCEPT isLinked() const VULKAN_HPP_NOEXCEPT
{ {
static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" ); VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) ); return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) );
} }
@ -746,7 +745,7 @@ namespace VULKAN_HPP_NAMESPACE
typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
relink() VULKAN_HPP_NOEXCEPT relink() VULKAN_HPP_NOEXCEPT
{ {
static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't relink Structure that's not part of this StructureChain!" ); VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't relink Structure that's not part of this StructureChain!" );
auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() ); auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() );
VULKAN_HPP_ASSERT( !isLinked( pNext ) ); VULKAN_HPP_ASSERT( !isLinked( pNext ) );
auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) ); auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) );
@ -758,7 +757,7 @@ namespace VULKAN_HPP_NAMESPACE
typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
unlink() VULKAN_HPP_NOEXCEPT unlink() VULKAN_HPP_NOEXCEPT
{ {
static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" ); VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) ); unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) );
} }
@ -7344,25 +7343,25 @@ namespace VULKAN_HPP_NAMESPACE
T const * operator->() const VULKAN_HPP_NOEXCEPT T const * operator->() const VULKAN_HPP_NOEXCEPT
{ {
assert( has_value() ); VULKAN_HPP_ASSERT( has_value() );
return &value; return &value;
} }
T * operator->() VULKAN_HPP_NOEXCEPT T * operator->() VULKAN_HPP_NOEXCEPT
{ {
assert( has_value() ); VULKAN_HPP_ASSERT( has_value() );
return &value; return &value;
} }
T const & operator*() const VULKAN_HPP_NOEXCEPT T const & operator*() const VULKAN_HPP_NOEXCEPT
{ {
assert( has_value() ); VULKAN_HPP_ASSERT( has_value() );
return value; return value;
} }
T & operator*() VULKAN_HPP_NOEXCEPT T & operator*() VULKAN_HPP_NOEXCEPT
{ {
assert( has_value() ); VULKAN_HPP_ASSERT( has_value() );
return value; return value;
} }
}; };
@ -7614,6 +7613,9 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_NV_partitioned_acceleration_structure === //=== VK_NV_partitioned_acceleration_structure ===
VULKAN_HPP_CONSTEXPR_INLINE uint32_t PartitionedAccelerationStructurePartitionIndexGlobalNV = VK_PARTITIONED_ACCELERATION_STRUCTURE_PARTITION_INDEX_GLOBAL_NV; VULKAN_HPP_CONSTEXPR_INLINE uint32_t PartitionedAccelerationStructurePartitionIndexGlobalNV = VK_PARTITIONED_ACCELERATION_STRUCTURE_PARTITION_INDEX_GLOBAL_NV;
//=== VK_QCOM_data_graph_model ===
VULKAN_HPP_CONSTEXPR_INLINE uint32_t DataGraphModelToolchainVersionLengthQCOM = VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM;
//======================== //========================
//=== CONSTEXPR VALUEs === //=== CONSTEXPR VALUEs ===
//======================== //========================
@ -9530,6 +9532,10 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_CONSTEXPR_INLINE auto EXTShader64BitIndexingExtensionName = VK_EXT_SHADER_64BIT_INDEXING_EXTENSION_NAME; VULKAN_HPP_CONSTEXPR_INLINE auto EXTShader64BitIndexingExtensionName = VK_EXT_SHADER_64BIT_INDEXING_EXTENSION_NAME;
VULKAN_HPP_CONSTEXPR_INLINE auto EXTShader64BitIndexingSpecVersion = VK_EXT_SHADER_64BIT_INDEXING_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto EXTShader64BitIndexingSpecVersion = VK_EXT_SHADER_64BIT_INDEXING_SPEC_VERSION;
//=== VK_QCOM_data_graph_model ===
VULKAN_HPP_CONSTEXPR_INLINE auto QCOMDataGraphModelExtensionName = VK_QCOM_DATA_GRAPH_MODEL_EXTENSION_NAME;
VULKAN_HPP_CONSTEXPR_INLINE auto QCOMDataGraphModelSpecVersion = VK_QCOM_DATA_GRAPH_MODEL_SPEC_VERSION;
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance10ExtensionName = VK_KHR_MAINTENANCE_10_EXTENSION_NAME; VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance10ExtensionName = VK_KHR_MAINTENANCE_10_EXTENSION_NAME;
VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance10SpecVersion = VK_KHR_MAINTENANCE_10_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance10SpecVersion = VK_KHR_MAINTENANCE_10_SPEC_VERSION;
@ -19702,6 +19708,34 @@ namespace VULKAN_HPP_NAMESPACE
}; };
}; };
//=== VK_QCOM_data_graph_model ===
template <>
struct StructExtends<DataGraphPipelineBuiltinModelCreateInfoQCOM, DataGraphPipelineCreateInfoARM>
{
enum
{
value = true
};
};
template <>
struct StructExtends<PhysicalDeviceDataGraphModelFeaturesQCOM, PhysicalDeviceFeatures2>
{
enum
{
value = true
};
};
template <>
struct StructExtends<PhysicalDeviceDataGraphModelFeaturesQCOM, DeviceCreateInfo>
{
enum
{
value = true
};
};
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
template <> template <>
struct StructExtends<PhysicalDeviceMaintenance10FeaturesKHR, PhysicalDeviceFeatures2> struct StructExtends<PhysicalDeviceMaintenance10FeaturesKHR, PhysicalDeviceFeatures2>
@ -19893,9 +19927,9 @@ namespace VULKAN_HPP_NAMESPACE
T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
{ {
# if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ ) # if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
return (T)dlsym( m_library, function ); return (T)(void *)dlsym( m_library, function );
# elif defined( _WIN32 ) # elif defined( _WIN32 )
return ( T )::GetProcAddress( m_library, function ); return (T)(void *)::GetProcAddress( m_library, function );
# else # else
# error unsupported platform # error unsupported platform
# endif # endif

View File

@ -1733,6 +1733,8 @@ namespace VULKAN_HPP_NAMESPACE
ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR, ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
ePhysicalDevicePresentModeFifoLatestReadyFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT, ePhysicalDevicePresentModeFifoLatestReadyFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT,
ePhysicalDeviceShader64BitIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT, ePhysicalDeviceShader64BitIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
ePhysicalDeviceDataGraphModelFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM,
eDataGraphPipelineBuiltinModelCreateInfoQCOM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM,
ePhysicalDeviceMaintenance10FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR, ePhysicalDeviceMaintenance10FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR,
ePhysicalDeviceMaintenance10PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR, ePhysicalDeviceMaintenance10PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR,
eRenderingAttachmentFlagsInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR, eRenderingAttachmentFlagsInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR,
@ -3191,7 +3193,8 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper class for enum VkPipelineCacheHeaderVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersion.html // wrapper class for enum VkPipelineCacheHeaderVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersion.html
enum class PipelineCacheHeaderVersion enum class PipelineCacheHeaderVersion
{ {
eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE eOne = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
eDataGraphQCOM = VK_PIPELINE_CACHE_HEADER_VERSION_DATA_GRAPH_QCOM
}; };
// wrapper class for enum VkEventCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkEventCreateFlagBits.html // wrapper class for enum VkEventCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkEventCreateFlagBits.html
@ -8805,14 +8808,18 @@ namespace VULKAN_HPP_NAMESPACE
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphProcessingEngineTypeARM.html // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphProcessingEngineTypeARM.html
enum class PhysicalDeviceDataGraphProcessingEngineTypeARM enum class PhysicalDeviceDataGraphProcessingEngineTypeARM
{ {
eDefault = VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM eDefault = VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM,
eNeuralQCOM = VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM,
eComputeQCOM = VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM
}; };
// wrapper class for enum VkPhysicalDeviceDataGraphOperationTypeARM, see // wrapper class for enum VkPhysicalDeviceDataGraphOperationTypeARM, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphOperationTypeARM.html // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphOperationTypeARM.html
enum class PhysicalDeviceDataGraphOperationTypeARM enum class PhysicalDeviceDataGraphOperationTypeARM
{ {
eSpirvExtendedInstructionSet = VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_SPIRV_EXTENDED_INSTRUCTION_SET_ARM eSpirvExtendedInstructionSet = VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_SPIRV_EXTENDED_INSTRUCTION_SET_ARM,
eNeuralModelQCOM = VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_NEURAL_MODEL_QCOM,
eBuiltinModelQCOM = VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_BUILTIN_MODEL_QCOM
}; };
//=== VK_KHR_video_encode_av1 === //=== VK_KHR_video_encode_av1 ===
@ -9405,6 +9412,14 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR PerformanceCounterDescriptionFlagsARM allFlags = {}; static VULKAN_HPP_CONST_OR_CONSTEXPR PerformanceCounterDescriptionFlagsARM allFlags = {};
}; };
//=== VK_QCOM_data_graph_model ===
// wrapper class for enum VkDataGraphModelCacheTypeQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphModelCacheTypeQCOM.html
enum class DataGraphModelCacheTypeQCOM
{
eGenericBinary = VK_DATA_GRAPH_MODEL_CACHE_TYPE_GENERIC_BINARY_QCOM
};
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
// wrapper class for enum VkRenderingAttachmentFlagBitsKHR, see // wrapper class for enum VkRenderingAttachmentFlagBitsKHR, see

View File

@ -508,6 +508,7 @@ namespace VULKAN_HPP_NAMESPACE
"VK_EXT_zero_initialize_device_memory", "VK_EXT_zero_initialize_device_memory",
"VK_KHR_present_mode_fifo_latest_ready", "VK_KHR_present_mode_fifo_latest_ready",
"VK_EXT_shader_64bit_indexing", "VK_EXT_shader_64bit_indexing",
"VK_QCOM_data_graph_model",
"VK_KHR_maintenance10", "VK_KHR_maintenance10",
"VK_SEC_pipeline_cache_incremental_mode", "VK_SEC_pipeline_cache_incremental_mode",
"VK_EXT_shader_uniform_buffer_unsized_array" }; "VK_EXT_shader_uniform_buffer_unsized_array" };
@ -1782,7 +1783,17 @@ namespace VULKAN_HPP_NAMESPACE
{ { { {
"VK_KHR_get_physical_device_properties2", "VK_KHR_get_physical_device_properties2",
} } }, } } },
{ "VK_VERSION_1_1", { {} } } } }, { "VK_VERSION_1_1", { {} } } } }
#if defined( VK_ENABLE_BETA_EXTENSIONS )
,
{ "VK_NV_cuda_kernel_launch",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } }
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
,
{ "VK_QCOM_tile_shading", { "VK_QCOM_tile_shading",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2059,6 +2070,12 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_get_physical_device_properties2", "VK_KHR_get_physical_device_properties2",
} } }, } } },
{ "VK_VERSION_1_1", { {} } } } }, { "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_frame_boundary",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_multisampled_render_to_single_sampled", { "VK_EXT_multisampled_render_to_single_sampled",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2179,6 +2196,12 @@ namespace VULKAN_HPP_NAMESPACE
} } } } }, } } } } },
{ "VK_KHR_maintenance4", { { "VK_VERSION_1_1", { {} } } } }, { "VK_KHR_maintenance4", { { "VK_VERSION_1_1", { {} } } } },
{ "VK_ARM_shader_core_properties", { { "VK_VERSION_1_1", { {} } } } }, { "VK_ARM_shader_core_properties", { { "VK_VERSION_1_1", { {} } } } },
{ "VK_KHR_shader_subgroup_rotate",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_ARM_scheduling_controls", { "VK_ARM_scheduling_controls",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2382,7 +2405,13 @@ namespace VULKAN_HPP_NAMESPACE
{ { { {
"VK_KHR_dynamic_rendering", "VK_KHR_dynamic_rendering",
} } }, } } },
{ "VK_VERSION_1_3", { {} } } } } { "VK_VERSION_1_3", { {} } } } },
{ "VK_AMD_anti_lag",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } }
#if defined( VK_ENABLE_BETA_EXTENSIONS ) #if defined( VK_ENABLE_BETA_EXTENSIONS )
, ,
{ "VK_AMDX_dense_geometry_format", { "VK_AMDX_dense_geometry_format",
@ -2476,6 +2505,18 @@ namespace VULKAN_HPP_NAMESPACE
{ { { {
"VK_KHR_ray_tracing_pipeline", "VK_KHR_ray_tracing_pipeline",
} } } } }, } } } } },
{ "VK_NV_cooperative_vector",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_NV_extended_sparse_address_space",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_mutable_descriptor_type", { "VK_EXT_mutable_descriptor_type",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2539,6 +2580,12 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_deferred_host_operations", "VK_KHR_deferred_host_operations",
"VK_KHR_maintenance5", "VK_KHR_maintenance5",
} } } } }, } } } } },
{ "VK_QCOM_multiview_per_view_render_areas",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_KHR_compute_shader_derivatives", { "VK_KHR_compute_shader_derivatives",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2581,6 +2628,12 @@ namespace VULKAN_HPP_NAMESPACE
{ { { {
"VK_EXT_filter_cubic", "VK_EXT_filter_cubic",
} } } } }, } } } } },
{ "VK_QCOM_ycbcr_degamma",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_QCOM_filter_cubic_clamp", { "VK_QCOM_filter_cubic_clamp",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2607,6 +2660,12 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_get_physical_device_properties2", "VK_KHR_get_physical_device_properties2",
} } }, } } },
{ "VK_VERSION_1_1", { {} } } } }, { "VK_VERSION_1_1", { {} } } } },
{ "VK_KHR_unified_image_layouts",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_KHR_shader_float_controls2", { "VK_KHR_shader_float_controls2",
{ { "VK_VERSION_1_1", { { "VK_VERSION_1_1",
{ { { {
@ -2701,7 +2760,49 @@ namespace VULKAN_HPP_NAMESPACE
{ { { {
"VK_KHR_video_encode_queue", "VK_KHR_video_encode_queue",
} } } } }, } } } } },
{ "VK_NV_raw_access_chains",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_KHR_shader_relaxed_extended_instruction",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_NV_command_buffer_inheritance",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_KHR_maintenance7", { { "VK_VERSION_1_1", { {} } } } }, { "VK_KHR_maintenance7", { { "VK_VERSION_1_1", { {} } } } },
{ "VK_NV_shader_atomic_float16_vector",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_shader_replicated_composites",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_shader_float8",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_NV_ray_tracing_validation",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_NV_cluster_acceleration_structure", { "VK_NV_cluster_acceleration_structure",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2730,6 +2831,12 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_get_physical_device_properties2", "VK_KHR_get_physical_device_properties2",
} } }, } } },
{ "VK_VERSION_1_1", { {} } } } }, { "VK_VERSION_1_1", { {} } } } },
{ "VK_KHR_shader_fma",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_depth_clamp_control", { "VK_EXT_depth_clamp_control",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2806,6 +2913,12 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_get_physical_device_properties2", "VK_KHR_get_physical_device_properties2",
} } }, } } },
{ "VK_VERSION_1_1", { {} } } } }, { "VK_VERSION_1_1", { {} } } } },
{ "VK_ARM_format_pack",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_VALVE_fragment_density_map_layered", { "VK_VALVE_fragment_density_map_layered",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2821,7 +2934,17 @@ namespace VULKAN_HPP_NAMESPACE
{ { { {
"VK_KHR_get_physical_device_properties2", "VK_KHR_get_physical_device_properties2",
} } }, } } },
{ "VK_VERSION_1_1", { {} } } } }, { "VK_VERSION_1_1", { {} } } } }
#if defined( VK_ENABLE_BETA_EXTENSIONS )
,
{ "VK_NV_present_metering",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } }
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
,
{ "VK_EXT_fragment_density_map_offset", { "VK_EXT_fragment_density_map_offset",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
@ -2862,7 +2985,24 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_get_physical_device_properties2", "VK_KHR_get_physical_device_properties2",
} } }, } } },
{ "VK_VERSION_1_1", { {} } } } }, { "VK_VERSION_1_1", { {} } } } },
{ "VK_QCOM_data_graph_model",
{ { "VK_VERSION_1_0",
{ {
"VK_ARM_data_graph",
} } } } },
{ "VK_KHR_maintenance10", { "VK_KHR_maintenance10",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_SEC_pipeline_cache_incremental_mode",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_shader_uniform_buffer_unsized_array",
{ { "VK_VERSION_1_0", { { "VK_VERSION_1_0",
{ { { {
"VK_KHR_get_physical_device_properties2", "VK_KHR_get_physical_device_properties2",
@ -2878,7 +3018,7 @@ namespace VULKAN_HPP_NAMESPACE
{ {
#if !defined( NDEBUG ) #if !defined( NDEBUG )
static std::set<std::string> versions = { "VK_VERSION_1_0", "VK_VERSION_1_1", "VK_VERSION_1_2", "VK_VERSION_1_3", "VK_VERSION_1_4" }; static std::set<std::string> versions = { "VK_VERSION_1_0", "VK_VERSION_1_1", "VK_VERSION_1_2", "VK_VERSION_1_3", "VK_VERSION_1_4" };
assert( versions.find( version ) != versions.end() ); VULKAN_HPP_ASSERT( versions.find( version ) != versions.end() );
#endif #endif
static std::vector<std::vector<std::string>> noDependencies; static std::vector<std::vector<std::string>> noDependencies;
@ -3813,8 +3953,8 @@ namespace VULKAN_HPP_NAMESPACE
#endif /*VK_ENABLE_BETA_EXTENSIONS*/ #endif /*VK_ENABLE_BETA_EXTENSIONS*/
|| ( extension == "VK_EXT_fragment_density_map_offset" ) || ( extension == "VK_EXT_zero_initialize_device_memory" ) || || ( extension == "VK_EXT_fragment_density_map_offset" ) || ( extension == "VK_EXT_zero_initialize_device_memory" ) ||
( extension == "VK_KHR_present_mode_fifo_latest_ready" ) || ( extension == "VK_EXT_shader_64bit_indexing" ) || ( extension == "VK_KHR_present_mode_fifo_latest_ready" ) || ( extension == "VK_EXT_shader_64bit_indexing" ) ||
( extension == "VK_KHR_maintenance10" ) || ( extension == "VK_SEC_pipeline_cache_incremental_mode" ) || ( extension == "VK_QCOM_data_graph_model" ) || ( extension == "VK_KHR_maintenance10" ) ||
( extension == "VK_EXT_shader_uniform_buffer_unsized_array" ); ( extension == "VK_SEC_pipeline_cache_incremental_mode" ) || ( extension == "VK_EXT_shader_uniform_buffer_unsized_array" );
} }
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isInstanceExtension( std::string const & extension ) VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isInstanceExtension( std::string const & extension )

View File

@ -15994,9 +15994,12 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name, Dispatch const & d ) const Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name, Dispatch const & d ) const
{ {
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo( // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name.c_str() ); VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo;
nameInfo.objectType = handle.objectType;
nameInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) );
nameInfo.pObjectName = name.c_str();
return setDebugUtilsObjectNameEXT( nameInfo, d ); return setDebugUtilsObjectNameEXT( nameInfo, d );
} }
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
@ -16033,9 +16036,14 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag, Dispatch const & d ) const Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag, Dispatch const & d ) const
{ {
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo( // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name, sizeof( TagType ), &tag ); VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo;
tagInfo.objectType = handle.objectType;
tagInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) );
tagInfo.tagName = name;
tagInfo.tagSize = sizeof( TagType );
tagInfo.pTag = &tag;
return setDebugUtilsObjectTagEXT( tagInfo, d ); return setDebugUtilsObjectTagEXT( tagInfo, d );
} }
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
@ -24331,6 +24339,7 @@ namespace VULKAN_HPP_NAMESPACE
return static_cast<Result>( d.vkGetDeviceFaultInfoEXT( return static_cast<Result>( d.vkGetDeviceFaultInfoEXT(
static_cast<VkDevice>( m_device ), reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) ); static_cast<VkDevice>( m_device ), reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) );
} }
#if defined( VK_USE_PLATFORM_WIN32_KHR ) #if defined( VK_USE_PLATFORM_WIN32_KHR )
//=== VK_NV_acquire_winrt_display === //=== VK_NV_acquire_winrt_display ===

View File

@ -2247,6 +2247,11 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_shader_64bit_indexing === //=== VK_EXT_shader_64bit_indexing ===
struct PhysicalDeviceShader64BitIndexingFeaturesEXT; struct PhysicalDeviceShader64BitIndexingFeaturesEXT;
//=== VK_QCOM_data_graph_model ===
struct PipelineCacheHeaderVersionDataGraphQCOM;
struct DataGraphPipelineBuiltinModelCreateInfoQCOM;
struct PhysicalDeviceDataGraphModelFeaturesQCOM;
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
struct PhysicalDeviceMaintenance10FeaturesKHR; struct PhysicalDeviceMaintenance10FeaturesKHR;
struct PhysicalDeviceMaintenance10PropertiesKHR; struct PhysicalDeviceMaintenance10PropertiesKHR;
@ -16407,6 +16412,7 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NODISCARD Result getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts, VULKAN_HPP_NODISCARD Result getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts,
DeviceFaultInfoEXT * pFaultInfo, DeviceFaultInfoEXT * pFaultInfo,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
#if defined( VK_USE_PLATFORM_FUCHSIA ) #if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_external_memory === //=== VK_FUCHSIA_external_memory ===

View File

@ -3442,6 +3442,37 @@ namespace std
}; };
# endif /*VK_USE_PLATFORM_WIN32_KHR*/ # endif /*VK_USE_PLATFORM_WIN32_KHR*/
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphOperationSupportARM>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphOperationSupportARM const & physicalDeviceDataGraphOperationSupportARM ) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphOperationSupportARM.operationType );
for ( size_t i = 0; i < VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM; ++i )
{
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphOperationSupportARM.name[i] );
}
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphOperationSupportARM.version );
return seed;
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM const & dataGraphPipelineBuiltinModelCreateInfoQCOM ) const
VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, dataGraphPipelineBuiltinModelCreateInfoQCOM.sType );
VULKAN_HPP_HASH_COMBINE( seed, dataGraphPipelineBuiltinModelCreateInfoQCOM.pNext );
VULKAN_HPP_HASH_COMBINE( seed, dataGraphPipelineBuiltinModelCreateInfoQCOM.pOperation );
return seed;
}
};
template <> template <>
struct hash<VULKAN_HPP_NAMESPACE::DataGraphPipelineCompilerControlCreateInfoARM> struct hash<VULKAN_HPP_NAMESPACE::DataGraphPipelineCompilerControlCreateInfoARM>
{ {
@ -9672,18 +9703,15 @@ namespace std
}; };
template <> template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphOperationSupportARM> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM>
{ {
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphOperationSupportARM const & physicalDeviceDataGraphOperationSupportARM ) const std::size_t
VULKAN_HPP_NOEXCEPT operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM const & physicalDeviceDataGraphModelFeaturesQCOM ) const VULKAN_HPP_NOEXCEPT
{ {
std::size_t seed = 0; std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphOperationSupportARM.operationType ); VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphModelFeaturesQCOM.sType );
for ( size_t i = 0; i < VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM; ++i ) VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphModelFeaturesQCOM.pNext );
{ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphModelFeaturesQCOM.dataGraphModel );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphOperationSupportARM.name[i] );
}
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDataGraphOperationSupportARM.version );
return seed; return seed;
} }
}; };
@ -15423,6 +15451,25 @@ namespace std
} }
}; };
template <>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM>
{
std::size_t
operator()( VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM const & pipelineCacheHeaderVersionDataGraphQCOM ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionDataGraphQCOM.headerSize );
VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionDataGraphQCOM.headerVersion );
VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionDataGraphQCOM.cacheType );
VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionDataGraphQCOM.cacheVersion );
for ( size_t i = 0; i < VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM; ++i )
{
VULKAN_HPP_HASH_COMBINE( seed, pipelineCacheHeaderVersionDataGraphQCOM.toolchainVersion[i] );
}
return seed;
}
};
template <> template <>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne> struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionOne>
{ {

View File

@ -5276,11 +5276,10 @@ namespace VULKAN_HPP_NAMESPACE
getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const; getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const;
//=== VK_EXT_device_fault === //=== VK_EXT_device_fault ===
// wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html // wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> VULKAN_HPP_NODISCARD Result getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts, DeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT;
VULKAN_HPP_NODISCARD Result getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts,
DeviceFaultInfoEXT * pFaultInfo,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
# if defined( VK_USE_PLATFORM_FUCHSIA ) # if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_external_memory === //=== VK_FUCHSIA_external_memory ===
@ -21152,9 +21151,12 @@ namespace VULKAN_HPP_NAMESPACE
template <typename HandleType> template <typename HandleType>
VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name ) const VULKAN_HPP_INLINE typename ResultValueType<void>::type Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name ) const
{ {
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo( // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name.c_str() ); VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo;
nameInfo.objectType = handle.objectType;
nameInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) );
nameInfo.pObjectName = name.c_str();
return setDebugUtilsObjectNameEXT( nameInfo ); return setDebugUtilsObjectNameEXT( nameInfo );
} }
@ -21176,9 +21178,14 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_INLINE typename ResultValueType<void>::type VULKAN_HPP_INLINE typename ResultValueType<void>::type
Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag ) const Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag ) const
{ {
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" ); VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo( // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name, sizeof( TagType ), &tag ); VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo;
tagInfo.objectType = handle.objectType;
tagInfo.objectHandle = reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) );
tagInfo.tagName = name;
tagInfo.tagSize = sizeof( TagType );
tagInfo.pTag = &tag;
return setDebugUtilsObjectTagEXT( tagInfo ); return setDebugUtilsObjectTagEXT( tagInfo );
} }
@ -24783,13 +24790,11 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_device_fault === //=== VK_EXT_device_fault ===
// wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html // wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html
template <typename Dispatch>
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts, VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts,
DeviceFaultInfoEXT * pFaultInfo, DeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
{ {
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceFaultInfoEXT && "Function <vkGetDeviceFaultInfoEXT> requires <VK_EXT_device_fault>" );
return static_cast<Result>( d.vkGetDeviceFaultInfoEXT( static_cast<VkDevice>( m_device ), return static_cast<Result>( getDispatcher()->vkGetDeviceFaultInfoEXT( static_cast<VkDevice>( m_device ),
reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ),
reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) ); reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) );
} }

View File

@ -9423,6 +9423,30 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT>::value, VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT>::value,
"PhysicalDeviceShader64BitIndexingFeaturesEXT is not nothrow_move_constructible!" ); "PhysicalDeviceShader64BitIndexingFeaturesEXT is not nothrow_move_constructible!" );
//=== VK_QCOM_data_graph_model ===
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM ) == sizeof( VkPipelineCacheHeaderVersionDataGraphQCOM ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM>::value,
"struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM>::value,
"PipelineCacheHeaderVersionDataGraphQCOM is not nothrow_move_constructible!" );
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM ) ==
sizeof( VkDataGraphPipelineBuiltinModelCreateInfoQCOM ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM>::value,
"struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM>::value,
"DataGraphPipelineBuiltinModelCreateInfoQCOM is not nothrow_move_constructible!" );
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM ) == sizeof( VkPhysicalDeviceDataGraphModelFeaturesQCOM ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM>::value,
"struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM>::value,
"PhysicalDeviceDataGraphModelFeaturesQCOM is not nothrow_move_constructible!" );
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance10FeaturesKHR ) == sizeof( VkPhysicalDeviceMaintenance10FeaturesKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance10FeaturesKHR ) == sizeof( VkPhysicalDeviceMaintenance10FeaturesKHR ),

View File

@ -12,7 +12,6 @@
// IWYU pragma: private, include "vulkan/vulkan.hpp" // IWYU pragma: private, include "vulkan/vulkan.hpp"
#if !defined( VULKAN_HPP_CXX_MODULE ) #if !defined( VULKAN_HPP_CXX_MODULE )
# include <cstdlib> // free
# include <cstring> // strcmp # include <cstring> // strcmp
#endif #endif
@ -28354,6 +28353,269 @@ namespace VULKAN_HPP_NAMESPACE
}; };
#endif /*VK_USE_PLATFORM_WIN32_KHR*/ #endif /*VK_USE_PLATFORM_WIN32_KHR*/
// wrapper struct for struct VkPhysicalDeviceDataGraphOperationSupportARM, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphOperationSupportARM.html
struct PhysicalDeviceDataGraphOperationSupportARM
{
using NativeType = VkPhysicalDeviceDataGraphOperationSupportARM;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM(
PhysicalDeviceDataGraphOperationTypeARM operationType_ = PhysicalDeviceDataGraphOperationTypeARM::eSpirvExtendedInstructionSet,
std::array<char, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM> const & name_ = {},
uint32_t version_ = {} ) VULKAN_HPP_NOEXCEPT
: operationType{ operationType_ }
, name{ name_ }
, version{ version_ }
{
}
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
PhysicalDeviceDataGraphOperationSupportARM( VkPhysicalDeviceDataGraphOperationSupportARM const & rhs ) VULKAN_HPP_NOEXCEPT
: PhysicalDeviceDataGraphOperationSupportARM( *reinterpret_cast<PhysicalDeviceDataGraphOperationSupportARM const *>( &rhs ) )
{
}
# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
PhysicalDeviceDataGraphOperationSupportARM( PhysicalDeviceDataGraphOperationTypeARM operationType_, std::string const & name_, uint32_t version_ = {} )
: operationType( operationType_ ), version( version_ )
{
VULKAN_HPP_ASSERT( name_.size() < VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM );
# if defined( _WIN32 )
strncpy_s( name, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM, name_.data(), name_.size() );
# else
strncpy( name, name_.data(), std::min<size_t>( VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM, name_.size() ) );
# endif
}
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
PhysicalDeviceDataGraphOperationSupportARM & operator=( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
PhysicalDeviceDataGraphOperationSupportARM & operator=( VkPhysicalDeviceDataGraphOperationSupportARM const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<PhysicalDeviceDataGraphOperationSupportARM const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM &
setOperationType( PhysicalDeviceDataGraphOperationTypeARM operationType_ ) VULKAN_HPP_NOEXCEPT
{
operationType = operationType_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM &
setName( std::array<char, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM> name_ ) VULKAN_HPP_NOEXCEPT
{
name = name_;
return *this;
}
# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
PhysicalDeviceDataGraphOperationSupportARM & setName( std::string const & name_ ) VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( name_.size() < VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM );
# if defined( _WIN32 )
strncpy_s( name, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM, name_.data(), name_.size() );
# else
strncpy( name, name_.data(), std::min<size_t>( VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM, name_.size() ) );
# endif
return *this;
}
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM & setVersion( uint32_t version_ ) VULKAN_HPP_NOEXCEPT
{
version = version_;
return *this;
}
#endif /*VULKAN_HPP_NO_SETTERS*/
operator VkPhysicalDeviceDataGraphOperationSupportARM const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkPhysicalDeviceDataGraphOperationSupportARM *>( this );
}
operator VkPhysicalDeviceDataGraphOperationSupportARM &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkPhysicalDeviceDataGraphOperationSupportARM *>( this );
}
operator VkPhysicalDeviceDataGraphOperationSupportARM const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkPhysicalDeviceDataGraphOperationSupportARM *>( this );
}
operator VkPhysicalDeviceDataGraphOperationSupportARM *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkPhysicalDeviceDataGraphOperationSupportARM *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<PhysicalDeviceDataGraphOperationTypeARM const &,
ArrayWrapper1D<char, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM> const &,
uint32_t const &>
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( operationType, name, version );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
std::strong_ordering operator<=>( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) const VULKAN_HPP_NOEXCEPT
{
if ( auto cmp = operationType <=> rhs.operationType; cmp != 0 )
return cmp;
if ( auto cmp = strcmp( name, rhs.name ); cmp != 0 )
return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater;
if ( auto cmp = version <=> rhs.version; cmp != 0 )
return cmp;
return std::strong_ordering::equivalent;
}
#endif
bool operator==( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return ( operationType == rhs.operationType ) && ( strcmp( name, rhs.name ) == 0 ) && ( version == rhs.version );
}
bool operator!=( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
public:
PhysicalDeviceDataGraphOperationTypeARM operationType = PhysicalDeviceDataGraphOperationTypeARM::eSpirvExtendedInstructionSet;
ArrayWrapper1D<char, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM> name = {};
uint32_t version = {};
};
#if 20 <= VULKAN_HPP_CPP_VERSION
template <>
struct CppType<VkPhysicalDeviceDataGraphOperationSupportARM>
{
using Type = PhysicalDeviceDataGraphOperationSupportARM;
};
#endif
// wrapper struct for struct VkDataGraphPipelineBuiltinModelCreateInfoQCOM, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineBuiltinModelCreateInfoQCOM.html
struct DataGraphPipelineBuiltinModelCreateInfoQCOM
{
using NativeType = VkDataGraphPipelineBuiltinModelCreateInfoQCOM;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDataGraphPipelineBuiltinModelCreateInfoQCOM;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineBuiltinModelCreateInfoQCOM( const PhysicalDeviceDataGraphOperationSupportARM * pOperation_ = {},
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, pOperation{ pOperation_ }
{
}
VULKAN_HPP_CONSTEXPR_14
DataGraphPipelineBuiltinModelCreateInfoQCOM( DataGraphPipelineBuiltinModelCreateInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
DataGraphPipelineBuiltinModelCreateInfoQCOM( VkDataGraphPipelineBuiltinModelCreateInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
: DataGraphPipelineBuiltinModelCreateInfoQCOM( *reinterpret_cast<DataGraphPipelineBuiltinModelCreateInfoQCOM const *>( &rhs ) )
{
}
DataGraphPipelineBuiltinModelCreateInfoQCOM & operator=( DataGraphPipelineBuiltinModelCreateInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
DataGraphPipelineBuiltinModelCreateInfoQCOM & operator=( VkDataGraphPipelineBuiltinModelCreateInfoQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<DataGraphPipelineBuiltinModelCreateInfoQCOM const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineBuiltinModelCreateInfoQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 DataGraphPipelineBuiltinModelCreateInfoQCOM &
setPOperation( const PhysicalDeviceDataGraphOperationSupportARM * pOperation_ ) VULKAN_HPP_NOEXCEPT
{
pOperation = pOperation_;
return *this;
}
#endif /*VULKAN_HPP_NO_SETTERS*/
operator VkDataGraphPipelineBuiltinModelCreateInfoQCOM const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkDataGraphPipelineBuiltinModelCreateInfoQCOM *>( this );
}
operator VkDataGraphPipelineBuiltinModelCreateInfoQCOM &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkDataGraphPipelineBuiltinModelCreateInfoQCOM *>( this );
}
operator VkDataGraphPipelineBuiltinModelCreateInfoQCOM const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkDataGraphPipelineBuiltinModelCreateInfoQCOM *>( this );
}
operator VkDataGraphPipelineBuiltinModelCreateInfoQCOM *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkDataGraphPipelineBuiltinModelCreateInfoQCOM *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, const PhysicalDeviceDataGraphOperationSupportARM * const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, pOperation );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DataGraphPipelineBuiltinModelCreateInfoQCOM const & ) const = default;
#else
bool operator==( DataGraphPipelineBuiltinModelCreateInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
{
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
# else
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pOperation == rhs.pOperation );
# endif
}
bool operator!=( DataGraphPipelineBuiltinModelCreateInfoQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
StructureType sType = StructureType::eDataGraphPipelineBuiltinModelCreateInfoQCOM;
const void * pNext = {};
const PhysicalDeviceDataGraphOperationSupportARM * pOperation = {};
};
#if 20 <= VULKAN_HPP_CPP_VERSION
template <>
struct CppType<VkDataGraphPipelineBuiltinModelCreateInfoQCOM>
{
using Type = DataGraphPipelineBuiltinModelCreateInfoQCOM;
};
#endif
template <>
struct CppType<StructureType, StructureType::eDataGraphPipelineBuiltinModelCreateInfoQCOM>
{
using Type = DataGraphPipelineBuiltinModelCreateInfoQCOM;
};
// wrapper struct for struct VkDataGraphPipelineCompilerControlCreateInfoARM, see // wrapper struct for struct VkDataGraphPipelineCompilerControlCreateInfoARM, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineCompilerControlCreateInfoARM.html // https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineCompilerControlCreateInfoARM.html
struct DataGraphPipelineCompilerControlCreateInfoARM struct DataGraphPipelineCompilerControlCreateInfoARM
@ -82427,155 +82689,117 @@ namespace VULKAN_HPP_NAMESPACE
using Type = PhysicalDeviceDataGraphFeaturesARM; using Type = PhysicalDeviceDataGraphFeaturesARM;
}; };
// wrapper struct for struct VkPhysicalDeviceDataGraphOperationSupportARM, see // wrapper struct for struct VkPhysicalDeviceDataGraphModelFeaturesQCOM, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphOperationSupportARM.html // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphModelFeaturesQCOM.html
struct PhysicalDeviceDataGraphOperationSupportARM struct PhysicalDeviceDataGraphModelFeaturesQCOM
{ {
using NativeType = VkPhysicalDeviceDataGraphOperationSupportARM; using NativeType = VkPhysicalDeviceDataGraphModelFeaturesQCOM;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM( VULKAN_HPP_CONSTEXPR PhysicalDeviceDataGraphModelFeaturesQCOM( Bool32 dataGraphModel_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
PhysicalDeviceDataGraphOperationTypeARM operationType_ = PhysicalDeviceDataGraphOperationTypeARM::eSpirvExtendedInstructionSet, : pNext{ pNext_ }
std::array<char, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM> const & name_ = {}, , dataGraphModel{ dataGraphModel_ }
uint32_t version_ = {} ) VULKAN_HPP_NOEXCEPT
: operationType{ operationType_ }
, name{ name_ }
, version{ version_ }
{ {
} }
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; VULKAN_HPP_CONSTEXPR PhysicalDeviceDataGraphModelFeaturesQCOM( PhysicalDeviceDataGraphModelFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
PhysicalDeviceDataGraphOperationSupportARM( VkPhysicalDeviceDataGraphOperationSupportARM const & rhs ) VULKAN_HPP_NOEXCEPT PhysicalDeviceDataGraphModelFeaturesQCOM( VkPhysicalDeviceDataGraphModelFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
: PhysicalDeviceDataGraphOperationSupportARM( *reinterpret_cast<PhysicalDeviceDataGraphOperationSupportARM const *>( &rhs ) ) : PhysicalDeviceDataGraphModelFeaturesQCOM( *reinterpret_cast<PhysicalDeviceDataGraphModelFeaturesQCOM const *>( &rhs ) )
{ {
} }
# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) PhysicalDeviceDataGraphModelFeaturesQCOM & operator=( PhysicalDeviceDataGraphModelFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
PhysicalDeviceDataGraphOperationSupportARM( PhysicalDeviceDataGraphOperationTypeARM operationType_, std::string const & name_, uint32_t version_ = {} )
: operationType( operationType_ ), version( version_ )
{
VULKAN_HPP_ASSERT( name_.size() < VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM );
# if defined( _WIN32 )
strncpy_s( name, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM, name_.data(), name_.size() );
# else
strncpy( name, name_.data(), std::min<size_t>( VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM, name_.size() ) );
# endif
}
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
PhysicalDeviceDataGraphOperationSupportARM & operator=( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
PhysicalDeviceDataGraphOperationSupportARM & operator=( VkPhysicalDeviceDataGraphOperationSupportARM const & rhs ) VULKAN_HPP_NOEXCEPT PhysicalDeviceDataGraphModelFeaturesQCOM & operator=( VkPhysicalDeviceDataGraphModelFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
{ {
*this = *reinterpret_cast<PhysicalDeviceDataGraphOperationSupportARM const *>( &rhs ); *this = *reinterpret_cast<PhysicalDeviceDataGraphModelFeaturesQCOM const *>( &rhs );
return *this; return *this;
} }
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM & VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphModelFeaturesQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
setOperationType( PhysicalDeviceDataGraphOperationTypeARM operationType_ ) VULKAN_HPP_NOEXCEPT
{ {
operationType = operationType_; pNext = pNext_;
return *this; return *this;
} }
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM & VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphModelFeaturesQCOM & setDataGraphModel( Bool32 dataGraphModel_ ) VULKAN_HPP_NOEXCEPT
setName( std::array<char, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM> name_ ) VULKAN_HPP_NOEXCEPT
{ {
name = name_; dataGraphModel = dataGraphModel_;
return *this;
}
# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
PhysicalDeviceDataGraphOperationSupportARM & setName( std::string const & name_ ) VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( name_.size() < VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM );
# if defined( _WIN32 )
strncpy_s( name, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM, name_.data(), name_.size() );
# else
strncpy( name, name_.data(), std::min<size_t>( VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM, name_.size() ) );
# endif
return *this;
}
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphOperationSupportARM & setVersion( uint32_t version_ ) VULKAN_HPP_NOEXCEPT
{
version = version_;
return *this; return *this;
} }
#endif /*VULKAN_HPP_NO_SETTERS*/ #endif /*VULKAN_HPP_NO_SETTERS*/
operator VkPhysicalDeviceDataGraphOperationSupportARM const &() const VULKAN_HPP_NOEXCEPT operator VkPhysicalDeviceDataGraphModelFeaturesQCOM const &() const VULKAN_HPP_NOEXCEPT
{ {
return *reinterpret_cast<const VkPhysicalDeviceDataGraphOperationSupportARM *>( this ); return *reinterpret_cast<const VkPhysicalDeviceDataGraphModelFeaturesQCOM *>( this );
} }
operator VkPhysicalDeviceDataGraphOperationSupportARM &() VULKAN_HPP_NOEXCEPT operator VkPhysicalDeviceDataGraphModelFeaturesQCOM &() VULKAN_HPP_NOEXCEPT
{ {
return *reinterpret_cast<VkPhysicalDeviceDataGraphOperationSupportARM *>( this ); return *reinterpret_cast<VkPhysicalDeviceDataGraphModelFeaturesQCOM *>( this );
} }
operator VkPhysicalDeviceDataGraphOperationSupportARM const *() const VULKAN_HPP_NOEXCEPT operator VkPhysicalDeviceDataGraphModelFeaturesQCOM const *() const VULKAN_HPP_NOEXCEPT
{ {
return reinterpret_cast<const VkPhysicalDeviceDataGraphOperationSupportARM *>( this ); return reinterpret_cast<const VkPhysicalDeviceDataGraphModelFeaturesQCOM *>( this );
} }
operator VkPhysicalDeviceDataGraphOperationSupportARM *() VULKAN_HPP_NOEXCEPT operator VkPhysicalDeviceDataGraphModelFeaturesQCOM *() VULKAN_HPP_NOEXCEPT
{ {
return reinterpret_cast<VkPhysicalDeviceDataGraphOperationSupportARM *>( this ); return reinterpret_cast<VkPhysicalDeviceDataGraphModelFeaturesQCOM *>( this );
} }
#if defined( VULKAN_HPP_USE_REFLECT ) #if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<PhysicalDeviceDataGraphOperationTypeARM const &, std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
ArrayWrapper1D<char, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM> const &,
uint32_t const &>
reflect() const VULKAN_HPP_NOEXCEPT
{ {
return std::tie( operationType, name, version ); return std::tie( sType, pNext, dataGraphModel );
} }
#endif #endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
std::strong_ordering operator<=>( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) const VULKAN_HPP_NOEXCEPT auto operator<=>( PhysicalDeviceDataGraphModelFeaturesQCOM const & ) const = default;
#else
bool operator==( PhysicalDeviceDataGraphModelFeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
{ {
if ( auto cmp = operationType <=> rhs.operationType; cmp != 0 ) # if defined( VULKAN_HPP_USE_REFLECT )
return cmp; return this->reflect() == rhs.reflect();
if ( auto cmp = strcmp( name, rhs.name ); cmp != 0 ) # else
return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( dataGraphModel == rhs.dataGraphModel );
if ( auto cmp = version <=> rhs.version; cmp != 0 )
return cmp;
return std::strong_ordering::equivalent;
}
# endif # endif
bool operator==( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return ( operationType == rhs.operationType ) && ( strcmp( name, rhs.name ) == 0 ) && ( version == rhs.version );
} }
bool operator!=( PhysicalDeviceDataGraphOperationSupportARM const & rhs ) const VULKAN_HPP_NOEXCEPT bool operator!=( PhysicalDeviceDataGraphModelFeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
{ {
return !operator==( rhs ); return !operator==( rhs );
} }
#endif
public: public:
PhysicalDeviceDataGraphOperationTypeARM operationType = PhysicalDeviceDataGraphOperationTypeARM::eSpirvExtendedInstructionSet; StructureType sType = StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM;
ArrayWrapper1D<char, VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM> name = {}; const void * pNext = {};
uint32_t version = {}; Bool32 dataGraphModel = {};
}; };
#if 20 <= VULKAN_HPP_CPP_VERSION #if 20 <= VULKAN_HPP_CPP_VERSION
template <> template <>
struct CppType<VkPhysicalDeviceDataGraphOperationSupportARM> struct CppType<VkPhysicalDeviceDataGraphModelFeaturesQCOM>
{ {
using Type = PhysicalDeviceDataGraphOperationSupportARM; using Type = PhysicalDeviceDataGraphModelFeaturesQCOM;
}; };
#endif #endif
template <>
struct CppType<StructureType, StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM>
{
using Type = PhysicalDeviceDataGraphModelFeaturesQCOM;
};
// wrapper struct for struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, see // wrapper struct for struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV.html // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV.html
struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
@ -90331,6 +90555,21 @@ namespace VULKAN_HPP_NAMESPACE
return *this; return *this;
} }
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE &
setFragmentDensityMapLayered( Bool32 fragmentDensityMapLayered_ ) VULKAN_HPP_NOEXCEPT
{
fragmentDensityMapLayered = fragmentDensityMapLayered_;
return *this;
}
#endif /*VULKAN_HPP_NO_SETTERS*/
operator VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE const &() const VULKAN_HPP_NOEXCEPT operator VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE const &() const VULKAN_HPP_NOEXCEPT
{ {
return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE *>( this ); return *reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE *>( this );
@ -126655,6 +126894,143 @@ namespace VULKAN_HPP_NAMESPACE
using Type = PipelineCacheCreateInfo; using Type = PipelineCacheCreateInfo;
}; };
// wrapper struct for struct VkPipelineCacheHeaderVersionDataGraphQCOM, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersionDataGraphQCOM.html
struct PipelineCacheHeaderVersionDataGraphQCOM
{
using NativeType = VkPipelineCacheHeaderVersionDataGraphQCOM;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionDataGraphQCOM(
uint32_t headerSize_ = {},
PipelineCacheHeaderVersion headerVersion_ = PipelineCacheHeaderVersion::eOne,
DataGraphModelCacheTypeQCOM cacheType_ = DataGraphModelCacheTypeQCOM::eGenericBinary,
uint32_t cacheVersion_ = {},
std::array<uint32_t, VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM> const & toolchainVersion_ = {} ) VULKAN_HPP_NOEXCEPT
: headerSize{ headerSize_ }
, headerVersion{ headerVersion_ }
, cacheType{ cacheType_ }
, cacheVersion{ cacheVersion_ }
, toolchainVersion{ toolchainVersion_ }
{
}
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionDataGraphQCOM( PipelineCacheHeaderVersionDataGraphQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
PipelineCacheHeaderVersionDataGraphQCOM( VkPipelineCacheHeaderVersionDataGraphQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
: PipelineCacheHeaderVersionDataGraphQCOM( *reinterpret_cast<PipelineCacheHeaderVersionDataGraphQCOM const *>( &rhs ) )
{
}
PipelineCacheHeaderVersionDataGraphQCOM & operator=( PipelineCacheHeaderVersionDataGraphQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
PipelineCacheHeaderVersionDataGraphQCOM & operator=( VkPipelineCacheHeaderVersionDataGraphQCOM const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<PipelineCacheHeaderVersionDataGraphQCOM const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionDataGraphQCOM & setHeaderSize( uint32_t headerSize_ ) VULKAN_HPP_NOEXCEPT
{
headerSize = headerSize_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionDataGraphQCOM & setHeaderVersion( PipelineCacheHeaderVersion headerVersion_ ) VULKAN_HPP_NOEXCEPT
{
headerVersion = headerVersion_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionDataGraphQCOM & setCacheType( DataGraphModelCacheTypeQCOM cacheType_ ) VULKAN_HPP_NOEXCEPT
{
cacheType = cacheType_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionDataGraphQCOM & setCacheVersion( uint32_t cacheVersion_ ) VULKAN_HPP_NOEXCEPT
{
cacheVersion = cacheVersion_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PipelineCacheHeaderVersionDataGraphQCOM &
setToolchainVersion( std::array<uint32_t, VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM> toolchainVersion_ ) VULKAN_HPP_NOEXCEPT
{
toolchainVersion = toolchainVersion_;
return *this;
}
#endif /*VULKAN_HPP_NO_SETTERS*/
operator VkPipelineCacheHeaderVersionDataGraphQCOM const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkPipelineCacheHeaderVersionDataGraphQCOM *>( this );
}
operator VkPipelineCacheHeaderVersionDataGraphQCOM &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkPipelineCacheHeaderVersionDataGraphQCOM *>( this );
}
operator VkPipelineCacheHeaderVersionDataGraphQCOM const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkPipelineCacheHeaderVersionDataGraphQCOM *>( this );
}
operator VkPipelineCacheHeaderVersionDataGraphQCOM *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkPipelineCacheHeaderVersionDataGraphQCOM *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<uint32_t const &,
PipelineCacheHeaderVersion const &,
DataGraphModelCacheTypeQCOM const &,
uint32_t const &,
ArrayWrapper1D<uint32_t, VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM> const &>
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( headerSize, headerVersion, cacheType, cacheVersion, toolchainVersion );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PipelineCacheHeaderVersionDataGraphQCOM const & ) const = default;
#else
bool operator==( PipelineCacheHeaderVersionDataGraphQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
{
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
# else
return ( headerSize == rhs.headerSize ) && ( headerVersion == rhs.headerVersion ) && ( cacheType == rhs.cacheType ) &&
( cacheVersion == rhs.cacheVersion ) && ( toolchainVersion == rhs.toolchainVersion );
# endif
}
bool operator!=( PipelineCacheHeaderVersionDataGraphQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
uint32_t headerSize = {};
PipelineCacheHeaderVersion headerVersion = PipelineCacheHeaderVersion::eOne;
DataGraphModelCacheTypeQCOM cacheType = DataGraphModelCacheTypeQCOM::eGenericBinary;
uint32_t cacheVersion = {};
ArrayWrapper1D<uint32_t, VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM> toolchainVersion = {};
};
#if 20 <= VULKAN_HPP_CPP_VERSION
template <>
struct CppType<VkPipelineCacheHeaderVersionDataGraphQCOM>
{
using Type = PipelineCacheHeaderVersionDataGraphQCOM;
};
#endif
// wrapper struct for struct VkPipelineCacheHeaderVersionOne, see // wrapper struct for struct VkPipelineCacheHeaderVersionOne, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersionOne.html // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersionOne.html
struct PipelineCacheHeaderVersionOne struct PipelineCacheHeaderVersionOne

View File

@ -5564,6 +5564,8 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::ePhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT : return "PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT"; case StructureType::ePhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT : return "PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT";
case StructureType::ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR : return "PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR"; case StructureType::ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR : return "PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR";
case StructureType::ePhysicalDeviceShader64BitIndexingFeaturesEXT : return "PhysicalDeviceShader64BitIndexingFeaturesEXT"; case StructureType::ePhysicalDeviceShader64BitIndexingFeaturesEXT : return "PhysicalDeviceShader64BitIndexingFeaturesEXT";
case StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM : return "PhysicalDeviceDataGraphModelFeaturesQCOM";
case StructureType::eDataGraphPipelineBuiltinModelCreateInfoQCOM : return "DataGraphPipelineBuiltinModelCreateInfoQCOM";
case StructureType::ePhysicalDeviceMaintenance10FeaturesKHR : return "PhysicalDeviceMaintenance10FeaturesKHR"; case StructureType::ePhysicalDeviceMaintenance10FeaturesKHR : return "PhysicalDeviceMaintenance10FeaturesKHR";
case StructureType::ePhysicalDeviceMaintenance10PropertiesKHR : return "PhysicalDeviceMaintenance10PropertiesKHR"; case StructureType::ePhysicalDeviceMaintenance10PropertiesKHR : return "PhysicalDeviceMaintenance10PropertiesKHR";
case StructureType::eRenderingAttachmentFlagsInfoKHR : return "RenderingAttachmentFlagsInfoKHR"; case StructureType::eRenderingAttachmentFlagsInfoKHR : return "RenderingAttachmentFlagsInfoKHR";
@ -6590,6 +6592,7 @@ namespace VULKAN_HPP_NAMESPACE
switch ( value ) switch ( value )
{ {
case PipelineCacheHeaderVersion::eOne : return "One"; case PipelineCacheHeaderVersion::eOne : return "One";
case PipelineCacheHeaderVersion::eDataGraphQCOM: return "DataGraphQCOM";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )"; default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
} }
} }
@ -10367,6 +10370,8 @@ namespace VULKAN_HPP_NAMESPACE
switch ( value ) switch ( value )
{ {
case PhysicalDeviceDataGraphProcessingEngineTypeARM::eDefault : return "Default"; case PhysicalDeviceDataGraphProcessingEngineTypeARM::eDefault : return "Default";
case PhysicalDeviceDataGraphProcessingEngineTypeARM::eNeuralQCOM : return "NeuralQCOM";
case PhysicalDeviceDataGraphProcessingEngineTypeARM::eComputeQCOM: return "ComputeQCOM";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )"; default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
} }
} }
@ -10376,6 +10381,8 @@ namespace VULKAN_HPP_NAMESPACE
switch ( value ) switch ( value )
{ {
case PhysicalDeviceDataGraphOperationTypeARM::eSpirvExtendedInstructionSet: return "SpirvExtendedInstructionSet"; case PhysicalDeviceDataGraphOperationTypeARM::eSpirvExtendedInstructionSet: return "SpirvExtendedInstructionSet";
case PhysicalDeviceDataGraphOperationTypeARM::eNeuralModelQCOM : return "NeuralModelQCOM";
case PhysicalDeviceDataGraphOperationTypeARM::eBuiltinModelQCOM : return "BuiltinModelQCOM";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )"; default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
} }
} }
@ -10802,6 +10809,17 @@ namespace VULKAN_HPP_NAMESPACE
return "(void)"; return "(void)";
} }
//=== VK_QCOM_data_graph_model ===
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DataGraphModelCacheTypeQCOM value )
{
switch ( value )
{
case DataGraphModelCacheTypeQCOM::eGenericBinary: return "GenericBinary";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
//=== VK_KHR_maintenance10 === //=== VK_KHR_maintenance10 ===
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RenderingAttachmentFlagBitsKHR value ) VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RenderingAttachmentFlagBitsKHR value )