Compare commits

...

16 Commits

Author SHA1 Message Date
Andreas Süßenbach cb5783d49d
Add some explicit static_cast to the SharedHandles sample and the UniqueHandleDefaultArguments test. (#2370)
Set Version Tag / set-version-tag (push) Waiting to run Details
2025-11-25 17:05:24 +01:00
Andreas Süßenbach 73121db60b
Extent function call tests with Queue semaphore commands. (#2369) 2025-11-25 13:39:06 +01:00
github-actions[bot] 6bbd8ccd68
Update Vulkan-Headers to v1.4.334 (#2364)
Co-authored-by: GitHub <noreply@github.com>
2025-11-25 12:38:11 +01:00
GitHub bdda01dc49 Update Vulkan-Headers to v1.4.333
Set Version Tag / set-version-tag (push) Has been cancelled Details
2025-11-18 15:23:46 +01:00
YaaZ 21d217d163 Fix typo leading to module compilation error 2025-11-18 15:22:55 +01:00
Andreas Süßenbach 8e79f71c15
Extend enum value alias handling. (#2361)
Set Version Tag / set-version-tag (push) Has been cancelled Details
2025-11-13 14:09:34 +01:00
Andreas Süßenbach 9747e68285
Restrict template argument Dispatch to only take evaluate the newly introduced type trait isDispatchLoader with value == true. (#2360)
Set Version Tag / set-version-tag (push) Has been cancelled Details
2025-11-12 18:21:31 +01:00
Jan Kuhlmann 7c480ca5aa
C++Module: Fix GCC error and replace `std.compat` with `std` (#2353)
* iunclude vulkan.h before the import

* replace std.compat with std
2025-11-12 13:49:10 +01:00
Andreas Süßenbach 5cd5bcf6de
Extent function call tests with Fence commands (#2359) 2025-11-12 13:42:37 +01:00
Nikita Gubarkov c75dcdc0bb
Export vk::raii::isVulkanRAIIHandleType (#2357)
Set Version Tag / set-version-tag (push) Waiting to run Details
2025-11-12 10:12:14 +01:00
Andreas Süßenbach 15f4b3024f
Fix default values of function arguments when VULKAN_HPP_NO_DEFAULT_DISPATCHER is defined. (#2356) 2025-11-12 10:08:57 +01:00
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
55 changed files with 6972 additions and 4960 deletions

View File

@ -1,5 +1,5 @@
name: CI Windows
name: CI Windows Clang
on:
pull_request:
@ -16,7 +16,7 @@ jobs:
strategy:
matrix:
os: [windows-2022, windows-2025]
architecture: [x86, x64]
architecture: [x64]
steps:
- uses: actions/checkout@v4
@ -31,7 +31,8 @@ jobs:
# - name: Install glm, glfw and glslang
# run: |
# cd glm
# cmake -B build \
# cmake -B build -G Ninja \
# -D CMAKE_CXX_COMPILER=clang-cl \
# -D CMAKE_CXX_STANDARD=11 \
# -D CMAKE_BUILD_TYPE=Release \
# -D GLM_BUILD_LIBRARY=ON \
@ -41,8 +42,8 @@ jobs:
# cmake --install build
# cd ../glfw
# cmake -B build \
# -D CMAKE_CXX_STANDARD=11 \
# cmake -B build -G Ninja \
# -D CMAKE_C_COMPILER=clang-cl \
# -D CMAKE_BUILD_TYPE=Release \
# -D GLFW_BUILD_EXAMPLES=OFF \
# -D GLFW_BUILD_TESTS=OFF \
@ -52,7 +53,9 @@ jobs:
# cmake --install build
# 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_BUILD_TYPE=Release \
# -D ENABLE_OPT=OFF \
@ -64,7 +67,7 @@ jobs:
- name: Generate headers
run: |
cmake -B build \
cmake -B build -G Ninja \
-D VULKAN_HPP_GENERATOR_BUILD=ON \
-D VULKAN_HPP_RUN_GENERATOR=OFF \
-D VULKAN_HPP_SAMPLES_BUILD=OFF \
@ -72,10 +75,12 @@ jobs:
-D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \
-D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \
-D VULKAN_HPP_PRECOMPILE=OFF \
-D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_CXX_COMPILER=clang-cl \
-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_RUN_GENERATOR=ON \
-D VULKAN_HPP_SAMPLES_BUILD=OFF \
@ -83,23 +88,20 @@ jobs:
-D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \
-D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \
-D VULKAN_HPP_PRECOMPILE=OFF \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_CXX_COMPILER=clang-cl \
-D CMAKE_CXX_STANDARD=20
cmake --build build --parallel --clean-first --config Release
cmake --build build --parallel --clean-first
- name: Build samples and tests
run: |
for CXX_STANDARD in 11 14 17 20 23; 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 "Building C++$CXX_STANDARD in $BUILD_TYPE with architecture ${{matrix.architecture}}"
echo "================================================================================="
cmake -B build --fresh \
cmake -B build -G Ninja --fresh \
-D VULKAN_HPP_GENERATOR_BUILD=OFF \
-D VULKAN_HPP_RUN_GENERATOR=OFF \
-D VULKAN_HPP_SAMPLES_BUILD=ON \
@ -107,7 +109,10 @@ jobs:
-D VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=ON \
-D VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP=ON \
-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
cmake --build build --parallel --clean-first --config $BUILD_TYPE
cmake --build build --parallel --clean-first
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 )
// no need to ignore any warnings with MSVC
#elif defined( __clang__ )
#endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-but-set-variable"

View File

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

View File

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

@ -1 +1 @@
Subproject commit 3dda5a1a87b62fdf3baf4680edc41c00e85a7a22
Subproject commit 6aefb8eb95c8e170d0805fd0f2d02832ec1e099a

View File

@ -28,6 +28,8 @@ using namespace std::literals;
namespace
{
template <typename T>
bool containsByName( std::vector<T> const & values, std::string const & name );
std::vector<std::pair<std::string, size_t>> filterNumbers( std::vector<std::string> const & names );
template <typename T>
typename std::vector<T>::const_iterator findByName( std::vector<T> const & values, std::string const & name );
@ -1552,40 +1554,8 @@ std::set<size_t> VulkanHppGenerator::determineVoidPointerParams( std::vector<Par
return voidPointerParams;
}
void VulkanHppGenerator::distributeEnumExtends()
{
for ( auto const & extendedEnum : m_enumExtends )
{
assert( !extendedEnum.second.empty() );
auto typeIt = m_types.find( extendedEnum.first );
checkForError( typeIt != m_types.end(),
extendedEnum.second.front().xmlLine,
"enum value <" + extendedEnum.second.front().name + "> extends unknown type <" + extendedEnum.first + ">" );
checkForError( typeIt->second.category == TypeCategory::Enum,
extendedEnum.second.front().xmlLine,
"enum value <" + extendedEnum.second.front().name + "> extends non-enum type <" + extendedEnum.first + ">" );
const auto enumIt = m_enums.find( extendedEnum.first );
assert( enumIt != m_enums.end() );
for ( auto const & eed : extendedEnum.second )
{
for ( auto const & requiredBy : eed.requiredBy )
{
typeIt->second.requiredBy.insert( requiredBy );
}
checkForError( enumIt->second.addEnumAlias( eed.xmlLine, eed.name, eed.alias, eed.protect, ( eed.api.empty() || ( eed.api == m_api ) ) && eed.supported ),
eed.xmlLine,
"enum value alias <" + eed.name + "> already listed with different properties" );
}
}
m_enumExtends.clear();
}
void VulkanHppGenerator::distributeEnumValueAliases()
{
assert( m_enumExtends.empty() );
for ( auto & e : m_enums )
{
for ( auto & a : e.second.valueAliases )
@ -1680,9 +1650,12 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
template <typename HandleType>
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_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo(
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name.c_str() );
VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
// It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
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 );
}
)" );
@ -1707,13 +1680,16 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
cmd.insert(
pos,
R"( // wrapper function for command vkSetDebugUtilsObjectNameEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html
template <typename HandleType, typename Dispatch>
template <typename HandleType, typename Dispatch, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::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
{
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo(
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name.c_str() );
VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
// It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
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 );
}
)" );
@ -1722,7 +1698,7 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
{
cmd.insert( pos, R"( // wrapper function for command vkSetDebugUtilsObjectNameEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html
template <typename HandleType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
template <typename HandleType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type = true>
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
)" );
@ -1743,9 +1719,14 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
VULKAN_HPP_INLINE typename ResultValueType<void>::type
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_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo(
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name, sizeof( TagType ), &tag );
VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
// It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
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 );
}
)" );
@ -1770,13 +1751,18 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
cmd.insert(
pos,
R"( // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html
template <typename HandleType, typename TagType, typename Dispatch>
template <typename HandleType, typename TagType, typename Dispatch, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::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
{
static_assert( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo(
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name, sizeof( TagType ), &tag );
VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
// It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
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 );
}
)" );
@ -1785,7 +1771,7 @@ void VulkanHppGenerator::extendSpecialCommands( std::string const & name, bool d
{
cmd.insert( pos, R"( // wrapper function for command vkSetDebugUtilsObjectTagEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html
template <typename HandleType, typename TagType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
template <typename HandleType, typename TagType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type = true>
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type setDebugUtilsObjectTagEXT(
HandleType const & handle, uint64_t name, TagType const & tag, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
)" );
@ -2060,7 +2046,8 @@ std::string VulkanHppGenerator::generateArgumentListEnhanced( std::vector<ParamD
}
else if ( params[i].optional )
{
arguments.push_back( "Optional<" + stripPostfix( composedType, " *" ) + "> " + name + ( ( definition || withAllocators ) ? "" : " = nullptr" ) );
arguments.push_back( "Optional<" + stripPostfix( composedType, " *" ) + "> " + name +
( ( definition || withAllocators ) ? "" : " VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr )" ) );
hasDefaultAssignment = true;
}
else
@ -2078,7 +2065,8 @@ std::string VulkanHppGenerator::generateArgumentListEnhanced( std::vector<ParamD
assert( params[i].type.type == "char" );
if ( params[i].optional )
{
arguments.push_back( "Optional<const std::string> " + name + ( ( definition || withAllocators ) ? "" : " = nullptr" ) );
arguments.push_back( "Optional<const std::string> " + name +
( ( definition || withAllocators ) ? "" : " VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr )" ) );
hasDefaultAssignment = true;
}
else
@ -2099,7 +2087,7 @@ std::string VulkanHppGenerator::generateArgumentListEnhanced( std::vector<ParamD
if ( params[i].optional && !definition )
{
assert( params[i].strideParam.first.empty() );
arguments.back() += " = nullptr";
arguments.back() += " VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr )";
hasDefaultAssignment = true;
}
}
@ -2126,7 +2114,7 @@ std::string VulkanHppGenerator::generateArgumentListEnhanced( std::vector<ParamD
std::string paramName = ( definition && ( params[i].name == "objectType" ) ) ? "objectType_" : params[i].name;
arguments.push_back( composedType + " " + paramName + generateCArraySizes( params[i].arraySizes ) );
}
arguments.back() += std::string( !definition && ( defaultStartIndex <= i ) && !hasDefaultAssignment ? " = {}" : "" );
arguments.back() += std::string( !definition && ( defaultStartIndex <= i ) && !hasDefaultAssignment ? " VULKAN_HPP_DEFAULT_ASSIGNMENT( {} )" : "" );
}
}
if ( withAllocators )
@ -3185,10 +3173,10 @@ std::string VulkanHppGenerator::generateCommandDefinitions( std::string const &
pos = destroyCommandString.find( commandIt->second.params[1].name,
pos + 1 ); // get the argument to destroy in the advanced version
assert( pos != std::string::npos );
pos = destroyCommandString.find( " = {}", pos );
pos = destroyCommandString.find( " VULKAN_HPP_DEFAULT_ASSIGNMENT( {} )", pos );
if ( pos != std::string::npos )
{
destroyCommandString.erase( pos, strlen( " = {}" ) );
destroyCommandString.erase( pos, strlen( " VULKAN_HPP_DEFAULT_ASSIGNMENT( {} )" ) );
}
str += "\n" + destroyCommandString;
}
@ -3277,7 +3265,7 @@ std::string VulkanHppGenerator::generateCommandEnhanced( std::string const &
std::string const functionTemplate =
R"( // wrapper function for command ${vkCommandName}, see https://registry.khronos.org/vulkan/specs/latest/man/html/${vkCommandName}.html
template <${argumentTemplates}${allocatorTemplates}typename Dispatch${uniqueHandleAllocatorTemplates}${typenameCheck}>
template <${argumentTemplates}${allocatorTemplates}typename Dispatch${uniqueHandleAllocatorTemplates}${typenameCheck}, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type>
${nodiscard}VULKAN_HPP_INLINE ${decoratedReturnType} ${className}${classSeparator}${commandName}( ${argumentList} )${const}${noexcept}
{
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@ -3320,7 +3308,7 @@ ${vectorSizeCheck}
{
std::string const functionTemplate =
R"( // wrapper function for command ${vkCommandName}, see https://registry.khronos.org/vulkan/specs/latest/man/html/${vkCommandName}.html
template <${argumentTemplates}${allocatorTemplates}typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE${uniqueHandleAllocatorTemplates}${typenameCheck}>
template <${argumentTemplates}${allocatorTemplates}typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE${uniqueHandleAllocatorTemplates}${typenameCheck}, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type = true>
${nodiscard}${decoratedReturnType} ${commandName}( ${argumentList} )${const}${noexcept};)";
return replaceWithMap( functionTemplate,
@ -3620,7 +3608,7 @@ std::string VulkanHppGenerator::generateCommandResultMultiSuccessWithErrors2Retu
else if ( name == "vkGetDeviceFaultInfoEXT" )
{
// 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;
@ -3628,7 +3616,7 @@ std::string VulkanHppGenerator::generateCommandResultMultiSuccessWithErrors2Retu
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
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 )
{
@ -4471,7 +4459,7 @@ std::string
std::string const functionTemplate =
R"( // wrapper function for command ${vkCommandName}, see https://registry.khronos.org/vulkan/specs/latest/man/html/${vkCommandName}.html
template <typename Dispatch>
template <typename Dispatch, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type>
${nodiscard}VULKAN_HPP_INLINE ${returnType} ${className}${classSeparator}${commandName}( ${argumentList} )${const} VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@ -4493,7 +4481,7 @@ std::string
{
std::string const functionTemplate =
R"( // wrapper function for command ${vkCommandName}, see https://registry.khronos.org/vulkan/specs/latest/man/html/${vkCommandName}.html
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type = true>
${nodiscard}${returnType} ${commandName}( ${argumentList} VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )${const} VULKAN_HPP_NOEXCEPT;)";
return replaceWithMap( functionTemplate,
@ -5492,6 +5480,7 @@ std::string VulkanHppGenerator::generateCppModuleUsings() const
using VULKAN_HPP_NAMESPACE::detail::getDispatchLoaderStatic;
#endif /*VK_NO_PROTOTYPES*/
using VULKAN_HPP_NAMESPACE::detail::createResultValueType;
using VULKAN_HPP_NAMESPACE::detail::isDispatchLoader;
using VULKAN_HPP_NAMESPACE::detail::resultCheck;
}
#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
@ -5685,6 +5674,7 @@ std::string VulkanHppGenerator::generateCppModuleRaiiUsings() const
//======================
using VULKAN_HPP_RAII_NAMESPACE::Context;
using VULKAN_HPP_RAII_NAMESPACE::isVulkanRAIIHandleType;
namespace detail
{
using VULKAN_HPP_RAII_NAMESPACE::detail::ContextDispatcher;
@ -6782,7 +6772,14 @@ ${deviceCommandAssignments}
static DynamicLoader dl;
init(instance, device, dl);
}
};)";
};
template <>
struct isDispatchLoader<DispatchLoaderDynamic>
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
};
)";
std::string commandMembers, deviceCommandAssignments, initialCommandAssignments, instanceCommandAssignments;
std::set<std::string> listedCommands; // some commands are listed with more than one extension!
@ -6885,6 +6882,12 @@ std::string VulkanHppGenerator::generateDispatchLoaderStatic() const
${commands}
};
template <>
struct isDispatchLoader<DispatchLoaderStatic>
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
};
inline DispatchLoaderStatic & getDispatchLoaderStatic()
{
static DispatchLoaderStatic dls;
@ -6948,10 +6951,10 @@ std::string VulkanHppGenerator::generateDestroyCommand( std::string const & name
pos = destroyCommandString.find( localCommandData.params[1].name,
pos + 1 ); // get the argument to destroy in the advanced version
assert( pos != std::string::npos );
pos = destroyCommandString.find( " = {}", pos );
pos = destroyCommandString.find( " VULKAN_HPP_DEFAULT_ASSIGNMENT( {} )", pos );
if ( pos != std::string::npos )
{
destroyCommandString.erase( pos, strlen( " = {}" ) );
destroyCommandString.erase( pos, strlen( " VULKAN_HPP_DEFAULT_ASSIGNMENT( {} )" ) );
}
return "\n" + destroyCommandString;
}
@ -15336,7 +15339,6 @@ void VulkanHppGenerator::readRegistry( tinyxml2::XMLElement const * element )
// for all api but vulkanbase, we merge the internal features into the normal ones
mergeInternalFeatures();
}
distributeEnumExtends();
distributeEnumValueAliases();
distributeStructAliases();
distributeRequirements();
@ -15455,19 +15457,15 @@ void VulkanHppGenerator::readRequireEnum(
protect = getProtectFromPlatform( platform );
}
auto extendIt = m_enumExtends.insert( { extends, {} } ).first;
auto eedIt = std::ranges::find_if( extendIt->second, [&name]( auto const & eed ) { return eed.name == name; } );
if ( eedIt == extendIt->second.end() )
{
extendIt->second.push_back( { alias, api, name, protect, { requiredBy }, supported, line } );
}
else
{
checkForError( ( eedIt->alias == alias ) && ( eedIt->api == api ) && ( eedIt->protect == protect ) && ( eedIt->supported == supported ),
auto typeIt = m_types.find( extends );
checkForError( typeIt != m_types.end(), line, "enum value <" + name + "> extends unknown type <" + extends + ">" );
checkForError( typeIt->second.category == TypeCategory::Enum, line, "enum value <" + name + "> extends non-enum type <" + extends + ">" );
typeIt->second.requiredBy.insert( requiredBy );
auto enumIt = findByNameOrAlias( m_enums, extends );
assert( enumIt != m_enums.end() );
checkForError( enumIt->second.addEnumAlias( line, name, alias, protect, supported ),
line,
"extending enum <" + extends + "> with already listed value <" + name + "> but different properties" );
eedIt->requiredBy.insert( requiredBy );
}
"enum value alias <" + name + "> already listed with different properties" );
}
}
else
@ -15726,7 +15724,9 @@ void VulkanHppGenerator::readSPIRVCapabilityEnable( tinyxml2::XMLElement const *
const auto enumIt = m_enums.find( bitmaskIt->second.require );
checkForError(
enumIt != m_enums.end(), line, "member <" + member + "> specified for SPIR-V capability requires an unknown enum <" + bitmaskIt->second.require + ">" );
checkForError( containsName( enumIt->second.values, value ), line, "unknown attribute value <" + value + "> specified for SPIR-V capability" );
checkForError( containsByName( enumIt->second.values, value ) || containsByName( enumIt->second.valueAliases, value ),
line,
"unknown attribute value <" + value + "> specified for SPIR-V capability" );
}
}
else if ( attributes.contains( "struct" ) )
@ -17402,6 +17402,10 @@ bool VulkanHppGenerator::EnumData::addEnumAlias( int line, std::string const & n
{
valueAliases.push_back( { alias, name, protect, supported, line } );
}
else
{
ok = ( ( aliasIt->alias == alias ) && ( aliasIt->protect == protect ) && ( aliasIt->supported == supported ) );
}
return ok;
}
@ -17433,6 +17437,12 @@ bool VulkanHppGenerator::EnumData::addEnumValue(
namespace
{
template <typename T>
bool containsByName( std::vector<T> const & values, std::string const & name )
{
return std::ranges::any_of( values, [&name]( T const & value ) { return value.name == name; } );
}
std::vector<std::pair<std::string, size_t>> filterNumbers( std::vector<std::string> const & names )
{
std::vector<std::pair<std::string, size_t>> filteredNames;

View File

@ -600,7 +600,6 @@ private:
std::string determineSubStruct( std::pair<std::string, StructData> const & structure ) const;
std::map<size_t, VectorParamData> determineVectorParams( std::vector<ParamData> const & params ) const;
std::set<size_t> determineVoidPointerParams( std::vector<ParamData> const & params ) const;
void distributeEnumExtends();
void distributeEnumValueAliases();
void distributeRequirements();
void distributeRequirements( std::vector<RequireData> const & requireData, std::string const & requiredBy );
@ -1274,7 +1273,6 @@ private:
std::map<std::string, ConstantData> m_constants;
std::map<std::string, DefineData> m_defines;
DefinesPartition m_definesPartition; // partition defined macros into mutually-exclusive sets of callees, callers, and values
std::map<std::string, std::vector<EnumExtendData>> m_enumExtends;
std::map<std::string, EnumData> m_enums;
std::vector<ExtensionData> m_extensions;
std::map<std::string, ExternalTypeData> m_externalTypes;

View File

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

View File

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

View File

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

View File

@ -140,8 +140,7 @@ int main( int /*argc*/, char ** /*argv*/ )
/* VULKAN_KEY_START */
// Check disk for existing cache data
size_t startCacheSize = 0;
char * startCacheData = nullptr;
std::vector<char> startCacheData;
std::string cacheFileName = "pipeline_cache_data.bin";
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
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 );
// Allocate memory to hold the initial cache data
startCacheData = (char *)std::malloc( startCacheSize );
startCacheData.resize( startCacheSize );
// Read the data into our buffer
readCacheStream.read( startCacheData, startCacheSize );
readCacheStream.read( startCacheData.data(), startCacheData.size() );
// Clean up and print results
readCacheStream.close();
@ -169,7 +168,7 @@ int main( int /*argc*/, char ** /*argv*/ )
std::cout << " Pipeline cache miss!\n";
}
if ( startCacheData != nullptr )
if ( !startCacheData.empty() )
{
// Check for cache validity
//
@ -205,11 +204,12 @@ int main( int /*argc*/, char ** /*argv*/ )
uint32_t deviceID = 0;
uint8_t pipelineCacheUUID[VK_UUID_SIZE] = {};
memcpy( &headerLength, (uint8_t *)startCacheData + 0, 4 );
memcpy( &cacheHeaderVersion, (uint8_t *)startCacheData + 4, 4 );
memcpy( &vendorID, (uint8_t *)startCacheData + 8, 4 );
memcpy( &deviceID, (uint8_t *)startCacheData + 12, 4 );
memcpy( pipelineCacheUUID, (uint8_t *)startCacheData + 16, VK_UUID_SIZE );
uint8_t * startCacheDataPtr = reinterpret_cast<uint8_t *>( startCacheData.data() );
memcpy( &headerLength, startCacheDataPtr + 0, 4 );
memcpy( &cacheHeaderVersion, startCacheDataPtr + 4, 4 );
memcpy( &vendorID, startCacheDataPtr + 8, 4 );
memcpy( &deviceID, startCacheDataPtr + 12, 4 );
memcpy( pipelineCacheUUID, startCacheDataPtr + 16, VK_UUID_SIZE );
// Check each field and report bad values before freeing existing cache
bool badCache = false;
@ -255,9 +255,7 @@ int main( int /*argc*/, char ** /*argv*/ )
if ( badCache )
{
// Don't submit initial cache data if any version info is incorrect
free( startCacheData );
startCacheSize = 0;
startCacheData = nullptr;
startCacheData.clear();
// And clear out the old cache file for use in next run
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
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( startCacheData );
startCacheData = NULL;
startCacheData.clear();
// Time (roughly) taken to create the graphics pipeline
timestamp_t start = getMilliseconds();

View File

@ -86,7 +86,7 @@ public:
VkResult err = glfwCreateWindowSurface( instance.get(), window.handle, nullptr, &surface );
if ( err != VK_SUCCESS )
throw std::runtime_error( "Failed to create window!" );
vk::SharedSurfaceKHR sharedSurface{ surface, instance };
vk::SharedSurfaceKHR sharedSurface{ static_cast<vk::SurfaceKHR>( surface ), instance };
auto graphicsAndPresentQueueFamilyIndex = vk::su::findGraphicsAndPresentQueueFamilyIndex( physicalDevice, sharedSurface.get() );
device = vk::SharedDevice{ vk::su::createDevice( physicalDevice, graphicsAndPresentQueueFamilyIndex.first, vk::su::getDeviceExtensions() ) };
@ -109,16 +109,12 @@ public:
std::transform( swapChainData.images.begin(),
swapChainData.images.end(),
std::back_inserter( images ),
[this]( vk::Image image ) {
return vk::SharedImage{ image, device, vk::SwapchainOwns::yes };
} );
[this]( vk::Image image ) { return vk::SharedImage{ image, device, vk::SwapchainOwns::yes }; } );
std::transform( swapChainData.imageViews.begin(),
swapChainData.imageViews.end(),
std::back_inserter( imageViews ),
[this]( vk::ImageView imageView ) {
return vk::SharedImageView{ imageView, device };
} );
[this]( vk::ImageView imageView ) { return vk::SharedImageView{ imageView, device }; } );
commandPool =
vk::SharedCommandPool{ device->createCommandPool( { vk::CommandPoolCreateFlagBits::eResetCommandBuffer, graphicsAndPresentQueueFamilyIndex.first } ),
device };
@ -230,9 +226,9 @@ public:
vk::Result result = presentQueue->presentKHR( vk::PresentInfoKHR( {}, swap, currentBuffer ) );
switch ( result )
{
case vk::Result::eSuccess: break;
case vk::Result::eSuccess : break;
case vk::Result::eSuboptimalKHR: std::cout << "vk::Queue::presentKHR returned vk::Result::eSuboptimalKHR !\n"; break;
default: assert( false ); // an unexpected result is returned !
default : assert( false ); // an unexpected result is returned !
}
std::this_thread::sleep_for( std::chrono::milliseconds( 1000 ) );

View File

@ -24,7 +24,7 @@ module;
#include <vulkan/${api}_shared.hpp>
export module ${api}_hpp;
export import std.compat;
export import std;
export namespace VULKAN_HPP_NAMESPACE
{

View File

@ -20,3 +20,10 @@
bool m_valid = true;
#endif
};
template <typename Type>
struct isDispatchLoader
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false;
};

View File

@ -101,9 +101,9 @@
T getProcAddress( const char* function ) const VULKAN_HPP_NOEXCEPT
{
# 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 )
return (T)::GetProcAddress( m_library, function );
return (T)(void*)::GetProcAddress( m_library, function );
# else
# error unsupported platform
# endif

View File

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

View File

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

View File

@ -305,10 +305,11 @@ namespace VULKAN_HPP_NAMESPACE
#endif
#if defined( VULKAN_HPP_NO_DEFAULT_DISPATCHER )
# define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT
# define VULKAN_HPP_DEFAULT_ASSIGNMENT( assignment )
#else
# define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT = VULKAN_HPP_DEFAULT_DISPATCHER
# define VULKAN_HPP_DEFAULT_ASSIGNMENT( assignment ) = assignment
#endif
#define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT VULKAN_HPP_DEFAULT_ASSIGNMENT( VULKAN_HPP_DEFAULT_DISPATCHER )
#if !defined( VULKAN_HPP_RAII_NAMESPACE )
# define VULKAN_HPP_RAII_NAMESPACE raii

View File

@ -5,7 +5,7 @@ public:
ObjectDestroy() = default;
ObjectDestroy( OwnerType owner,
Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_owner( owner )
, m_allocationCallbacks( allocationCallbacks )

View File

@ -5,7 +5,7 @@
ObjectFree() = default;
ObjectFree( OwnerType owner,
Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_owner( owner )
, m_allocationCallbacks( allocationCallbacks )

View File

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

View File

@ -79,7 +79,7 @@ namespace VULKAN_HPP_NAMESPACE
template <typename DestructorType, typename Deleter>
struct SharedHeader
{
SharedHeader( SharedHandle<DestructorType> parent, Deleter deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
SharedHeader( SharedHandle<DestructorType> parent, Deleter deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( Deleter() ) ) VULKAN_HPP_NOEXCEPT
: parent( std::move( parent ) )
, deleter( std::move( deleter ) )
{
@ -92,7 +92,7 @@ namespace VULKAN_HPP_NAMESPACE
template <typename Deleter>
struct SharedHeader<NoDestructor, Deleter>
{
SharedHeader( Deleter deleter = Deleter() ) VULKAN_HPP_NOEXCEPT : deleter( std::move( deleter ) ) {}
SharedHeader( Deleter deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( Deleter() ) ) VULKAN_HPP_NOEXCEPT : deleter( std::move( deleter ) ) {}
Deleter deleter;
};
@ -277,7 +277,9 @@ namespace VULKAN_HPP_NAMESPACE
SharedHandle() = default;
template <typename T = HandleType, typename = typename std::enable_if<HasDestructor<T>::value && !HasPoolType<T>::value>::type>
explicit SharedHandle( HandleType handle, SharedHandle<DestructorTypeOf<HandleType>> parent, DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
explicit SharedHandle( HandleType handle,
SharedHandle<DestructorTypeOf<HandleType>> parent,
DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
: BaseType( handle, std::move( parent ), std::move( deleter ) )
{
}
@ -294,7 +296,9 @@ namespace VULKAN_HPP_NAMESPACE
}
template <typename T = HandleType, typename = typename std::enable_if<!HasDestructor<T>::value>::type>
explicit SharedHandle( HandleType handle, DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT : BaseType( handle, std::move( deleter ) )
explicit SharedHandle( HandleType handle,
DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
: BaseType( handle, std::move( deleter ) )
{
}
@ -313,13 +317,12 @@ namespace VULKAN_HPP_NAMESPACE
# pragma clang diagnostic ignored "-Wcast-function-type"
# endif
template <typename HandleType>
template <typename HandleType, typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
class ObjectDestroyShared
{
public:
using DestructorType = typename SharedHandleTraits<HandleType>::DestructorType;
template <class Dispatcher>
using DestroyFunctionPointerType =
typename std::conditional<HasDestructor<HandleType>::value,
void ( DestructorType::* )( HandleType, const AllocationCallbacks *, const Dispatcher & ) const,
@ -327,10 +330,9 @@ namespace VULKAN_HPP_NAMESPACE
using SelectorType = typename std::conditional<HasDestructor<HandleType>::value, DestructorType, HandleType>::type;
template <typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
ObjectDestroyShared( Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
ObjectDestroyShared( Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
const Dispatcher & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType<Dispatcher>>( &SelectorType::destroy ) ) )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType>( &SelectorType::destroy ) ) )
, m_dispatch( &dispatch )
, m_allocationCallbacks( allocationCallbacks )
{
@ -352,24 +354,22 @@ namespace VULKAN_HPP_NAMESPACE
}
private:
DestroyFunctionPointerType<detail::DispatchLoaderBase> m_destroy = nullptr;
const detail::DispatchLoaderBase * m_dispatch = nullptr;
DestroyFunctionPointerType m_destroy = nullptr;
const Dispatcher * m_dispatch = nullptr;
Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
};
template <typename HandleType>
template <typename HandleType, typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
class ObjectFreeShared
{
public:
using DestructorType = typename SharedHandleTraits<HandleType>::DestructorType;
template <class Dispatcher>
using DestroyFunctionPointerType = void ( DestructorType::* )( HandleType, const AllocationCallbacks *, const Dispatcher & ) const;
template <class Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
ObjectFreeShared( Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
ObjectFreeShared( Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
const Dispatcher & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType<Dispatcher>>( &DestructorType::free ) ) )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType>( &DestructorType::free ) ) )
, m_dispatch( &dispatch )
, m_allocationCallbacks( allocationCallbacks )
{
@ -383,23 +383,21 @@ namespace VULKAN_HPP_NAMESPACE
}
private:
DestroyFunctionPointerType<detail::DispatchLoaderBase> m_destroy = nullptr;
const detail::DispatchLoaderBase * m_dispatch = nullptr;
DestroyFunctionPointerType m_destroy = nullptr;
const Dispatcher * m_dispatch = nullptr;
Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
};
template <typename HandleType>
template <typename HandleType, typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
class ObjectReleaseShared
{
public:
using DestructorType = typename SharedHandleTraits<HandleType>::DestructorType;
template <class Dispatcher>
using DestroyFunctionPointerType = void ( DestructorType::* )( HandleType, const Dispatcher & ) const;
template <class Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
ObjectReleaseShared( const Dispatcher & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType<Dispatcher>>( &DestructorType::release ) ) )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType>( &DestructorType::release ) ) )
, m_dispatch( &dispatch )
{
}
@ -412,11 +410,11 @@ namespace VULKAN_HPP_NAMESPACE
}
private:
DestroyFunctionPointerType<detail::DispatchLoaderBase> m_destroy = nullptr;
const detail::DispatchLoaderBase * m_dispatch = nullptr;
DestroyFunctionPointerType m_destroy = nullptr;
const Dispatcher * m_dispatch = nullptr;
};
template <typename HandleType, typename PoolType>
template <typename HandleType, typename PoolType, typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
class PoolFreeShared
{
public:
@ -424,17 +422,14 @@ namespace VULKAN_HPP_NAMESPACE
using PoolTypeExport = PoolType;
template <class Dispatcher>
using ReturnType = decltype( std::declval<DestructorType>().free( PoolType(), 0u, nullptr, Dispatcher() ) );
template <class Dispatcher>
using DestroyFunctionPointerType = ReturnType<Dispatcher> ( DestructorType::* )( PoolType, uint32_t, const HandleType *, const Dispatcher & ) const;
using DestroyFunctionPointerType = ReturnType( DestructorType::* )( PoolType, uint32_t, const HandleType *, const Dispatcher & ) const;
PoolFreeShared() = default;
template <class Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
PoolFreeShared( SharedHandle<PoolType> pool, const Dispatcher & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType<Dispatcher>>( &DestructorType::free ) ) )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType>( &DestructorType::free ) ) )
, m_dispatch( &dispatch )
, m_pool( std::move( pool ) )
{
@ -448,8 +443,8 @@ namespace VULKAN_HPP_NAMESPACE
}
private:
DestroyFunctionPointerType<detail::DispatchLoaderBase> m_destroy = nullptr;
const detail::DispatchLoaderBase * m_dispatch = nullptr;
DestroyFunctionPointerType m_destroy = nullptr;
const Dispatcher * m_dispatch = nullptr;
SharedHandle<PoolType> m_pool{};
};
@ -472,7 +467,8 @@ namespace VULKAN_HPP_NAMESPACE
struct ImageHeader : SharedHeader<DestructorTypeOf<Image>, typename SharedHandleTraits<Image>::deleter>
{
ImageHeader( SharedHandle<DestructorTypeOf<Image>> parent,
typename SharedHandleTraits<Image>::deleter deleter = typename SharedHandleTraits<Image>::deleter(),
typename SharedHandleTraits<Image>::deleter deleter
VULKAN_HPP_DEFAULT_ASSIGNMENT( typename SharedHandleTraits<Image>::deleter() ),
SwapchainOwns swapchainOwned = SwapchainOwns::no ) VULKAN_HPP_NOEXCEPT
: SharedHeader<DestructorTypeOf<Image>, typename SharedHandleTraits<Image>::deleter>( std::move( parent ), std::move( deleter ) )
, swapchainOwned( swapchainOwned )
@ -494,8 +490,8 @@ namespace VULKAN_HPP_NAMESPACE
explicit SharedHandle( Image handle,
SharedHandle<DestructorTypeOf<Image>> parent,
SwapchainOwns swapchain_owned = SwapchainOwns::no,
DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
SwapchainOwns swapchain_owned VULKAN_HPP_DEFAULT_ASSIGNMENT( SwapchainOwns::no ),
DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
: BaseType( handle, std::move( parent ), std::move( deleter ), swapchain_owned )
{
}
@ -514,7 +510,8 @@ namespace VULKAN_HPP_NAMESPACE
{
SwapchainHeader( SharedHandle<SurfaceKHR> surface,
SharedHandle<DestructorTypeOf<SwapchainKHR>> parent,
typename SharedHandleTraits<SwapchainKHR>::deleter deleter = typename SharedHandleTraits<SwapchainKHR>::deleter() ) VULKAN_HPP_NOEXCEPT
typename SharedHandleTraits<SwapchainKHR>::deleter deleter
VULKAN_HPP_DEFAULT_ASSIGNMENT( typename SharedHandleTraits<SwapchainKHR>::deleter() ) ) VULKAN_HPP_NOEXCEPT
: surface( std::move( surface ) )
, parent( std::move( parent ) )
, deleter( std::move( deleter ) )
@ -539,7 +536,7 @@ namespace VULKAN_HPP_NAMESPACE
explicit SharedHandle( SwapchainKHR handle,
SharedHandle<DestructorTypeOf<SwapchainKHR>> parent,
SharedHandle<SurfaceKHR> surface,
DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
: BaseType( handle, std::move( surface ), std::move( parent ), std::move( deleter ) )
{
}

View File

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

View File

@ -55,13 +55,13 @@
public:
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>();
}
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 ),
&std::get<0>( rhs ),
reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
@ -70,7 +70,7 @@
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>();
}
@ -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
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>() ) );
}
@ -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
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>() );
VULKAN_HPP_ASSERT( !isLinked( pNext ) );
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
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>() ) );
}

View File

@ -1,3 +1,4 @@
#include <vulkan/${vulkan_h}>
#if !defined( VULKAN_HPP_CXX_MODULE )
// clang-format off
# include <vulkan/vulkan_hpp_macros.hpp>
@ -27,10 +28,8 @@
#else
# include <cassert>
# include <cstring>
# include <cstdlib>
import std.compat;
import std;
#endif
#include <vulkan/${vulkan_h}>
#if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
# if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )

View File

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

View File

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

View File

@ -41,6 +41,7 @@ add_subdirectory( FunctionCallsRAII )
add_subdirectory( Handles )
add_subdirectory( HandlesMoveExchange )
add_subdirectory( Hash )
add_subdirectory( NoDefaultDispatcher )
add_subdirectory( NoExceptions )
if( ( CMAKE_CXX_STANDARD GREATER_EQUAL 23 ) AND NOT ( ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) AND ( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0 ) ) )
# This test is for C++23 only... but clang++13 and clang++14 seem to have a problem with it

View File

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

View File

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

View File

@ -20,7 +20,12 @@
// in this test, we ignore some warnings
// 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"
#else
// unknow compiler... just ignore the warnings for yourselves ;)

View File

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

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER )
# pragma warning( disable : 4189 ) // local variable is initialized but not referenced
#elif defined( __clang__ )
#endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable"
@ -503,6 +504,91 @@ int main( int /*argc*/, char ** /*argv*/ )
queue.bindSparse( bindSparseInfo, fence );
}
// Fence commands
{
vk::Device device;
vk::FenceCreateInfo fenceCreateInfo;
vk::AllocationCallbacks allocationCallbacks;
vk::Fence fence;
vk::Result result = device.createFence( &fenceCreateInfo, &allocationCallbacks, &fence );
}
{
vk::Device device;
vk::FenceCreateInfo fenceCreateInfo;
vk::Fence fence = device.createFence( fenceCreateInfo );
}
{
vk::Device device;
vk::Fence fence;
vk::AllocationCallbacks allocationCallbacks;
device.destroyFence( fence, &allocationCallbacks );
}
{
vk::Device device;
vk::Fence fence;
device.destroyFence( fence );
}
{
vk::Device device;
uint32_t fenceCount = 1;
vk::Fence fence;
vk::Result result = device.resetFences( fenceCount, &fence );
}
{
vk::Device device;
vk::Fence fence;
device.resetFences( fence );
}
{
vk::Device device;
vk::Fence fence;
vk::Result result = device.getFenceStatus( fence );
}
{
vk::Device device;
uint32_t fenceCount = 1;
vk::Fence fence;
vk::Bool32 waitAll = vk::True;
uint64_t timeout = 1000000000;
vk::Result result = device.waitForFences( fenceCount, &fence, waitAll, timeout );
}
{
vk::Device device;
vk::Fence fence;
vk::Bool32 waitAll = vk::True;
uint64_t timeout = 1000000000;
vk::Result result = device.waitForFences( fence, waitAll, timeout );
}
// Queue semaphore commands
{
vk::Device device;
vk::SemaphoreCreateInfo semaphoreCreateInfo;
vk::Semaphore semaphore;
vk::Result result = device.createSemaphore( &semaphoreCreateInfo, nullptr, &semaphore );
}
{
vk::Device device;
vk::SemaphoreCreateInfo semaphoreCreateInfo;
vk::Semaphore semaphore = device.createSemaphore( semaphoreCreateInfo );
}
{
vk::Device device;
vk::Semaphore semaphore;
vk::AllocationCallbacks allocationCallbacks;
device.destroySemaphore( semaphore, &allocationCallbacks );
}
{
vk::Device device;
vk::Semaphore semaphore;
device.destroySemaphore( semaphore );
}
#if 0
{
vk::PhysicalDevice physicalDevice;

View File

@ -17,7 +17,8 @@
#if defined( _MSC_VER )
# pragma warning( disable : 4189 ) // local variable is initialized but not referenced
#elif defined( __clang__ )
#endif
#if defined( __clang__ )
# pragma clang diagnostic ignored "-Wunused-variable"
#elif defined( __GNUC__ )
# pragma GCC diagnostic ignored "-Wunused-variable"
@ -105,6 +106,11 @@ int main( int /*argc*/, char ** /*argv*/ )
vk::DeviceCreateInfo deviceCreateInfo;
vk::raii::Device device = physicalDevice.createDevice( deviceCreateInfo );
}
{
vk::raii::PhysicalDevice physicalDevice = nullptr;
vk::DeviceCreateInfo deviceCreateInfo;
vk::raii::Device device( physicalDevice, deviceCreateInfo );
}
// Extension discovery commands
{
@ -135,6 +141,12 @@ int main( int /*argc*/, char ** /*argv*/ )
uint32_t queueIndex = 0;
vk::raii::Queue queue = device.getQueue( queueFamilyIndex, queueIndex );
}
{
vk::raii::Device device = nullptr;
uint32_t queueFamilyIndex = 0;
uint32_t queueIndex = 0;
vk::raii::Queue queue( device, queueFamilyIndex, queueIndex );
}
{
vk::raii::Queue queue = nullptr;
@ -159,6 +171,11 @@ int main( int /*argc*/, char ** /*argv*/ )
vk::MemoryAllocateInfo memoryAllocateInfo;
vk::raii::DeviceMemory deviceMemory = device.allocateMemory( memoryAllocateInfo );
}
{
vk::raii::Device device = nullptr;
vk::MemoryAllocateInfo memoryAllocateInfo;
vk::raii::DeviceMemory deviceMemory( device, memoryAllocateInfo );
}
{
vk::raii::DeviceMemory deviceMemory = nullptr;
@ -239,5 +256,48 @@ int main( int /*argc*/, char ** /*argv*/ )
queue.bindSparse( bindSparseInfo, fence );
}
// Fence commands
{
vk::raii::Device device = nullptr;
vk::FenceCreateInfo fenceCreateInfo;
vk::raii::Fence fence = device.createFence( fenceCreateInfo );
}
{
vk::raii::Device device = nullptr;
vk::FenceCreateInfo fenceCreateInfo;
vk::raii::Fence fence( device, fenceCreateInfo );
}
{
vk::raii::Device device = nullptr;
vk::Fence fence;
device.resetFences( fence );
}
{
vk::raii::Fence fence = nullptr;
vk::Result result = fence.getStatus();
}
{
vk::raii::Device device = nullptr;
vk::Fence fence;
vk::Bool32 waitAll = vk::True;
uint64_t timeout = 1000000000;
vk::Result result = device.waitForFences( fence, waitAll, timeout );
}
// Queue semaphore commands
{
vk::raii::Device device = nullptr;
vk::SemaphoreCreateInfo semaphoreCreateInfo;
vk::raii::Semaphore semaphore = device.createSemaphore( semaphoreCreateInfo );
}
{
vk::raii::Device device = nullptr;
vk::SemaphoreCreateInfo semaphoreCreateInfo;
vk::raii::Semaphore semaphore( device, semaphoreCreateInfo );
}
return 0;
}

View File

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

View File

@ -0,0 +1,21 @@
# Copyright(c) 2018, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
vulkan_hpp__setup_test( NAME NoDefaultDispatcher )
if( VULKAN_HPP_ENABLE_CPP20_MODULES )
# gcc versions <= 15.x fail to ignore -Winit-list-lifetime when importing vulkan_hpp
if ( NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "16") )
vulkan_hpp__setup_test( NAME NoDefaultDispatcher CXX_MODULE )
endif()
endif()

View File

@ -0,0 +1,31 @@
// Copyright(c) 2018, NVIDIA CORPORATION. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// VulkanHpp Samples : NoDefaultDispatcher
// Compile test with VULKAN_HPP_NO_DEFAULT_DISPATCHER defined
#define VULKAN_HPP_NO_DEFAULT_DISPATCHER
#ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp;
#else
# include <vulkan/vulkan.hpp>
# include <vulkan/vulkan_raii.hpp>
# include <vulkan/vulkan_shared.hpp>
#endif
int main( int /*argc*/, char ** /*argv*/ )
{
return 0;
}

View File

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

View File

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

View File

@ -17,23 +17,25 @@
// Should be used on 64 bit only, as on 32 bit the test is ambiguous.
#ifdef VULKAN_HPP_USE_CXX_MODULE
#include <vulkan/vulkan.h>
import vulkan_hpp;
# include <vulkan/vulkan.h>
import vulkan_hpp;
#else
# include "vulkan/vulkan.hpp"
#endif
#if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
namespace vk {
namespace detail {
namespace vk
{
namespace detail
{
DispatchLoaderDynamic defaultDispatchLoaderDynamic;
}
}
} // namespace detail
} // namespace vk
#endif
int main( int /*argc*/, char ** /*argv*/ )
{
VkSurfaceKHR surface = 0;
auto uniqueSurface = vk::UniqueSurfaceKHR( surface, vk::Instance() );
auto uniqueSurface = vk::UniqueSurfaceKHR( static_cast<vk::SurfaceKHR>( surface ), vk::Instance() );
return 0;
}

View File

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

View File

@ -29,7 +29,7 @@ VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
#include <vulkan/vulkan_shared.hpp>
export module vulkan_hpp;
export import std.compat;
export import std;
export namespace VULKAN_HPP_NAMESPACE
{
@ -53,6 +53,7 @@ export namespace VULKAN_HPP_NAMESPACE
using VULKAN_HPP_NAMESPACE::detail::getDispatchLoaderStatic;
#endif /*VK_NO_PROTOTYPES*/
using VULKAN_HPP_NAMESPACE::detail::createResultValueType;
using VULKAN_HPP_NAMESPACE::detail::isDispatchLoader;
using VULKAN_HPP_NAMESPACE::detail::resultCheck;
} // namespace detail
#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
@ -921,9 +922,6 @@ export namespace VULKAN_HPP_NAMESPACE
using VULKAN_HPP_NAMESPACE::PresentScalingFlagsEXT;
using VULKAN_HPP_NAMESPACE::PresentScalingFlagsKHR;
//=== VK_NV_ray_tracing_invocation_reorder ===
using VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV;
//=== VK_NV_cooperative_vector ===
using VULKAN_HPP_NAMESPACE::ComponentTypeKHR;
using VULKAN_HPP_NAMESPACE::ComponentTypeNV;
@ -1026,6 +1024,10 @@ export namespace VULKAN_HPP_NAMESPACE
using VULKAN_HPP_NAMESPACE::AccessFlagBits3KHR;
using VULKAN_HPP_NAMESPACE::AccessFlags3KHR;
//=== VK_EXT_ray_tracing_invocation_reorder ===
using VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeEXT;
using VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV;
//=== VK_EXT_depth_clamp_control ===
using VULKAN_HPP_NAMESPACE::DepthClampModeEXT;
@ -2890,6 +2892,10 @@ export namespace VULKAN_HPP_NAMESPACE
using VULKAN_HPP_NAMESPACE::KHRShaderFmaExtensionName;
using VULKAN_HPP_NAMESPACE::KHRShaderFmaSpecVersion;
//=== VK_EXT_ray_tracing_invocation_reorder ===
using VULKAN_HPP_NAMESPACE::EXTRayTracingInvocationReorderExtensionName;
using VULKAN_HPP_NAMESPACE::EXTRayTracingInvocationReorderSpecVersion;
//=== VK_EXT_depth_clamp_control ===
using VULKAN_HPP_NAMESPACE::EXTDepthClampControlExtensionName;
using VULKAN_HPP_NAMESPACE::EXTDepthClampControlSpecVersion;
@ -2978,6 +2984,10 @@ export namespace VULKAN_HPP_NAMESPACE
using VULKAN_HPP_NAMESPACE::EXTShader64BitIndexingExtensionName;
using VULKAN_HPP_NAMESPACE::EXTShader64BitIndexingSpecVersion;
//=== VK_EXT_custom_resolve ===
using VULKAN_HPP_NAMESPACE::EXTCustomResolveExtensionName;
using VULKAN_HPP_NAMESPACE::EXTCustomResolveSpecVersion;
//=== VK_QCOM_data_graph_model ===
using VULKAN_HPP_NAMESPACE::DataGraphModelToolchainVersionLengthQCOM;
using VULKAN_HPP_NAMESPACE::QCOMDataGraphModelExtensionName;
@ -5183,6 +5193,10 @@ export namespace VULKAN_HPP_NAMESPACE
//=== VK_KHR_shader_fma ===
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFmaFeaturesKHR;
//=== VK_EXT_ray_tracing_invocation_reorder ===
using VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
using VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
//=== VK_EXT_depth_clamp_control ===
using VULKAN_HPP_NAMESPACE::DepthClampRangeEXT;
using VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampControlFeaturesEXT;
@ -5282,6 +5296,11 @@ export namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_shader_64bit_indexing ===
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT;
//=== VK_EXT_custom_resolve ===
using VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT;
using VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT;
using VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT;
//=== VK_QCOM_data_graph_model ===
using VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM;
using VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM;
@ -5737,6 +5756,7 @@ export namespace VULKAN_HPP_NAMESPACE
//======================
using VULKAN_HPP_RAII_NAMESPACE::Context;
using VULKAN_HPP_RAII_NAMESPACE::isVulkanRAIIHandleType;
namespace detail
{
@ -9212,6 +9232,12 @@ export namespace std
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFmaFeaturesKHR>;
//=== VK_EXT_ray_tracing_invocation_reorder ===
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT>;
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT>;
//=== VK_EXT_depth_clamp_control ===
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampControlFeaturesEXT>;
@ -9348,6 +9374,14 @@ export namespace std
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT>;
//=== VK_EXT_custom_resolve ===
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT>;
template <>
struct hash<VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT>;
template <>
struct hash<VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT>;
//=== VK_QCOM_data_graph_model ===
template <>
struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM>;
@ -10577,6 +10611,9 @@ export
//=== VK_EXT_fragment_density_map_offset ===
using ::PFN_vkCmdEndRendering2EXT;
//=== VK_EXT_custom_resolve ===
using ::PFN_vkCmdBeginCustomResolveEXT;
//=== VK_KHR_maintenance10 ===
using ::PFN_vkCmdEndRendering2KHR;
}

View File

@ -8,6 +8,7 @@
#ifndef VULKAN_HPP
#define VULKAN_HPP
#include <vulkan/vulkan.h>
#if !defined( VULKAN_HPP_CXX_MODULE )
// clang-format off
# include <vulkan/vulkan_hpp_macros.hpp>
@ -36,11 +37,9 @@
# endif
#else
# include <cassert>
# include <cstdlib>
# include <cstring>
import std.compat;
import std;
#endif
#include <vulkan/vulkan.h>
#if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
# if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
@ -58,7 +57,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# endif
#endif
static_assert( VK_HEADER_VERSION == 332, "Wrong VK_HEADER_VERSION!" );
VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 334, "Wrong VK_HEADER_VERSION!" );
// <tuple> includes <sys/sysmacros.h> through some other header
// this results in major(x) being resolved to gnu_dev_major(x)
@ -663,13 +662,13 @@ namespace VULKAN_HPP_NAMESPACE
public:
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>();
}
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 ),
&std::get<0>( rhs ),
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... )
{
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>();
}
@ -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
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>() ) );
}
@ -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
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>() );
VULKAN_HPP_ASSERT( !isLinked( pNext ) );
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
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>() ) );
}
@ -1024,6 +1023,12 @@ namespace VULKAN_HPP_NAMESPACE
#endif
};
template <typename Type>
struct isDispatchLoader
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false;
};
#if !defined( VK_NO_PROTOTYPES ) || ( defined( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC ) && ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 0 ) )
class DispatchLoaderStatic : public DispatchLoaderBase
{
@ -6593,6 +6598,13 @@ namespace VULKAN_HPP_NAMESPACE
return ::vkCmdEndRendering2EXT( commandBuffer, pRenderingEndInfo );
}
//=== VK_EXT_custom_resolve ===
void vkCmdBeginCustomResolveEXT( VkCommandBuffer commandBuffer, const VkBeginCustomResolveInfoEXT * pBeginCustomResolveInfo ) const VULKAN_HPP_NOEXCEPT
{
return ::vkCmdBeginCustomResolveEXT( commandBuffer, pBeginCustomResolveInfo );
}
//=== VK_KHR_maintenance10 ===
void vkCmdEndRendering2KHR( VkCommandBuffer commandBuffer, const VkRenderingEndInfoKHR * pRenderingEndInfo ) const VULKAN_HPP_NOEXCEPT
@ -6601,6 +6613,12 @@ namespace VULKAN_HPP_NAMESPACE
}
};
template <>
struct isDispatchLoader<DispatchLoaderStatic>
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
};
inline DispatchLoaderStatic & getDispatchLoaderStatic()
{
static DispatchLoaderStatic dls;
@ -6633,7 +6651,7 @@ namespace VULKAN_HPP_NAMESPACE
ObjectDestroy() = default;
ObjectDestroy( OwnerType owner,
Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_owner( owner )
, m_allocationCallbacks( allocationCallbacks )
@ -6715,7 +6733,7 @@ namespace VULKAN_HPP_NAMESPACE
ObjectFree() = default;
ObjectFree( OwnerType owner,
Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
: m_owner( owner )
, m_allocationCallbacks( allocationCallbacks )
@ -7344,25 +7362,25 @@ namespace VULKAN_HPP_NAMESPACE
T const * operator->() const VULKAN_HPP_NOEXCEPT
{
assert( has_value() );
VULKAN_HPP_ASSERT( has_value() );
return &value;
}
T * operator->() VULKAN_HPP_NOEXCEPT
{
assert( has_value() );
VULKAN_HPP_ASSERT( has_value() );
return &value;
}
T const & operator*() const VULKAN_HPP_NOEXCEPT
{
assert( has_value() );
VULKAN_HPP_ASSERT( has_value() );
return value;
}
T & operator*() VULKAN_HPP_NOEXCEPT
{
assert( has_value() );
VULKAN_HPP_ASSERT( has_value() );
return value;
}
};
@ -9445,6 +9463,10 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFmaExtensionName = VK_KHR_SHADER_FMA_EXTENSION_NAME;
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFmaSpecVersion = VK_KHR_SHADER_FMA_SPEC_VERSION;
//=== VK_EXT_ray_tracing_invocation_reorder ===
VULKAN_HPP_CONSTEXPR_INLINE auto EXTRayTracingInvocationReorderExtensionName = VK_EXT_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME;
VULKAN_HPP_CONSTEXPR_INLINE auto EXTRayTracingInvocationReorderSpecVersion = VK_EXT_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION;
//=== VK_EXT_depth_clamp_control ===
VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampControlExtensionName = VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME;
VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampControlSpecVersion = VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION;
@ -9533,6 +9555,10 @@ namespace VULKAN_HPP_NAMESPACE
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;
//=== VK_EXT_custom_resolve ===
VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomResolveExtensionName = VK_EXT_CUSTOM_RESOLVE_EXTENSION_NAME;
VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomResolveSpecVersion = VK_EXT_CUSTOM_RESOLVE_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;
@ -19171,6 +19197,34 @@ namespace VULKAN_HPP_NAMESPACE
};
};
//=== VK_EXT_ray_tracing_invocation_reorder ===
template <>
struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, PhysicalDeviceProperties2>
{
enum
{
value = true
};
};
template <>
struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, PhysicalDeviceFeatures2>
{
enum
{
value = true
};
};
template <>
struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, DeviceCreateInfo>
{
enum
{
value = true
};
};
//=== VK_EXT_depth_clamp_control ===
template <>
struct StructExtends<PhysicalDeviceDepthClampControlFeaturesEXT, PhysicalDeviceFeatures2>
@ -19709,6 +19763,52 @@ namespace VULKAN_HPP_NAMESPACE
};
};
//=== VK_EXT_custom_resolve ===
template <>
struct StructExtends<PhysicalDeviceCustomResolveFeaturesEXT, PhysicalDeviceFeatures2>
{
enum
{
value = true
};
};
template <>
struct StructExtends<PhysicalDeviceCustomResolveFeaturesEXT, DeviceCreateInfo>
{
enum
{
value = true
};
};
template <>
struct StructExtends<CustomResolveCreateInfoEXT, GraphicsPipelineCreateInfo>
{
enum
{
value = true
};
};
template <>
struct StructExtends<CustomResolveCreateInfoEXT, CommandBufferInheritanceInfo>
{
enum
{
value = true
};
};
template <>
struct StructExtends<CustomResolveCreateInfoEXT, ShaderCreateInfoEXT>
{
enum
{
value = true
};
};
//=== VK_QCOM_data_graph_model ===
template <>
struct StructExtends<DataGraphPipelineBuiltinModelCreateInfoQCOM, DataGraphPipelineCreateInfoARM>
@ -19928,9 +20028,9 @@ namespace VULKAN_HPP_NAMESPACE
T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
{
# 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 )
return ( T )::GetProcAddress( m_library, function );
return (T)(void *)::GetProcAddress( m_library, function );
# else
# error unsupported platform
# endif
@ -21238,6 +21338,9 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_fragment_density_map_offset ===
PFN_vkCmdEndRendering2EXT vkCmdEndRendering2EXT = 0;
//=== VK_EXT_custom_resolve ===
PFN_vkCmdBeginCustomResolveEXT vkCmdBeginCustomResolveEXT = 0;
//=== VK_KHR_maintenance10 ===
PFN_vkCmdEndRendering2KHR vkCmdEndRendering2KHR = 0;
@ -22880,6 +22983,9 @@ namespace VULKAN_HPP_NAMESPACE
if ( !vkCmdEndRendering2KHR )
vkCmdEndRendering2KHR = vkCmdEndRendering2EXT;
//=== VK_EXT_custom_resolve ===
vkCmdBeginCustomResolveEXT = PFN_vkCmdBeginCustomResolveEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginCustomResolveEXT" ) );
//=== VK_KHR_maintenance10 ===
vkCmdEndRendering2KHR = PFN_vkCmdEndRendering2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRendering2KHR" ) );
}
@ -24129,6 +24235,9 @@ namespace VULKAN_HPP_NAMESPACE
if ( !vkCmdEndRendering2KHR )
vkCmdEndRendering2KHR = vkCmdEndRendering2EXT;
//=== VK_EXT_custom_resolve ===
vkCmdBeginCustomResolveEXT = PFN_vkCmdBeginCustomResolveEXT( vkGetDeviceProcAddr( device, "vkCmdBeginCustomResolveEXT" ) );
//=== VK_KHR_maintenance10 ===
vkCmdEndRendering2KHR = PFN_vkCmdEndRendering2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRendering2KHR" ) );
}
@ -24152,6 +24261,13 @@ namespace VULKAN_HPP_NAMESPACE
init( instance, device, dl );
}
};
template <>
struct isDispatchLoader<DispatchLoaderDynamic>
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
};
} // namespace detail
} // namespace VULKAN_HPP_NAMESPACE
#endif

View File

@ -1677,6 +1677,8 @@ namespace VULKAN_HPP_NAMESPACE
ePhysicalDeviceImageAlignmentControlPropertiesMESA = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
eImageAlignmentControlCreateInfoMESA = VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
ePhysicalDeviceShaderFmaFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR,
ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT,
ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT,
ePhysicalDeviceDepthClampControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
ePipelineViewportDepthClampControlCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
ePhysicalDeviceMaintenance9FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
@ -1733,6 +1735,9 @@ namespace VULKAN_HPP_NAMESPACE
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,
ePhysicalDeviceShader64BitIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
ePhysicalDeviceCustomResolveFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT,
eBeginCustomResolveInfoEXT = VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT,
eCustomResolveCreateInfoEXT = VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_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,
@ -4174,8 +4179,6 @@ namespace VULKAN_HPP_NAMESPACE
{
ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,
ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX,
eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM,
eTileShadingApronQCOM = VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM,
eRasterizationOrderAttachmentColorAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
eRasterizationOrderAttachmentColorAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM,
@ -4183,7 +4186,11 @@ namespace VULKAN_HPP_NAMESPACE
eRasterizationOrderAttachmentDepthAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
eRasterizationOrderAttachmentStencilAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
eRasterizationOrderAttachmentStencilAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
eEnableLegacyDitheringEXT = VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT
eEnableLegacyDitheringEXT = VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT,
eFragmentRegionEXT = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT,
eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
eCustomResolveEXT = VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT,
eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
};
// wrapper using for bitmask VkSubpassDescriptionFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassDescriptionFlags.html
@ -4196,9 +4203,9 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
static VULKAN_HPP_CONST_OR_CONSTEXPR SubpassDescriptionFlags allFlags =
SubpassDescriptionFlagBits::ePerViewAttributesNVX | SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX |
SubpassDescriptionFlagBits::eFragmentRegionQCOM | SubpassDescriptionFlagBits::eShaderResolveQCOM | SubpassDescriptionFlagBits::eTileShadingApronQCOM |
SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT |
SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT | SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT;
SubpassDescriptionFlagBits::eTileShadingApronQCOM | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT |
SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT |
SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT | SubpassDescriptionFlagBits::eFragmentRegionEXT | SubpassDescriptionFlagBits::eCustomResolveEXT;
};
// wrapper class for enum VkStencilFaceFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilFaceFlagBits.html
@ -4765,8 +4772,9 @@ namespace VULKAN_HPP_NAMESPACE
eMin = VK_RESOLVE_MODE_MIN_BIT,
eMax = VK_RESOLVE_MODE_MAX_BIT,
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
eExternalFormatDownsampleANDROID = VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID
eExternalFormatDownsampleANDROID = VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID,
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
eCustomEXT = VK_RESOLVE_MODE_CUSTOM_BIT_EXT
};
using ResolveModeFlagBitsKHR = ResolveModeFlagBits;
@ -4785,7 +4793,7 @@ namespace VULKAN_HPP_NAMESPACE
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
| ResolveModeFlagBits::eExternalFormatDownsampleANDROID
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
;
| ResolveModeFlagBits::eCustomEXT;
};
//=== VK_VERSION_1_3 ===
@ -5165,6 +5173,8 @@ namespace VULKAN_HPP_NAMESPACE
eContentsInlineKHR = VK_RENDERING_CONTENTS_INLINE_BIT_KHR,
eContentsInlineEXT = VK_RENDERING_CONTENTS_INLINE_BIT_EXT,
ePerLayerFragmentDensityVALVE = VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE,
eFragmentRegionEXT = VK_RENDERING_FRAGMENT_REGION_BIT_EXT,
eCustomResolveEXT = VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT,
eLocalReadConcurrentAccessControlKHR = VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR
};
@ -5179,10 +5189,10 @@ namespace VULKAN_HPP_NAMESPACE
{
using WrappedType = VkRenderingFlagBits;
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingFlags allFlags = RenderingFlagBits::eContentsSecondaryCommandBuffers | RenderingFlagBits::eSuspending |
RenderingFlagBits::eResuming | RenderingFlagBits::eEnableLegacyDitheringEXT |
RenderingFlagBits::eContentsInlineKHR | RenderingFlagBits::ePerLayerFragmentDensityVALVE |
RenderingFlagBits::eLocalReadConcurrentAccessControlKHR;
static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingFlags allFlags =
RenderingFlagBits::eContentsSecondaryCommandBuffers | RenderingFlagBits::eSuspending | RenderingFlagBits::eResuming |
RenderingFlagBits::eEnableLegacyDitheringEXT | RenderingFlagBits::eContentsInlineKHR | RenderingFlagBits::ePerLayerFragmentDensityVALVE |
RenderingFlagBits::eFragmentRegionEXT | RenderingFlagBits::eCustomResolveEXT | RenderingFlagBits::eLocalReadConcurrentAccessControlKHR;
};
//=== VK_VERSION_1_4 ===
@ -8577,16 +8587,6 @@ namespace VULKAN_HPP_NAMESPACE
PresentGravityFlagBitsKHR::eMin | PresentGravityFlagBitsKHR::eMax | PresentGravityFlagBitsKHR::eCentered;
};
//=== VK_NV_ray_tracing_invocation_reorder ===
// wrapper class for enum VkRayTracingInvocationReorderModeNV, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingInvocationReorderModeNV.html
enum class RayTracingInvocationReorderModeNV
{
eNone = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV,
eReorder = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV
};
//=== VK_NV_cooperative_vector ===
// wrapper class for enum VkCooperativeVectorMatrixLayoutNV, see
@ -9336,6 +9336,18 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags3KHR allFlags = AccessFlagBits3KHR::eNone;
};
//=== VK_EXT_ray_tracing_invocation_reorder ===
// wrapper class for enum VkRayTracingInvocationReorderModeEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingInvocationReorderModeEXT.html
enum class RayTracingInvocationReorderModeEXT
{
eNone = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT,
eReorder = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT
};
using RayTracingInvocationReorderModeNV = RayTracingInvocationReorderModeEXT;
//=== VK_EXT_depth_clamp_control ===
// wrapper class for enum VkDepthClampModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthClampModeEXT.html

View File

@ -483,6 +483,7 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_maintenance8",
"VK_MESA_image_alignment_control",
"VK_KHR_shader_fma",
"VK_EXT_ray_tracing_invocation_reorder",
"VK_EXT_depth_clamp_control",
"VK_KHR_maintenance9",
"VK_KHR_video_maintenance2",
@ -508,6 +509,7 @@ namespace VULKAN_HPP_NAMESPACE
"VK_EXT_zero_initialize_device_memory",
"VK_KHR_present_mode_fifo_latest_ready",
"VK_EXT_shader_64bit_indexing",
"VK_EXT_custom_resolve",
"VK_QCOM_data_graph_model",
"VK_KHR_maintenance10",
"VK_SEC_pipeline_cache_incremental_mode",
@ -2837,6 +2839,11 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_ray_tracing_invocation_reorder",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_ray_tracing_pipeline",
} } } } },
{ "VK_EXT_depth_clamp_control",
{ { "VK_VERSION_1_0",
{ {
@ -2985,6 +2992,12 @@ namespace VULKAN_HPP_NAMESPACE
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_EXT_custom_resolve",
{ { "VK_VERSION_1_0",
{ {
"VK_KHR_get_physical_device_properties2",
} } },
{ "VK_VERSION_1_1", { {} } } } },
{ "VK_QCOM_data_graph_model",
{ { "VK_VERSION_1_0",
{ {
@ -3018,7 +3031,7 @@ namespace VULKAN_HPP_NAMESPACE
{
#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" };
assert( versions.find( version ) != versions.end() );
VULKAN_HPP_ASSERT( versions.find( version ) != versions.end() );
#endif
static std::vector<std::vector<std::string>> noDependencies;
@ -3092,6 +3105,7 @@ namespace VULKAN_HPP_NAMESPACE
{ "VK_EXT_shader_viewport_index_layer", "VK_VERSION_1_2" },
{ "VK_KHR_maintenance3", "VK_VERSION_1_1" },
{ "VK_KHR_draw_indirect_count", "VK_VERSION_1_2" },
{ "VK_QCOM_render_pass_shader_resolve", "VK_EXT_custom_resolve" },
{ "VK_EXT_global_priority", "VK_KHR_global_priority" },
{ "VK_KHR_shader_subgroup_extended_types", "VK_VERSION_1_2" },
{ "VK_KHR_8bit_storage", "VK_VERSION_1_2" },
@ -3154,6 +3168,7 @@ namespace VULKAN_HPP_NAMESPACE
{ "VK_NV_memory_decompression", "VK_EXT_memory_decompression" },
{ "VK_EXT_pipeline_protected_access", "VK_VERSION_1_4" },
{ "VK_KHR_maintenance5", "VK_VERSION_1_4" },
{ "VK_NV_ray_tracing_invocation_reorder", "VK_EXT_ray_tracing_invocation_reorder" },
{ "VK_KHR_vertex_attribute_divisor", "VK_VERSION_1_4" },
{ "VK_KHR_load_store_op_none", "VK_VERSION_1_4" },
{ "VK_KHR_shader_float_controls2", "VK_VERSION_1_4" },
@ -3424,6 +3439,10 @@ namespace VULKAN_HPP_NAMESPACE
{
return "VK_VERSION_1_2";
}
if ( extension == "VK_QCOM_render_pass_shader_resolve" )
{
return "VK_EXT_custom_resolve";
}
if ( extension == "VK_EXT_global_priority" )
{
return "VK_KHR_global_priority";
@ -3668,6 +3687,10 @@ namespace VULKAN_HPP_NAMESPACE
{
return "VK_VERSION_1_4";
}
if ( extension == "VK_NV_ray_tracing_invocation_reorder" )
{
return "VK_EXT_ray_tracing_invocation_reorder";
}
if ( extension == "VK_KHR_vertex_attribute_divisor" )
{
return "VK_VERSION_1_4";
@ -3937,7 +3960,8 @@ namespace VULKAN_HPP_NAMESPACE
( extension == "VK_NV_ray_tracing_validation" ) || ( extension == "VK_NV_cluster_acceleration_structure" ) ||
( extension == "VK_NV_partitioned_acceleration_structure" ) || ( extension == "VK_EXT_device_generated_commands" ) ||
( extension == "VK_KHR_maintenance8" ) || ( extension == "VK_MESA_image_alignment_control" ) || ( extension == "VK_KHR_shader_fma" ) ||
( extension == "VK_EXT_depth_clamp_control" ) || ( extension == "VK_KHR_maintenance9" ) || ( extension == "VK_KHR_video_maintenance2" )
( extension == "VK_EXT_ray_tracing_invocation_reorder" ) || ( extension == "VK_EXT_depth_clamp_control" ) ||
( extension == "VK_KHR_maintenance9" ) || ( extension == "VK_KHR_video_maintenance2" )
#if defined( VK_USE_PLATFORM_OHOS )
|| ( extension == "VK_OHOS_native_buffer" )
#endif /*VK_USE_PLATFORM_OHOS*/
@ -3953,7 +3977,7 @@ namespace VULKAN_HPP_NAMESPACE
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
|| ( 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_QCOM_data_graph_model" ) || ( extension == "VK_KHR_maintenance10" ) ||
( extension == "VK_EXT_custom_resolve" ) || ( extension == "VK_QCOM_data_graph_model" ) || ( extension == "VK_KHR_maintenance10" ) ||
( extension == "VK_SEC_pipeline_cache_incremental_mode" ) || ( extension == "VK_EXT_shader_uniform_buffer_unsized_array" );
}
@ -4048,7 +4072,8 @@ namespace VULKAN_HPP_NAMESPACE
( extension == "VK_KHR_get_memory_requirements2" ) || ( extension == "VK_KHR_image_format_list" ) ||
( extension == "VK_KHR_sampler_ycbcr_conversion" ) || ( extension == "VK_KHR_bind_memory2" ) || ( extension == "VK_EXT_descriptor_indexing" ) ||
( extension == "VK_EXT_shader_viewport_index_layer" ) || ( extension == "VK_KHR_maintenance3" ) || ( extension == "VK_KHR_draw_indirect_count" ) ||
( extension == "VK_EXT_global_priority" ) || ( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) ||
( extension == "VK_QCOM_render_pass_shader_resolve" ) || ( extension == "VK_EXT_global_priority" ) ||
( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) ||
( extension == "VK_KHR_shader_atomic_int64" ) || ( extension == "VK_EXT_calibrated_timestamps" ) || ( extension == "VK_KHR_global_priority" ) ||
( extension == "VK_EXT_vertex_attribute_divisor" ) || ( extension == "VK_EXT_pipeline_creation_feedback" ) ||
( extension == "VK_KHR_driver_properties" ) || ( extension == "VK_KHR_shader_float_controls" ) || ( extension == "VK_KHR_depth_stencil_resolve" ) ||
@ -4073,9 +4098,10 @@ namespace VULKAN_HPP_NAMESPACE
( extension == "VK_EXT_depth_clamp_zero_one" ) || ( extension == "VK_QCOM_fragment_density_map_offset" ) ||
( extension == "VK_NV_copy_memory_indirect" ) || ( extension == "VK_NV_memory_decompression" ) ||
( extension == "VK_EXT_pipeline_protected_access" ) || ( extension == "VK_KHR_maintenance5" ) ||
( extension == "VK_KHR_vertex_attribute_divisor" ) || ( extension == "VK_KHR_load_store_op_none" ) ||
( extension == "VK_KHR_shader_float_controls2" ) || ( extension == "VK_KHR_index_type_uint8" ) || ( extension == "VK_KHR_line_rasterization" ) ||
( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) || ( extension == "VK_EXT_vertex_attribute_robustness" );
( extension == "VK_NV_ray_tracing_invocation_reorder" ) || ( extension == "VK_KHR_vertex_attribute_divisor" ) ||
( extension == "VK_KHR_load_store_op_none" ) || ( extension == "VK_KHR_shader_float_controls2" ) || ( extension == "VK_KHR_index_type_uint8" ) ||
( extension == "VK_KHR_line_rasterization" ) || ( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) ||
( extension == "VK_EXT_vertex_attribute_robustness" );
}
} // namespace VULKAN_HPP_NAMESPACE

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1385,6 +1385,18 @@ namespace std
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT const & beginCustomResolveInfoEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, beginCustomResolveInfoEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, beginCustomResolveInfoEXT.pNext );
return seed;
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV>
{
@ -3424,6 +3436,23 @@ namespace std
};
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
template <>
struct hash<VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT const & customResolveCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.pNext );
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.customResolve );
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.colorAttachmentCount );
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.pColorAttachmentFormats );
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.depthAttachmentFormat );
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.stencilAttachmentFormat );
return seed;
}
};
# if defined( VK_USE_PLATFORM_WIN32_KHR )
template <>
struct hash<VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR>
@ -9685,6 +9714,20 @@ namespace std
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT>
{
std::size_t
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT const & physicalDeviceCustomResolveFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomResolveFeaturesEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomResolveFeaturesEXT.pNext );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomResolveFeaturesEXT.customResolve );
return seed;
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphFeaturesARM>
{
@ -13073,6 +13116,20 @@ namespace std
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const &
physicalDeviceRayTracingInvocationReorderFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesEXT.pNext );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesEXT.rayTracingInvocationReorder );
return seed;
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV>
{
@ -13088,6 +13145,21 @@ namespace std
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const &
physicalDeviceRayTracingInvocationReorderPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesEXT.sType );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesEXT.pNext );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesEXT.rayTracingInvocationReorderReorderingHint );
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesEXT.maxShaderBindingTableRecordIndex );
return seed;
}
};
template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesNV>
{

View File

@ -315,10 +315,11 @@ namespace VULKAN_HPP_NAMESPACE
#endif
#if defined( VULKAN_HPP_NO_DEFAULT_DISPATCHER )
# define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT
# define VULKAN_HPP_DEFAULT_ASSIGNMENT( assignment )
#else
# define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT = VULKAN_HPP_DEFAULT_DISPATCHER
# define VULKAN_HPP_DEFAULT_ASSIGNMENT( assignment ) = assignment
#endif
#define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT VULKAN_HPP_DEFAULT_ASSIGNMENT( VULKAN_HPP_DEFAULT_DISPATCHER )
#if !defined( VULKAN_HPP_RAII_NAMESPACE )
# define VULKAN_HPP_RAII_NAMESPACE raii

View File

@ -1948,6 +1948,9 @@ namespace VULKAN_HPP_NAMESPACE
if ( !vkCmdEndRendering2KHR )
vkCmdEndRendering2KHR = vkCmdEndRendering2EXT;
//=== VK_EXT_custom_resolve ===
vkCmdBeginCustomResolveEXT = PFN_vkCmdBeginCustomResolveEXT( vkGetDeviceProcAddr( device, "vkCmdBeginCustomResolveEXT" ) );
//=== VK_KHR_maintenance10 ===
vkCmdEndRendering2KHR = PFN_vkCmdEndRendering2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRendering2KHR" ) );
}
@ -2971,6 +2974,9 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_fragment_density_map_offset ===
PFN_vkCmdEndRendering2EXT vkCmdEndRendering2EXT = 0;
//=== VK_EXT_custom_resolve ===
PFN_vkCmdBeginCustomResolveEXT vkCmdBeginCustomResolveEXT = 0;
//=== VK_KHR_maintenance10 ===
PFN_vkCmdEndRendering2KHR vkCmdEndRendering2KHR = 0;
};
@ -3174,7 +3180,7 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkEnumerateInstanceExtensionProperties, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<ExtensionProperties>>::type
enumerateInstanceExtensionProperties( Optional<const std::string> layerName = nullptr ) const;
enumerateInstanceExtensionProperties( Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkEnumerateInstanceLayerProperties, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html
@ -3599,8 +3605,8 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html
VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties>::type
getImageFormatProperties( Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags = {} ) const;
VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties>::type getImageFormatProperties(
Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
// wrapper function for command vkGetPhysicalDeviceProperties, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html
@ -3622,7 +3628,7 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkEnumerateDeviceExtensionProperties, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<ExtensionProperties>>::type
enumerateDeviceExtensionProperties( Optional<const std::string> layerName = nullptr ) const;
enumerateDeviceExtensionProperties( Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkEnumerateDeviceLayerProperties, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html
@ -3736,12 +3742,12 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<SurfaceFormatKHR>>::type
getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface = {} ) const;
getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
// wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<PresentModeKHR>>::type
getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface = {} ) const;
getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
//=== VK_KHR_swapchain ===
@ -3833,8 +3839,8 @@ namespace VULKAN_HPP_NAMESPACE
ImageType type,
ImageTiling tiling,
ImageUsageFlags usage,
ImageCreateFlags flags = {},
ExternalMemoryHandleTypeFlagsNV externalHandleType = {} ) const;
ImageCreateFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ),
ExternalMemoryHandleTypeFlagsNV externalHandleType VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
//=== VK_KHR_get_physical_device_properties2 ===
@ -4730,8 +4736,9 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html
void destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate = {},
Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT;
void
destroyDescriptorUpdateTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ),
Optional<const AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_EXT_display_control ===
@ -4937,7 +4944,7 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NODISCARD AccelerationStructureBuildSizesInfoKHR
getAccelerationStructureBuildSizesKHR( AccelerationStructureBuildTypeKHR buildType,
const AccelerationStructureBuildGeometryInfoKHR & buildInfo,
ArrayProxy<const uint32_t> const & maxPrimitiveCounts = nullptr ) const;
ArrayProxy<const uint32_t> const & maxPrimitiveCounts VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
//=== VK_KHR_ray_tracing_pipeline ===
@ -4967,8 +4974,8 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkDestroySamplerYcbcrConversionKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html
void destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion = {},
Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT;
void destroySamplerYcbcrConversionKHR( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ),
Optional<const AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_KHR_bind_memory2 ===
@ -5190,8 +5197,8 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkDestroyPrivateDataSlotEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html
void destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot = {},
Optional<const AllocationCallbacks> allocator = nullptr ) const VULKAN_HPP_NOEXCEPT;
void destroyPrivateDataSlotEXT( VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ),
Optional<const AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html
typename ResultValueType<void>::type
@ -5276,11 +5283,10 @@ namespace VULKAN_HPP_NAMESPACE
getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const;
//=== VK_EXT_device_fault ===
// 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,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
VULKAN_HPP_NODISCARD Result getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts, DeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT;
# if defined( VK_USE_PLATFORM_FUCHSIA )
//=== VK_FUCHSIA_external_memory ===
@ -5547,7 +5553,7 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html
VULKAN_HPP_NODISCARD typename ResultValueType<PipelineBinaryKeyKHR>::type
getPipelineKeyKHR( Optional<const PipelineCreateInfoKHR> pipelineCreateInfo = nullptr ) const;
getPipelineKeyKHR( Optional<const PipelineCreateInfoKHR> pipelineCreateInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html
VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<PipelineBinaryKeyKHR, std::vector<uint8_t>>>::type
@ -5555,8 +5561,9 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkReleaseCapturedPipelineDataKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html
typename ResultValueType<void>::type releaseCapturedPipelineDataKHR( const ReleaseCapturedPipelineDataInfoKHR & info,
Optional<const AllocationCallbacks> allocator = nullptr ) const;
typename ResultValueType<void>::type
releaseCapturedPipelineDataKHR( const ReleaseCapturedPipelineDataInfoKHR & info,
Optional<const AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
//=== VK_QCOM_tile_properties ===
@ -6548,17 +6555,17 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_VERSION_1_0 ===
// wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html
typename ResultValueType<void>::type reset( CommandPoolResetFlags flags = {} ) const;
typename ResultValueType<void>::type reset( CommandPoolResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
//=== VK_VERSION_1_1 ===
// wrapper function for command vkTrimCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPool.html
void trim( CommandPoolTrimFlags flags = {} ) const VULKAN_HPP_NOEXCEPT;
void trim( CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_KHR_maintenance1 ===
// wrapper function for command vkTrimCommandPoolKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPoolKHR.html
void trimKHR( CommandPoolTrimFlags flags = {} ) const VULKAN_HPP_NOEXCEPT;
void trimKHR( CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
private:
VULKAN_HPP_NAMESPACE::Device m_device = {};
@ -6685,7 +6692,7 @@ namespace VULKAN_HPP_NAMESPACE
typename ResultValueType<void>::type end() const;
// wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html
typename ResultValueType<void>::type reset( CommandBufferResetFlags flags = {} ) const;
typename ResultValueType<void>::type reset( CommandBufferResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
// wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html
void copyBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
@ -6727,7 +6734,9 @@ namespace VULKAN_HPP_NAMESPACE
ArrayProxy<const ImageMemoryBarrier> const & imageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdBeginQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQuery.html
void beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, QueryControlFlags flags = {} ) const VULKAN_HPP_NOEXCEPT;
void beginQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool,
uint32_t query,
QueryControlFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdEndQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQuery.html
void endQuery( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT;
@ -6745,7 +6754,7 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
DeviceSize dstOffset,
DeviceSize stride,
QueryResultFlags flags = {} ) const VULKAN_HPP_NOEXCEPT;
QueryResultFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html
void executeCommands( ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const & commandBuffers ) const VULKAN_HPP_NOEXCEPT;
@ -6773,10 +6782,10 @@ namespace VULKAN_HPP_NAMESPACE
void dispatchIndirect( VULKAN_HPP_NAMESPACE::Buffer buffer, DeviceSize offset ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent.html
void setEvent( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags stageMask = {} ) const VULKAN_HPP_NOEXCEPT;
void setEvent( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags stageMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent.html
void resetEvent( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags stageMask = {} ) const VULKAN_HPP_NOEXCEPT;
void resetEvent( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags stageMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html
void waitEvents( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events,
@ -6936,7 +6945,7 @@ namespace VULKAN_HPP_NAMESPACE
void setEvent2( VULKAN_HPP_NAMESPACE::Event event, const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdResetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2.html
void resetEvent2( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags2 stageMask = {} ) const VULKAN_HPP_NOEXCEPT;
void resetEvent2( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags2 stageMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html
void waitEvents2( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, ArrayProxy<const DependencyInfo> const & dependencyInfos ) const;
@ -6954,7 +6963,7 @@ namespace VULKAN_HPP_NAMESPACE
void endRendering() const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdSetCullMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullMode.html
void setCullMode( CullModeFlags cullMode = {} ) const VULKAN_HPP_NOEXCEPT;
void setCullMode( CullModeFlags cullMode VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdSetFrontFace, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFace.html
void setFrontFace( FrontFace frontFace ) const VULKAN_HPP_NOEXCEPT;
@ -6972,8 +6981,8 @@ namespace VULKAN_HPP_NAMESPACE
void bindVertexBuffers2( uint32_t firstBinding,
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,
ArrayProxy<const DeviceSize> const & offsets,
ArrayProxy<const DeviceSize> const & sizes = nullptr,
ArrayProxy<const DeviceSize> const & strides = nullptr ) const;
ArrayProxy<const DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
ArrayProxy<const DeviceSize> const & strides VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkCmdSetDepthTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnable.html
void setDepthTestEnable( Bool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT;
@ -7082,19 +7091,19 @@ namespace VULKAN_HPP_NAMESPACE
void bindTransformFeedbackBuffersEXT( uint32_t firstBinding,
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,
ArrayProxy<const DeviceSize> const & offsets,
ArrayProxy<const DeviceSize> const & sizes = nullptr ) const;
ArrayProxy<const DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkCmdBeginTransformFeedbackEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html
void beginTransformFeedbackEXT( uint32_t firstCounterBuffer,
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers,
ArrayProxy<const DeviceSize> const & counterBufferOffsets = nullptr ) const;
ArrayProxy<const DeviceSize> const & counterBufferOffsets VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkCmdEndTransformFeedbackEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html
void endTransformFeedbackEXT( uint32_t firstCounterBuffer,
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & counterBuffers,
ArrayProxy<const DeviceSize> const & counterBufferOffsets = nullptr ) const;
ArrayProxy<const DeviceSize> const & counterBufferOffsets VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkCmdBeginQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQueryIndexedEXT.html
void beginQueryIndexedEXT( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, QueryControlFlags flags, uint32_t index ) const VULKAN_HPP_NOEXCEPT;
@ -7464,7 +7473,7 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_extended_dynamic_state ===
// wrapper function for command vkCmdSetCullModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullModeEXT.html
void setCullModeEXT( CullModeFlags cullMode = {} ) const VULKAN_HPP_NOEXCEPT;
void setCullModeEXT( CullModeFlags cullMode VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdSetFrontFaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFaceEXT.html
void setFrontFaceEXT( FrontFace frontFace ) const VULKAN_HPP_NOEXCEPT;
@ -7485,8 +7494,8 @@ namespace VULKAN_HPP_NAMESPACE
void bindVertexBuffers2EXT( uint32_t firstBinding,
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const & buffers,
ArrayProxy<const DeviceSize> const & offsets,
ArrayProxy<const DeviceSize> const & sizes = nullptr,
ArrayProxy<const DeviceSize> const & strides = nullptr ) const;
ArrayProxy<const DeviceSize> const & sizes VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
ArrayProxy<const DeviceSize> const & strides VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkCmdSetDepthTestEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnableEXT.html
void setDepthTestEnableEXT( Bool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT;
@ -7562,7 +7571,7 @@ namespace VULKAN_HPP_NAMESPACE
void setEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, const DependencyInfo & dependencyInfo ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdResetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2KHR.html
void resetEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags2 stageMask = {} ) const VULKAN_HPP_NOEXCEPT;
void resetEvent2KHR( VULKAN_HPP_NAMESPACE::Event event, PipelineStageFlags2 stageMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html
void waitEvents2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const & events, ArrayProxy<const DependencyInfo> const & dependencyInfos ) const;
@ -7695,7 +7704,7 @@ namespace VULKAN_HPP_NAMESPACE
void drawMultiIndexedEXT( StridedArrayProxy<const MultiDrawIndexedInfoEXT> const & indexInfo,
uint32_t instanceCount,
uint32_t firstInstance,
Optional<const int32_t> vertexOffset = nullptr ) const VULKAN_HPP_NOEXCEPT;
Optional<const int32_t> vertexOffset VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_EXT_opacity_micromap ===
@ -7773,7 +7782,7 @@ namespace VULKAN_HPP_NAMESPACE
void setRasterizationSamplesEXT( SampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html
void setSampleMaskEXT( SampleCountFlagBits samples, ArrayProxy<const SampleMask> const & sampleMask = nullptr ) const;
void setSampleMaskEXT( SampleCountFlagBits samples, ArrayProxy<const SampleMask> const & sampleMask VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const;
// wrapper function for command vkCmdSetAlphaToCoverageEnableEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToCoverageEnableEXT.html
@ -7900,7 +7909,8 @@ namespace VULKAN_HPP_NAMESPACE
void bindShadersEXT( ArrayProxy<const ShaderStageFlagBits> const & stages, ArrayProxy<const VULKAN_HPP_NAMESPACE::ShaderEXT> const & shaders ) const;
// wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html
void setDepthClampRangeEXT( DepthClampModeEXT depthClampMode, Optional<const DepthClampRangeEXT> depthClampRange = nullptr ) const VULKAN_HPP_NOEXCEPT;
void setDepthClampRangeEXT( DepthClampModeEXT depthClampMode,
Optional<const DepthClampRangeEXT> depthClampRange VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_NV_cooperative_vector ===
@ -7912,13 +7922,13 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkCmdDispatchDataGraphARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchDataGraphARM.html
void dispatchDataGraphARM( VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM session,
Optional<const DataGraphPipelineDispatchInfoARM> info = nullptr ) const VULKAN_HPP_NOEXCEPT;
Optional<const DataGraphPipelineDispatchInfoARM> info VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_EXT_attachment_feedback_loop_dynamic_state ===
// wrapper function for command vkCmdSetAttachmentFeedbackLoopEnableEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAttachmentFeedbackLoopEnableEXT.html
void setAttachmentFeedbackLoopEnableEXT( ImageAspectFlags aspectMask = {} ) const VULKAN_HPP_NOEXCEPT;
void setAttachmentFeedbackLoopEnableEXT( ImageAspectFlags aspectMask VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_KHR_line_rasterization ===
@ -7953,7 +7963,7 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_QCOM_tile_memory_heap ===
// wrapper function for command vkCmdBindTileMemoryQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTileMemoryQCOM.html
void bindTileMemoryQCOM( Optional<const TileMemoryBindInfoQCOM> tileMemoryBindInfo = nullptr ) const VULKAN_HPP_NOEXCEPT;
void bindTileMemoryQCOM( Optional<const TileMemoryBindInfoQCOM> tileMemoryBindInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_KHR_copy_memory_indirect ===
@ -8003,12 +8013,18 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_fragment_density_map_offset ===
// wrapper function for command vkCmdEndRendering2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2EXT.html
void endRendering2EXT( Optional<const RenderingEndInfoKHR> renderingEndInfo = nullptr ) const VULKAN_HPP_NOEXCEPT;
void endRendering2EXT( Optional<const RenderingEndInfoKHR> renderingEndInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
//=== VK_EXT_custom_resolve ===
// wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html
void beginCustomResolveEXT( Optional<const BeginCustomResolveInfoEXT> beginCustomResolveInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const
VULKAN_HPP_NOEXCEPT;
//=== VK_KHR_maintenance10 ===
// wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html
void endRendering2KHR( Optional<const RenderingEndInfoKHR> renderingEndInfo = nullptr ) const VULKAN_HPP_NOEXCEPT;
void endRendering2KHR( Optional<const RenderingEndInfoKHR> renderingEndInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
private:
VULKAN_HPP_NAMESPACE::Device m_device = {};
@ -9209,7 +9225,7 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_VERSION_1_0 ===
// wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html
typename ResultValueType<void>::type reset( DescriptorPoolResetFlags flags = {} ) const;
typename ResultValueType<void>::type reset( DescriptorPoolResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
private:
VULKAN_HPP_NAMESPACE::Device m_device = {};
@ -9771,7 +9787,8 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_VERSION_1_0 ===
// wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html
VULKAN_HPP_NODISCARD typename ResultValueType<void *>::type mapMemory( DeviceSize offset, DeviceSize size, MemoryMapFlags flags = {} ) const;
VULKAN_HPP_NODISCARD typename ResultValueType<void *>::type
mapMemory( DeviceSize offset, DeviceSize size, MemoryMapFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
// wrapper function for command vkUnmapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory.html
void unmapMemory() const VULKAN_HPP_NOEXCEPT;
@ -10830,8 +10847,9 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_OHOS_native_buffer ===
// wrapper function for command vkAcquireImageOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireImageOHOS.html
typename ResultValueType<void>::type
acquireOHOS( int32_t nativeFenceFd, VULKAN_HPP_NAMESPACE::Semaphore semaphore = {}, VULKAN_HPP_NAMESPACE::Fence fence = {} ) const;
typename ResultValueType<void>::type acquireOHOS( int32_t nativeFenceFd,
VULKAN_HPP_NAMESPACE::Semaphore semaphore VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ),
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
# endif /*VK_USE_PLATFORM_OHOS*/
protected:
@ -12776,12 +12794,13 @@ namespace VULKAN_HPP_NAMESPACE
// wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html
template <typename DataType>
VULKAN_HPP_NODISCARD ResultValue<std::vector<DataType>>
getResults( uint32_t firstQuery, uint32_t queryCount, size_t dataSize, DeviceSize stride, QueryResultFlags flags = {} ) const;
VULKAN_HPP_NODISCARD ResultValue<std::vector<DataType>> getResults(
uint32_t firstQuery, uint32_t queryCount, size_t dataSize, DeviceSize stride, QueryResultFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
// wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html
template <typename DataType>
VULKAN_HPP_NODISCARD ResultValue<DataType> getResult( uint32_t firstQuery, uint32_t queryCount, DeviceSize stride, QueryResultFlags flags = {} ) const;
VULKAN_HPP_NODISCARD ResultValue<DataType>
getResult( uint32_t firstQuery, uint32_t queryCount, DeviceSize stride, QueryResultFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
//=== VK_VERSION_1_2 ===
@ -12909,18 +12928,21 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_VERSION_1_0 ===
// wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html
typename ResultValueType<void>::type submit( ArrayProxy<const SubmitInfo> const & submits, VULKAN_HPP_NAMESPACE::Fence fence = {} ) const;
typename ResultValueType<void>::type submit( ArrayProxy<const SubmitInfo> const & submits,
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
// wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html
typename ResultValueType<void>::type waitIdle() const;
// wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html
typename ResultValueType<void>::type bindSparse( ArrayProxy<const BindSparseInfo> const & bindInfo, VULKAN_HPP_NAMESPACE::Fence fence = {} ) const;
typename ResultValueType<void>::type bindSparse( ArrayProxy<const BindSparseInfo> const & bindInfo,
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
//=== VK_VERSION_1_3 ===
// wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html
typename ResultValueType<void>::type submit2( ArrayProxy<const SubmitInfo2> const & submits, VULKAN_HPP_NAMESPACE::Fence fence = {} ) const;
typename ResultValueType<void>::type submit2( ArrayProxy<const SubmitInfo2> const & submits,
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
//=== VK_KHR_swapchain ===
@ -12959,7 +12981,8 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_KHR_synchronization2 ===
// wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html
typename ResultValueType<void>::type submit2KHR( ArrayProxy<const SubmitInfo2> const & submits, VULKAN_HPP_NAMESPACE::Fence fence = {} ) const;
typename ResultValueType<void>::type submit2KHR( ArrayProxy<const SubmitInfo2> const & submits,
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
//=== VK_NV_low_latency2 ===
@ -14197,8 +14220,9 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::Image>>::type getImages() const;
// wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html
VULKAN_HPP_NODISCARD ResultValue<uint32_t>
acquireNextImage( uint64_t timeout, VULKAN_HPP_NAMESPACE::Semaphore semaphore = {}, VULKAN_HPP_NAMESPACE::Fence fence = {} ) const;
VULKAN_HPP_NODISCARD ResultValue<uint32_t> acquireNextImage( uint64_t timeout,
VULKAN_HPP_NAMESPACE::Semaphore semaphore VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ),
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ) ) const;
//=== VK_EXT_display_control ===
@ -21152,9 +21176,12 @@ namespace VULKAN_HPP_NAMESPACE
template <typename HandleType>
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_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo(
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name.c_str() );
VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
// It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
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 );
}
@ -21176,9 +21203,14 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_INLINE typename ResultValueType<void>::type
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_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo(
handle.objectType, reinterpret_cast<uint64_t>( static_cast<typename HandleType::CType>( handle ) ), name, sizeof( TagType ), &tag );
VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType<HandleType>::value, "HandleType must be a Vulkan handle type" );
// It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member
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 );
}
@ -24783,13 +24815,11 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_EXT_device_fault ===
// 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,
DeviceFaultInfoEXT * pFaultInfo,
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
DeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
return static_cast<Result>( d.vkGetDeviceFaultInfoEXT( static_cast<VkDevice>( m_device ),
VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceFaultInfoEXT && "Function <vkGetDeviceFaultInfoEXT> requires <VK_EXT_device_fault>" );
return static_cast<Result>( getDispatcher()->vkGetDeviceFaultInfoEXT( static_cast<VkDevice>( m_device ),
reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ),
reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) );
}
@ -27953,6 +27983,17 @@ namespace VULKAN_HPP_NAMESPACE
reinterpret_cast<const VkRenderingEndInfoKHR *>( renderingEndInfo.get() ) );
}
//=== VK_EXT_custom_resolve ===
// wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html
VULKAN_HPP_INLINE void CommandBuffer::beginCustomResolveEXT( Optional<const BeginCustomResolveInfoEXT> beginCustomResolveInfo ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginCustomResolveEXT && "Function <vkCmdBeginCustomResolveEXT> requires <VK_EXT_custom_resolve>" );
getDispatcher()->vkCmdBeginCustomResolveEXT( static_cast<VkCommandBuffer>( m_commandBuffer ),
reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( beginCustomResolveInfo.get() ) );
}
//=== VK_KHR_maintenance10 ===
// wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html

View File

@ -84,7 +84,7 @@ namespace VULKAN_HPP_NAMESPACE
template <typename DestructorType, typename Deleter>
struct SharedHeader
{
SharedHeader( SharedHandle<DestructorType> parent, Deleter deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
SharedHeader( SharedHandle<DestructorType> parent, Deleter deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( Deleter() ) ) VULKAN_HPP_NOEXCEPT
: parent( std::move( parent ) )
, deleter( std::move( deleter ) )
{
@ -97,7 +97,7 @@ namespace VULKAN_HPP_NAMESPACE
template <typename Deleter>
struct SharedHeader<NoDestructor, Deleter>
{
SharedHeader( Deleter deleter = Deleter() ) VULKAN_HPP_NOEXCEPT : deleter( std::move( deleter ) ) {}
SharedHeader( Deleter deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( Deleter() ) ) VULKAN_HPP_NOEXCEPT : deleter( std::move( deleter ) ) {}
Deleter deleter;
};
@ -282,7 +282,9 @@ namespace VULKAN_HPP_NAMESPACE
SharedHandle() = default;
template <typename T = HandleType, typename = typename std::enable_if<HasDestructor<T>::value && !HasPoolType<T>::value>::type>
explicit SharedHandle( HandleType handle, SharedHandle<DestructorTypeOf<HandleType>> parent, DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
explicit SharedHandle( HandleType handle,
SharedHandle<DestructorTypeOf<HandleType>> parent,
DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
: BaseType( handle, std::move( parent ), std::move( deleter ) )
{
}
@ -299,7 +301,8 @@ namespace VULKAN_HPP_NAMESPACE
}
template <typename T = HandleType, typename = typename std::enable_if<!HasDestructor<T>::value>::type>
explicit SharedHandle( HandleType handle, DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT : BaseType( handle, std::move( deleter ) )
explicit SharedHandle( HandleType handle, DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
: BaseType( handle, std::move( deleter ) )
{
}
@ -318,13 +321,12 @@ namespace VULKAN_HPP_NAMESPACE
# pragma clang diagnostic ignored "-Wcast-function-type"
# endif
template <typename HandleType>
template <typename HandleType, typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
class ObjectDestroyShared
{
public:
using DestructorType = typename SharedHandleTraits<HandleType>::DestructorType;
template <class Dispatcher>
using DestroyFunctionPointerType =
typename std::conditional<HasDestructor<HandleType>::value,
void ( DestructorType::* )( HandleType, const AllocationCallbacks *, const Dispatcher & ) const,
@ -332,10 +334,9 @@ namespace VULKAN_HPP_NAMESPACE
using SelectorType = typename std::conditional<HasDestructor<HandleType>::value, DestructorType, HandleType>::type;
template <typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
ObjectDestroyShared( Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
ObjectDestroyShared( Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
const Dispatcher & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType<Dispatcher>>( &SelectorType::destroy ) ) )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType>( &SelectorType::destroy ) ) )
, m_dispatch( &dispatch )
, m_allocationCallbacks( allocationCallbacks )
{
@ -357,24 +358,22 @@ namespace VULKAN_HPP_NAMESPACE
}
private:
DestroyFunctionPointerType<detail::DispatchLoaderBase> m_destroy = nullptr;
const detail::DispatchLoaderBase * m_dispatch = nullptr;
DestroyFunctionPointerType m_destroy = nullptr;
const Dispatcher * m_dispatch = nullptr;
Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
};
template <typename HandleType>
template <typename HandleType, typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
class ObjectFreeShared
{
public:
using DestructorType = typename SharedHandleTraits<HandleType>::DestructorType;
template <class Dispatcher>
using DestroyFunctionPointerType = void ( DestructorType::* )( HandleType, const AllocationCallbacks *, const Dispatcher & ) const;
template <class Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
ObjectFreeShared( Optional<const AllocationCallbacks> allocationCallbacks = nullptr,
ObjectFreeShared( Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
const Dispatcher & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType<Dispatcher>>( &DestructorType::free ) ) )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType>( &DestructorType::free ) ) )
, m_dispatch( &dispatch )
, m_allocationCallbacks( allocationCallbacks )
{
@ -388,24 +387,21 @@ namespace VULKAN_HPP_NAMESPACE
}
private:
DestroyFunctionPointerType<detail::DispatchLoaderBase> m_destroy = nullptr;
const detail::DispatchLoaderBase * m_dispatch = nullptr;
DestroyFunctionPointerType m_destroy = nullptr;
const Dispatcher * m_dispatch = nullptr;
Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
};
template <typename HandleType>
template <typename HandleType, typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
class ObjectReleaseShared
{
public:
using DestructorType = typename SharedHandleTraits<HandleType>::DestructorType;
template <class Dispatcher>
using DestroyFunctionPointerType = void ( DestructorType::* )( HandleType, const Dispatcher & ) const;
template <class Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
ObjectReleaseShared( const Dispatcher & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType<Dispatcher>>( &DestructorType::release ) ) )
, m_dispatch( &dispatch )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType>( &DestructorType::release ) ) ), m_dispatch( &dispatch )
{
}
@ -417,11 +413,11 @@ namespace VULKAN_HPP_NAMESPACE
}
private:
DestroyFunctionPointerType<detail::DispatchLoaderBase> m_destroy = nullptr;
const detail::DispatchLoaderBase * m_dispatch = nullptr;
DestroyFunctionPointerType m_destroy = nullptr;
const Dispatcher * m_dispatch = nullptr;
};
template <typename HandleType, typename PoolType>
template <typename HandleType, typename PoolType, typename Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
class PoolFreeShared
{
public:
@ -429,17 +425,14 @@ namespace VULKAN_HPP_NAMESPACE
using PoolTypeExport = PoolType;
template <class Dispatcher>
using ReturnType = decltype( std::declval<DestructorType>().free( PoolType(), 0u, nullptr, Dispatcher() ) );
template <class Dispatcher>
using DestroyFunctionPointerType = ReturnType<Dispatcher> ( DestructorType::* )( PoolType, uint32_t, const HandleType *, const Dispatcher & ) const;
using DestroyFunctionPointerType = ReturnType ( DestructorType::* )( PoolType, uint32_t, const HandleType *, const Dispatcher & ) const;
PoolFreeShared() = default;
template <class Dispatcher = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
PoolFreeShared( SharedHandle<PoolType> pool, const Dispatcher & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType<Dispatcher>>( &DestructorType::free ) ) )
: m_destroy( reinterpret_cast<decltype( m_destroy )>( static_cast<DestroyFunctionPointerType>( &DestructorType::free ) ) )
, m_dispatch( &dispatch )
, m_pool( std::move( pool ) )
{
@ -453,8 +446,8 @@ namespace VULKAN_HPP_NAMESPACE
}
private:
DestroyFunctionPointerType<detail::DispatchLoaderBase> m_destroy = nullptr;
const detail::DispatchLoaderBase * m_dispatch = nullptr;
DestroyFunctionPointerType m_destroy = nullptr;
const Dispatcher * m_dispatch = nullptr;
SharedHandle<PoolType> m_pool{};
};
@ -1052,7 +1045,7 @@ namespace VULKAN_HPP_NAMESPACE
struct ImageHeader : SharedHeader<DestructorTypeOf<Image>, typename SharedHandleTraits<Image>::deleter>
{
ImageHeader( SharedHandle<DestructorTypeOf<Image>> parent,
typename SharedHandleTraits<Image>::deleter deleter = typename SharedHandleTraits<Image>::deleter(),
typename SharedHandleTraits<Image>::deleter deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( typename SharedHandleTraits<Image>::deleter() ),
SwapchainOwns swapchainOwned = SwapchainOwns::no ) VULKAN_HPP_NOEXCEPT
: SharedHeader<DestructorTypeOf<Image>, typename SharedHandleTraits<Image>::deleter>( std::move( parent ), std::move( deleter ) )
, swapchainOwned( swapchainOwned )
@ -1074,8 +1067,8 @@ namespace VULKAN_HPP_NAMESPACE
explicit SharedHandle( Image handle,
SharedHandle<DestructorTypeOf<Image>> parent,
SwapchainOwns swapchain_owned = SwapchainOwns::no,
DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
SwapchainOwns swapchain_owned VULKAN_HPP_DEFAULT_ASSIGNMENT( SwapchainOwns::no ),
DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
: BaseType( handle, std::move( parent ), std::move( deleter ), swapchain_owned )
{
}
@ -1094,7 +1087,8 @@ namespace VULKAN_HPP_NAMESPACE
{
SwapchainHeader( SharedHandle<SurfaceKHR> surface,
SharedHandle<DestructorTypeOf<SwapchainKHR>> parent,
typename SharedHandleTraits<SwapchainKHR>::deleter deleter = typename SharedHandleTraits<SwapchainKHR>::deleter() ) VULKAN_HPP_NOEXCEPT
typename SharedHandleTraits<SwapchainKHR>::deleter deleter
VULKAN_HPP_DEFAULT_ASSIGNMENT( typename SharedHandleTraits<SwapchainKHR>::deleter() ) ) VULKAN_HPP_NOEXCEPT
: surface( std::move( surface ) )
, parent( std::move( parent ) )
, deleter( std::move( deleter ) )
@ -1119,7 +1113,7 @@ namespace VULKAN_HPP_NAMESPACE
explicit SharedHandle( SwapchainKHR handle,
SharedHandle<DestructorTypeOf<SwapchainKHR>> parent,
SharedHandle<SurfaceKHR> surface,
DeleterType deleter = DeleterType() ) VULKAN_HPP_NOEXCEPT
DeleterType deleter VULKAN_HPP_DEFAULT_ASSIGNMENT( DeleterType() ) ) VULKAN_HPP_NOEXCEPT
: BaseType( handle, std::move( surface ), std::move( parent ), std::move( deleter ) )
{
}

View File

@ -9061,6 +9061,24 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFmaFeaturesKHR>::value,
"PhysicalDeviceShaderFmaFeaturesKHR is not nothrow_move_constructible!" );
//=== VK_EXT_ray_tracing_invocation_reorder ===
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT ) ==
sizeof( VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT>::value,
"struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT>::value,
"PhysicalDeviceRayTracingInvocationReorderPropertiesEXT is not nothrow_move_constructible!" );
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT ) ==
sizeof( VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT>::value,
"struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT>::value,
"PhysicalDeviceRayTracingInvocationReorderFeaturesEXT is not nothrow_move_constructible!" );
//=== VK_EXT_depth_clamp_control ===
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampControlFeaturesEXT ) == sizeof( VkPhysicalDeviceDepthClampControlFeaturesEXT ),
@ -9423,6 +9441,27 @@ 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,
"PhysicalDeviceShader64BitIndexingFeaturesEXT is not nothrow_move_constructible!" );
//=== VK_EXT_custom_resolve ===
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT ) == sizeof( VkPhysicalDeviceCustomResolveFeaturesEXT ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT>::value,
"struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT>::value,
"PhysicalDeviceCustomResolveFeaturesEXT is not nothrow_move_constructible!" );
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT ) == sizeof( VkBeginCustomResolveInfoEXT ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT>::value, "struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT>::value,
"BeginCustomResolveInfoEXT is not nothrow_move_constructible!" );
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT ) == sizeof( VkCustomResolveCreateInfoEXT ),
"struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT>::value, "struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT>::value,
"CustomResolveCreateInfoEXT is not nothrow_move_constructible!" );
//=== VK_QCOM_data_graph_model ===
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM ) == sizeof( VkPipelineCacheHeaderVersionDataGraphQCOM ),

View File

@ -12,7 +12,6 @@
// IWYU pragma: private, include "vulkan/vulkan.hpp"
#if !defined( VULKAN_HPP_CXX_MODULE )
# include <cstdlib> // free
# include <cstring> // strcmp
#endif
@ -1168,7 +1167,7 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_CONSTEXPR AccelerationStructureBuildSizesInfoKHR( DeviceSize accelerationStructureSize_ = {},
DeviceSize updateScratchSize_ = {},
DeviceSize buildScratchSize_ = {},
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, accelerationStructureSize{ accelerationStructureSize_ }
, updateScratchSize{ updateScratchSize_ }
@ -1213,7 +1212,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, DeviceSize const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT
std::tuple<StructureType const &, void * const &, DeviceSize const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, accelerationStructureSize, updateScratchSize, buildScratchSize );
}
@ -1240,7 +1239,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
StructureType sType = StructureType::eAccelerationStructureBuildSizesInfoKHR;
const void * pNext = {};
void * pNext = {};
DeviceSize accelerationStructureSize = {};
DeviceSize updateScratchSize = {};
DeviceSize buildScratchSize = {};
@ -8793,6 +8792,105 @@ namespace VULKAN_HPP_NAMESPACE
};
#endif
// wrapper struct for struct VkBeginCustomResolveInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBeginCustomResolveInfoEXT.html
struct BeginCustomResolveInfoEXT
{
using NativeType = VkBeginCustomResolveInfoEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBeginCustomResolveInfoEXT;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR BeginCustomResolveInfoEXT( void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } {}
VULKAN_HPP_CONSTEXPR BeginCustomResolveInfoEXT( BeginCustomResolveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
BeginCustomResolveInfoEXT( VkBeginCustomResolveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
: BeginCustomResolveInfoEXT( *reinterpret_cast<BeginCustomResolveInfoEXT const *>( &rhs ) )
{
}
BeginCustomResolveInfoEXT & operator=( BeginCustomResolveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
BeginCustomResolveInfoEXT & operator=( VkBeginCustomResolveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<BeginCustomResolveInfoEXT const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 BeginCustomResolveInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
#endif /*VULKAN_HPP_NO_SETTERS*/
operator VkBeginCustomResolveInfoEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( this );
}
operator VkBeginCustomResolveInfoEXT &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkBeginCustomResolveInfoEXT *>( this );
}
operator VkBeginCustomResolveInfoEXT const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( this );
}
operator VkBeginCustomResolveInfoEXT *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkBeginCustomResolveInfoEXT *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( BeginCustomResolveInfoEXT const & ) const = default;
#else
bool operator==( BeginCustomResolveInfoEXT 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 );
# endif
}
bool operator!=( BeginCustomResolveInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
StructureType sType = StructureType::eBeginCustomResolveInfoEXT;
void * pNext = {};
};
#if 20 <= VULKAN_HPP_CPP_VERSION
template <>
struct CppType<VkBeginCustomResolveInfoEXT>
{
using Type = BeginCustomResolveInfoEXT;
};
#endif
template <>
struct CppType<StructureType, StructureType::eBeginCustomResolveInfoEXT>
{
using Type = BeginCustomResolveInfoEXT;
};
// wrapper struct for struct VkBindAccelerationStructureMemoryInfoNV, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindAccelerationStructureMemoryInfoNV.html
struct BindAccelerationStructureMemoryInfoNV
@ -28180,6 +28278,181 @@ namespace VULKAN_HPP_NAMESPACE
};
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
// wrapper struct for struct VkCustomResolveCreateInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCustomResolveCreateInfoEXT.html
struct CustomResolveCreateInfoEXT
{
using NativeType = VkCustomResolveCreateInfoEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCustomResolveCreateInfoEXT;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR CustomResolveCreateInfoEXT( Bool32 customResolve_ = {},
uint32_t colorAttachmentCount_ = {},
const Format * pColorAttachmentFormats_ = {},
Format depthAttachmentFormat_ = Format::eUndefined,
Format stencilAttachmentFormat_ = Format::eUndefined,
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, customResolve{ customResolve_ }
, colorAttachmentCount{ colorAttachmentCount_ }
, pColorAttachmentFormats{ pColorAttachmentFormats_ }
, depthAttachmentFormat{ depthAttachmentFormat_ }
, stencilAttachmentFormat{ stencilAttachmentFormat_ }
{
}
VULKAN_HPP_CONSTEXPR CustomResolveCreateInfoEXT( CustomResolveCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
CustomResolveCreateInfoEXT( VkCustomResolveCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
: CustomResolveCreateInfoEXT( *reinterpret_cast<CustomResolveCreateInfoEXT const *>( &rhs ) )
{
}
# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
CustomResolveCreateInfoEXT( Bool32 customResolve_,
ArrayProxyNoTemporaries<const Format> const & colorAttachmentFormats_,
Format depthAttachmentFormat_ = Format::eUndefined,
Format stencilAttachmentFormat_ = Format::eUndefined,
const void * pNext_ = nullptr )
: pNext( pNext_ )
, customResolve( customResolve_ )
, colorAttachmentCount( static_cast<uint32_t>( colorAttachmentFormats_.size() ) )
, pColorAttachmentFormats( colorAttachmentFormats_.data() )
, depthAttachmentFormat( depthAttachmentFormat_ )
, stencilAttachmentFormat( stencilAttachmentFormat_ )
{
}
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
CustomResolveCreateInfoEXT & operator=( CustomResolveCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
CustomResolveCreateInfoEXT & operator=( VkCustomResolveCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<CustomResolveCreateInfoEXT const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setCustomResolve( Bool32 customResolve_ ) VULKAN_HPP_NOEXCEPT
{
customResolve = customResolve_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT
{
colorAttachmentCount = colorAttachmentCount_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setPColorAttachmentFormats( const Format * pColorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT
{
pColorAttachmentFormats = pColorAttachmentFormats_;
return *this;
}
# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
CustomResolveCreateInfoEXT & setColorAttachmentFormats( ArrayProxyNoTemporaries<const Format> const & colorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT
{
colorAttachmentCount = static_cast<uint32_t>( colorAttachmentFormats_.size() );
pColorAttachmentFormats = colorAttachmentFormats_.data();
return *this;
}
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setDepthAttachmentFormat( Format depthAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT
{
depthAttachmentFormat = depthAttachmentFormat_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setStencilAttachmentFormat( Format stencilAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT
{
stencilAttachmentFormat = stencilAttachmentFormat_;
return *this;
}
#endif /*VULKAN_HPP_NO_SETTERS*/
operator VkCustomResolveCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkCustomResolveCreateInfoEXT *>( this );
}
operator VkCustomResolveCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkCustomResolveCreateInfoEXT *>( this );
}
operator VkCustomResolveCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkCustomResolveCreateInfoEXT *>( this );
}
operator VkCustomResolveCreateInfoEXT *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkCustomResolveCreateInfoEXT *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, Bool32 const &, uint32_t const &, const Format * const &, Format const &, Format const &>
reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, customResolve, colorAttachmentCount, pColorAttachmentFormats, depthAttachmentFormat, stencilAttachmentFormat );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( CustomResolveCreateInfoEXT const & ) const = default;
#else
bool operator==( CustomResolveCreateInfoEXT 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 ) && ( customResolve == rhs.customResolve ) &&
( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachmentFormats == rhs.pColorAttachmentFormats ) &&
( depthAttachmentFormat == rhs.depthAttachmentFormat ) && ( stencilAttachmentFormat == rhs.stencilAttachmentFormat );
# endif
}
bool operator!=( CustomResolveCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
StructureType sType = StructureType::eCustomResolveCreateInfoEXT;
const void * pNext = {};
Bool32 customResolve = {};
uint32_t colorAttachmentCount = {};
const Format * pColorAttachmentFormats = {};
Format depthAttachmentFormat = Format::eUndefined;
Format stencilAttachmentFormat = Format::eUndefined;
};
#if 20 <= VULKAN_HPP_CPP_VERSION
template <>
struct CppType<VkCustomResolveCreateInfoEXT>
{
using Type = CustomResolveCreateInfoEXT;
};
#endif
template <>
struct CppType<StructureType, StructureType::eCustomResolveCreateInfoEXT>
{
using Type = CustomResolveCreateInfoEXT;
};
#if defined( VK_USE_PLATFORM_WIN32_KHR )
// wrapper struct for struct VkD3D12FenceSubmitInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkD3D12FenceSubmitInfoKHR.html
struct D3D12FenceSubmitInfoKHR
@ -44039,7 +44312,7 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeStereoPropertiesNV;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR DisplayModeStereoPropertiesNV( Bool32 hdmi3DSupported_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR DisplayModeStereoPropertiesNV( Bool32 hdmi3DSupported_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, hdmi3DSupported{ hdmi3DSupported_ }
{
@ -44082,7 +44355,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, hdmi3DSupported );
}
@ -44108,7 +44381,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
StructureType sType = StructureType::eDisplayModeStereoPropertiesNV;
const void * pNext = {};
void * pNext = {};
Bool32 hdmi3DSupported = {};
};
@ -54183,7 +54456,7 @@ namespace VULKAN_HPP_NAMESPACE
uint64_t osRenderQueueEndTimeUs_ = {},
uint64_t gpuRenderStartTimeUs_ = {},
uint64_t gpuRenderEndTimeUs_ = {},
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, presentID{ presentID_ }
, inputSampleTimeUs{ inputSampleTimeUs_ }
@ -54240,7 +54513,7 @@ namespace VULKAN_HPP_NAMESPACE
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &,
const void * const &,
void * const &,
uint64_t const &,
uint64_t const &,
uint64_t const &,
@ -54301,7 +54574,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
StructureType sType = StructureType::eLatencyTimingsFrameReportNV;
const void * pNext = {};
void * pNext = {};
uint64_t presentID = {};
uint64_t inputSampleTimeUs = {};
uint64_t simStartTimeUs = {};
@ -74270,7 +74543,7 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpticalFlowImageFormatPropertiesNV;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR OpticalFlowImageFormatPropertiesNV( Format format_ = Format::eUndefined, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR OpticalFlowImageFormatPropertiesNV( Format format_ = Format::eUndefined, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, format{ format_ }
{
@ -74313,7 +74586,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, Format const &> reflect() const VULKAN_HPP_NOEXCEPT
std::tuple<StructureType const &, void * const &, Format const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, format );
}
@ -74339,7 +74612,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
StructureType sType = StructureType::eOpticalFlowImageFormatPropertiesNV;
const void * pNext = {};
void * pNext = {};
Format format = Format::eUndefined;
};
@ -82538,6 +82811,117 @@ namespace VULKAN_HPP_NAMESPACE
using Type = PhysicalDeviceCustomBorderColorPropertiesEXT;
};
// wrapper struct for struct VkPhysicalDeviceCustomResolveFeaturesEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceCustomResolveFeaturesEXT.html
struct PhysicalDeviceCustomResolveFeaturesEXT
{
using NativeType = VkPhysicalDeviceCustomResolveFeaturesEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCustomResolveFeaturesEXT;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomResolveFeaturesEXT( Bool32 customResolve_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, customResolve{ customResolve_ }
{
}
VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomResolveFeaturesEXT( PhysicalDeviceCustomResolveFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
PhysicalDeviceCustomResolveFeaturesEXT( VkPhysicalDeviceCustomResolveFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
: PhysicalDeviceCustomResolveFeaturesEXT( *reinterpret_cast<PhysicalDeviceCustomResolveFeaturesEXT const *>( &rhs ) )
{
}
PhysicalDeviceCustomResolveFeaturesEXT & operator=( PhysicalDeviceCustomResolveFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
PhysicalDeviceCustomResolveFeaturesEXT & operator=( VkPhysicalDeviceCustomResolveFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<PhysicalDeviceCustomResolveFeaturesEXT const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomResolveFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomResolveFeaturesEXT & setCustomResolve( Bool32 customResolve_ ) VULKAN_HPP_NOEXCEPT
{
customResolve = customResolve_;
return *this;
}
#endif /*VULKAN_HPP_NO_SETTERS*/
operator VkPhysicalDeviceCustomResolveFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkPhysicalDeviceCustomResolveFeaturesEXT *>( this );
}
operator VkPhysicalDeviceCustomResolveFeaturesEXT &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkPhysicalDeviceCustomResolveFeaturesEXT *>( this );
}
operator VkPhysicalDeviceCustomResolveFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkPhysicalDeviceCustomResolveFeaturesEXT *>( this );
}
operator VkPhysicalDeviceCustomResolveFeaturesEXT *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkPhysicalDeviceCustomResolveFeaturesEXT *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, customResolve );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PhysicalDeviceCustomResolveFeaturesEXT const & ) const = default;
#else
bool operator==( PhysicalDeviceCustomResolveFeaturesEXT 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 ) && ( customResolve == rhs.customResolve );
# endif
}
bool operator!=( PhysicalDeviceCustomResolveFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
StructureType sType = StructureType::ePhysicalDeviceCustomResolveFeaturesEXT;
void * pNext = {};
Bool32 customResolve = {};
};
#if 20 <= VULKAN_HPP_CPP_VERSION
template <>
struct CppType<VkPhysicalDeviceCustomResolveFeaturesEXT>
{
using Type = PhysicalDeviceCustomResolveFeaturesEXT;
};
#endif
template <>
struct CppType<StructureType, StructureType::ePhysicalDeviceCustomResolveFeaturesEXT>
{
using Type = PhysicalDeviceCustomResolveFeaturesEXT;
};
// wrapper struct for struct VkPhysicalDeviceDataGraphFeaturesARM, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphFeaturesARM.html
struct PhysicalDeviceDataGraphFeaturesARM
@ -82700,7 +83084,7 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR PhysicalDeviceDataGraphModelFeaturesQCOM( Bool32 dataGraphModel_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR PhysicalDeviceDataGraphModelFeaturesQCOM( Bool32 dataGraphModel_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, dataGraphModel{ dataGraphModel_ }
{
@ -82723,7 +83107,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphModelFeaturesQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphModelFeaturesQCOM & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
@ -82757,7 +83141,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, dataGraphModel );
}
@ -82783,7 +83167,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
StructureType sType = StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM;
const void * pNext = {};
void * pNext = {};
Bool32 dataGraphModel = {};
};
@ -108108,6 +108492,121 @@ namespace VULKAN_HPP_NAMESPACE
using Type = PhysicalDeviceRayQueryFeaturesKHR;
};
// wrapper struct for struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT.html
struct PhysicalDeviceRayTracingInvocationReorderFeaturesEXT
{
using NativeType = VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderFeaturesEXT( Bool32 rayTracingInvocationReorder_ = {},
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, rayTracingInvocationReorder{ rayTracingInvocationReorder_ }
{
}
VULKAN_HPP_CONSTEXPR
PhysicalDeviceRayTracingInvocationReorderFeaturesEXT( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
PhysicalDeviceRayTracingInvocationReorderFeaturesEXT( VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
: PhysicalDeviceRayTracingInvocationReorderFeaturesEXT( *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const *>( &rhs ) )
{
}
PhysicalDeviceRayTracingInvocationReorderFeaturesEXT &
operator=( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
PhysicalDeviceRayTracingInvocationReorderFeaturesEXT & operator=( VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const *>( &rhs );
return *this;
}
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingInvocationReorderFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingInvocationReorderFeaturesEXT &
setRayTracingInvocationReorder( Bool32 rayTracingInvocationReorder_ ) VULKAN_HPP_NOEXCEPT
{
rayTracingInvocationReorder = rayTracingInvocationReorder_;
return *this;
}
#endif /*VULKAN_HPP_NO_SETTERS*/
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>( this );
}
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>( this );
}
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>( this );
}
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, rayTracingInvocationReorder );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & ) const = default;
#else
bool operator==( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT 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 ) && ( rayTracingInvocationReorder == rhs.rayTracingInvocationReorder );
# endif
}
bool operator!=( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
void * pNext = {};
Bool32 rayTracingInvocationReorder = {};
};
#if 20 <= VULKAN_HPP_CPP_VERSION
template <>
struct CppType<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT>
{
using Type = PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
};
#endif
template <>
struct CppType<StructureType, StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT>
{
using Type = PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
};
// wrapper struct for struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV.html
struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV
@ -108223,6 +108722,113 @@ namespace VULKAN_HPP_NAMESPACE
using Type = PhysicalDeviceRayTracingInvocationReorderFeaturesNV;
};
// wrapper struct for struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT.html
struct PhysicalDeviceRayTracingInvocationReorderPropertiesEXT
{
using NativeType = VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderPropertiesEXT(
RayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint_ = RayTracingInvocationReorderModeEXT::eNone,
uint32_t maxShaderBindingTableRecordIndex_ = {},
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, rayTracingInvocationReorderReorderingHint{ rayTracingInvocationReorderReorderingHint_ }
, maxShaderBindingTableRecordIndex{ maxShaderBindingTableRecordIndex_ }
{
}
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderPropertiesEXT( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs )
VULKAN_HPP_NOEXCEPT = default;
PhysicalDeviceRayTracingInvocationReorderPropertiesEXT( VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
: PhysicalDeviceRayTracingInvocationReorderPropertiesEXT( *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const *>( &rhs ) )
{
}
PhysicalDeviceRayTracingInvocationReorderPropertiesEXT &
operator=( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
PhysicalDeviceRayTracingInvocationReorderPropertiesEXT &
operator=( VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const *>( &rhs );
return *this;
}
operator VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>( this );
}
operator VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>( this );
}
operator VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>( this );
}
operator VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>( this );
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, void * const &, RayTracingInvocationReorderModeEXT const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, rayTracingInvocationReorderReorderingHint, maxShaderBindingTableRecordIndex );
}
#endif
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & ) const = default;
#else
bool operator==( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT 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 ) &&
( rayTracingInvocationReorderReorderingHint == rhs.rayTracingInvocationReorderReorderingHint ) &&
( maxShaderBindingTableRecordIndex == rhs.maxShaderBindingTableRecordIndex );
# endif
}
bool operator!=( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
#endif
public:
StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
void * pNext = {};
RayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint = RayTracingInvocationReorderModeEXT::eNone;
uint32_t maxShaderBindingTableRecordIndex = {};
};
#if 20 <= VULKAN_HPP_CPP_VERSION
template <>
struct CppType<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT>
{
using Type = PhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
};
#endif
template <>
struct CppType<StructureType, StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT>
{
using Type = PhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
};
// wrapper struct for struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV.html
struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV
@ -108234,7 +108840,7 @@ namespace VULKAN_HPP_NAMESPACE
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderPropertiesNV(
RayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint_ = RayTracingInvocationReorderModeNV::eNone,
RayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint_ = RayTracingInvocationReorderModeEXT::eNone,
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, rayTracingInvocationReorderReorderingHint{ rayTracingInvocationReorderReorderingHint_ }
@ -108280,7 +108886,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, void * const &, RayTracingInvocationReorderModeNV const &> reflect() const VULKAN_HPP_NOEXCEPT
std::tuple<StructureType const &, void * const &, RayTracingInvocationReorderModeEXT const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, rayTracingInvocationReorderReorderingHint );
}
@ -108307,7 +108913,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesNV;
void * pNext = {};
RayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint = RayTracingInvocationReorderModeNV::eNone;
RayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint = RayTracingInvocationReorderModeEXT::eNone;
};
#if 20 <= VULKAN_HPP_CPP_VERSION
@ -152269,7 +152875,7 @@ namespace VULKAN_HPP_NAMESPACE
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceProtectedCapabilitiesKHR;
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR( Bool32 supportsProtected_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR( Bool32 supportsProtected_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, supportsProtected{ supportsProtected_ }
{
@ -152312,7 +152918,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, supportsProtected );
}
@ -152338,7 +152944,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
StructureType sType = StructureType::eSurfaceProtectedCapabilitiesKHR;
const void * pNext = {};
void * pNext = {};
Bool32 supportsProtected = {};
};
@ -154211,7 +154817,7 @@ namespace VULKAN_HPP_NAMESPACE
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR TensorFormatPropertiesARM( FormatFeatureFlags2 optimalTilingTensorFeatures_ = {},
FormatFeatureFlags2 linearTilingTensorFeatures_ = {},
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, optimalTilingTensorFeatures{ optimalTilingTensorFeatures_ }
, linearTilingTensorFeatures{ linearTilingTensorFeatures_ }
@ -154255,7 +154861,7 @@ namespace VULKAN_HPP_NAMESPACE
}
#if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, FormatFeatureFlags2 const &, FormatFeatureFlags2 const &> reflect() const VULKAN_HPP_NOEXCEPT
std::tuple<StructureType const &, void * const &, FormatFeatureFlags2 const &, FormatFeatureFlags2 const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, optimalTilingTensorFeatures, linearTilingTensorFeatures );
}
@ -154282,7 +154888,7 @@ namespace VULKAN_HPP_NAMESPACE
public:
StructureType sType = StructureType::eTensorFormatPropertiesARM;
const void * pNext = {};
void * pNext = {};
FormatFeatureFlags2 optimalTilingTensorFeatures = {};
FormatFeatureFlags2 linearTilingTensorFeatures = {};
};

View File

@ -1261,10 +1261,6 @@ namespace VULKAN_HPP_NAMESPACE
result += " PerViewAttributesNVX |";
if ( value & SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX )
result += " PerViewPositionXOnlyNVX |";
if ( value & SubpassDescriptionFlagBits::eFragmentRegionQCOM )
result += " FragmentRegionQCOM |";
if ( value & SubpassDescriptionFlagBits::eShaderResolveQCOM )
result += " ShaderResolveQCOM |";
if ( value & SubpassDescriptionFlagBits::eTileShadingApronQCOM )
result += " TileShadingApronQCOM |";
if ( value & SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT )
@ -1275,6 +1271,10 @@ namespace VULKAN_HPP_NAMESPACE
result += " RasterizationOrderAttachmentStencilAccessEXT |";
if ( value & SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT )
result += " EnableLegacyDitheringEXT |";
if ( value & SubpassDescriptionFlagBits::eFragmentRegionEXT )
result += " FragmentRegionEXT |";
if ( value & SubpassDescriptionFlagBits::eCustomResolveEXT )
result += " CustomResolveEXT |";
if ( result.size() > 1 )
result.back() = '}';
@ -1604,6 +1604,8 @@ namespace VULKAN_HPP_NAMESPACE
if ( value & ResolveModeFlagBits::eExternalFormatDownsampleANDROID )
result += " ExternalFormatDownsampleANDROID |";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
if ( value & ResolveModeFlagBits::eCustomEXT )
result += " CustomEXT |";
if ( result.size() > 1 )
result.back() = '}';
@ -2016,6 +2018,10 @@ namespace VULKAN_HPP_NAMESPACE
result += " ContentsInlineKHR |";
if ( value & RenderingFlagBits::ePerLayerFragmentDensityVALVE )
result += " PerLayerFragmentDensityVALVE |";
if ( value & RenderingFlagBits::eFragmentRegionEXT )
result += " FragmentRegionEXT |";
if ( value & RenderingFlagBits::eCustomResolveEXT )
result += " CustomResolveEXT |";
if ( value & RenderingFlagBits::eLocalReadConcurrentAccessControlKHR )
result += " LocalReadConcurrentAccessControlKHR |";
@ -5515,6 +5521,8 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::ePhysicalDeviceImageAlignmentControlPropertiesMESA : return "PhysicalDeviceImageAlignmentControlPropertiesMESA";
case StructureType::eImageAlignmentControlCreateInfoMESA : return "ImageAlignmentControlCreateInfoMESA";
case StructureType::ePhysicalDeviceShaderFmaFeaturesKHR : return "PhysicalDeviceShaderFmaFeaturesKHR";
case StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT : return "PhysicalDeviceRayTracingInvocationReorderFeaturesEXT";
case StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT : return "PhysicalDeviceRayTracingInvocationReorderPropertiesEXT";
case StructureType::ePhysicalDeviceDepthClampControlFeaturesEXT : return "PhysicalDeviceDepthClampControlFeaturesEXT";
case StructureType::ePipelineViewportDepthClampControlCreateInfoEXT : return "PipelineViewportDepthClampControlCreateInfoEXT";
case StructureType::ePhysicalDeviceMaintenance9FeaturesKHR : return "PhysicalDeviceMaintenance9FeaturesKHR";
@ -5564,6 +5572,9 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::ePhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT : return "PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT";
case StructureType::ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR : return "PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR";
case StructureType::ePhysicalDeviceShader64BitIndexingFeaturesEXT : return "PhysicalDeviceShader64BitIndexingFeaturesEXT";
case StructureType::ePhysicalDeviceCustomResolveFeaturesEXT : return "PhysicalDeviceCustomResolveFeaturesEXT";
case StructureType::eBeginCustomResolveInfoEXT : return "BeginCustomResolveInfoEXT";
case StructureType::eCustomResolveCreateInfoEXT : return "CustomResolveCreateInfoEXT";
case StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM : return "PhysicalDeviceDataGraphModelFeaturesQCOM";
case StructureType::eDataGraphPipelineBuiltinModelCreateInfoQCOM : return "DataGraphPipelineBuiltinModelCreateInfoQCOM";
case StructureType::ePhysicalDeviceMaintenance10FeaturesKHR : return "PhysicalDeviceMaintenance10FeaturesKHR";
@ -7284,13 +7295,13 @@ namespace VULKAN_HPP_NAMESPACE
{
case SubpassDescriptionFlagBits::ePerViewAttributesNVX : return "PerViewAttributesNVX";
case SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX : return "PerViewPositionXOnlyNVX";
case SubpassDescriptionFlagBits::eFragmentRegionQCOM : return "FragmentRegionQCOM";
case SubpassDescriptionFlagBits::eShaderResolveQCOM : return "ShaderResolveQCOM";
case SubpassDescriptionFlagBits::eTileShadingApronQCOM : return "TileShadingApronQCOM";
case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT : return "RasterizationOrderAttachmentColorAccessEXT";
case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT : return "RasterizationOrderAttachmentDepthAccessEXT";
case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT: return "RasterizationOrderAttachmentStencilAccessEXT";
case SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT : return "EnableLegacyDitheringEXT";
case SubpassDescriptionFlagBits::eFragmentRegionEXT : return "FragmentRegionEXT";
case SubpassDescriptionFlagBits::eCustomResolveEXT : return "CustomResolveEXT";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
@ -7652,7 +7663,8 @@ namespace VULKAN_HPP_NAMESPACE
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
case ResolveModeFlagBits::eExternalFormatDownsampleANDROID: return "ExternalFormatDownsampleANDROID";
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
default: return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
case ResolveModeFlagBits::eCustomEXT: return "CustomEXT";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
@ -7882,6 +7894,8 @@ namespace VULKAN_HPP_NAMESPACE
case RenderingFlagBits::eEnableLegacyDitheringEXT : return "EnableLegacyDitheringEXT";
case RenderingFlagBits::eContentsInlineKHR : return "ContentsInlineKHR";
case RenderingFlagBits::ePerLayerFragmentDensityVALVE : return "PerLayerFragmentDensityVALVE";
case RenderingFlagBits::eFragmentRegionEXT : return "FragmentRegionEXT";
case RenderingFlagBits::eCustomResolveEXT : return "CustomResolveEXT";
case RenderingFlagBits::eLocalReadConcurrentAccessControlKHR: return "LocalReadConcurrentAccessControlKHR";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
}
@ -10207,18 +10221,6 @@ namespace VULKAN_HPP_NAMESPACE
}
}
//=== VK_NV_ray_tracing_invocation_reorder ===
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RayTracingInvocationReorderModeNV value )
{
switch ( value )
{
case RayTracingInvocationReorderModeNV::eNone : return "None";
case RayTracingInvocationReorderModeNV::eReorder: return "Reorder";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
//=== VK_NV_cooperative_vector ===
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CooperativeVectorMatrixLayoutNV value )
@ -10756,6 +10758,18 @@ namespace VULKAN_HPP_NAMESPACE
}
}
//=== VK_EXT_ray_tracing_invocation_reorder ===
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RayTracingInvocationReorderModeEXT value )
{
switch ( value )
{
case RayTracingInvocationReorderModeEXT::eNone : return "None";
case RayTracingInvocationReorderModeEXT::eReorder: return "Reorder";
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
//=== VK_EXT_depth_clamp_control ===
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DepthClampModeEXT value )