mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2024-10-14 16:32:17 +00:00
Removed special handling for enumerating commands with complex size information via a struct, generating just the standard function in such cases (#1952)
This commit is contained in:
parent
bd70384cd4
commit
98ea600e1f
@ -3100,7 +3100,7 @@ std::string VulkanHppGenerator::generateCallSequence( std::string const &
|
|||||||
{
|
{
|
||||||
std::string dispatcher = raii ? "getDispatcher()->" : "d.";
|
std::string dispatcher = raii ? "getDispatcher()->" : "d.";
|
||||||
|
|
||||||
// first some special handling on vkCreatePipelineBinariesKHR and vkGetDeviceFaultInfoEXT!!
|
// first some special handling on vkCreatePipelineBinariesKHR !!
|
||||||
if ( name == "vkCreatePipelineBinariesKHR" )
|
if ( name == "vkCreatePipelineBinariesKHR" )
|
||||||
{
|
{
|
||||||
#if !defined( NDEBUG )
|
#if !defined( NDEBUG )
|
||||||
@ -3152,36 +3152,6 @@ std::string VulkanHppGenerator::generateCallSequence( std::string const &
|
|||||||
|
|
||||||
return replaceWithMap( callSequenceTemplate, { { "callArguments", callArguments }, { "dispatcher", dispatcher }, { "vkCommand", name } } );
|
return replaceWithMap( callSequenceTemplate, { { "callArguments", callArguments }, { "dispatcher", dispatcher }, { "vkCommand", name } } );
|
||||||
}
|
}
|
||||||
else if ( name == "vkGetDeviceFaultInfoEXT" )
|
|
||||||
{
|
|
||||||
const std::string callSequenceTemplate =
|
|
||||||
R"( VULKAN_HPP_NAMESPACE::Result result;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
result = static_cast<VULKAN_HPP_NAMESPACE::Result>( ${dispatcher}vkGetDeviceFaultInfoEXT( m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( &faultCounts ), nullptr ) );
|
|
||||||
if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
|
|
||||||
{
|
|
||||||
std::free( faultInfo.pAddressInfos );
|
|
||||||
if ( faultCounts.addressInfoCount )
|
|
||||||
{
|
|
||||||
faultInfo.pAddressInfos = reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT *>( std::malloc( faultCounts.addressInfoCount * sizeof( VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT ) ) );
|
|
||||||
}
|
|
||||||
std::free( faultInfo.pVendorInfos );
|
|
||||||
if ( faultCounts.vendorInfoCount )
|
|
||||||
{
|
|
||||||
faultInfo.pVendorInfos = reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT *>( std::malloc( faultCounts.vendorInfoCount * sizeof( VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT ) ) );
|
|
||||||
}
|
|
||||||
std::free( faultInfo.pVendorBinaryData );
|
|
||||||
if ( faultCounts.vendorBinarySize )
|
|
||||||
{
|
|
||||||
faultInfo.pVendorBinaryData = std::malloc( faultCounts.vendorBinarySize );
|
|
||||||
}
|
|
||||||
result = static_cast<VULKAN_HPP_NAMESPACE::Result>( ${dispatcher}vkGetDeviceFaultInfoEXT( m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( &faultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( &faultInfo ) ) );
|
|
||||||
}
|
|
||||||
} while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete );)";
|
|
||||||
|
|
||||||
return replaceWithMap( callSequenceTemplate, { { "dispatcher", dispatcher } } );
|
|
||||||
}
|
|
||||||
|
|
||||||
// if at least one returnParam is a size value of a vector param (and no singular params), we need two calls
|
// if at least one returnParam is a size value of a vector param (and no singular params), we need two calls
|
||||||
if ( singularParams.empty() &&
|
if ( singularParams.empty() &&
|
||||||
@ -3843,28 +3813,6 @@ std::string VulkanHppGenerator::generateCommandResultMultiSuccessWithErrors1Retu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( isStructureChainAnchor( commandData.params[returnParam].type.type ) )
|
|
||||||
{
|
|
||||||
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
|
||||||
if ( vectorParams.empty() )
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
// needs to be verified ...
|
|
||||||
return generateCommandSetInclusive( name,
|
|
||||||
commandData,
|
|
||||||
initialSkipCount,
|
|
||||||
definition,
|
|
||||||
{ returnParam },
|
|
||||||
vectorParams,
|
|
||||||
false,
|
|
||||||
{ CommandFlavourFlagBits::enhanced, CommandFlavourFlagBits::chained },
|
|
||||||
raii,
|
|
||||||
false,
|
|
||||||
{ CommandFlavourFlagBits::enhanced, CommandFlavourFlagBits::chained } );
|
|
||||||
#endif
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( isHandleType( commandData.params[returnParam].type.type ) )
|
else if ( isHandleType( commandData.params[returnParam].type.type ) )
|
||||||
{
|
{
|
||||||
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
||||||
@ -4023,28 +3971,10 @@ std::string VulkanHppGenerator::generateCommandResultMultiSuccessWithErrors2Retu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( ( commandData.params[returnParams[0]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[0]].type.type ) &&
|
else if ( isStructureType( commandData.params[returnParams[0]].type.type ) )
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[0]].type.type ) )
|
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[returnParams[1]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[1]].type.type ) &&
|
// can't generate an enhanced version for such a complex command! Just use the standard version
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[1]].type.type ) )
|
return generateCommandStandard( name, commandData, initialSkipCount, definition );
|
||||||
{
|
|
||||||
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
|
||||||
if ( vectorParams.empty() )
|
|
||||||
{
|
|
||||||
return generateCommandSetInclusive( name,
|
|
||||||
commandData,
|
|
||||||
initialSkipCount,
|
|
||||||
definition,
|
|
||||||
returnParams,
|
|
||||||
vectorParams,
|
|
||||||
false,
|
|
||||||
{ CommandFlavourFlagBits::enhanced },
|
|
||||||
raii,
|
|
||||||
false,
|
|
||||||
{ CommandFlavourFlagBits::enhanced } );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4092,11 +4022,9 @@ std::string VulkanHppGenerator::generateCommandResultMultiSuccessWithErrors3Retu
|
|||||||
case 2:
|
case 2:
|
||||||
if ( commandData.params[returnParams[0]].type.type == "uint32_t" )
|
if ( commandData.params[returnParams[0]].type.type == "uint32_t" )
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[returnParams[1]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[1]].type.type ) &&
|
if ( isStructureType( commandData.params[returnParams[1]].type.type ) && !isStructureChainAnchor( commandData.params[returnParams[1]].type.type ) )
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[1]].type.type ) )
|
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[returnParams[2]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[2]].type.type ) &&
|
if ( isStructureType( commandData.params[returnParams[2]].type.type ) && !isStructureChainAnchor( commandData.params[returnParams[2]].type.type ) )
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[2]].type.type ) )
|
|
||||||
{
|
{
|
||||||
if ( vectorParams.begin()->second.lenParam == std::next( vectorParams.begin() )->second.lenParam )
|
if ( vectorParams.begin()->second.lenParam == std::next( vectorParams.begin() )->second.lenParam )
|
||||||
{
|
{
|
||||||
@ -4197,8 +4125,7 @@ std::string VulkanHppGenerator::generateCommandResultSingleSuccessNoErrors(
|
|||||||
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
||||||
if ( vectorParams.empty() )
|
if ( vectorParams.empty() )
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[returnParams[0]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[0]].type.type ) &&
|
if ( isStructureType( commandData.params[returnParams[0]].type.type ) && !isStructureChainAnchor( commandData.params[returnParams[0]].type.type ) )
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[0]].type.type ) )
|
|
||||||
{
|
{
|
||||||
return generateCommandSetInclusive( name,
|
return generateCommandSetInclusive( name,
|
||||||
commandData,
|
commandData,
|
||||||
@ -4218,8 +4145,7 @@ std::string VulkanHppGenerator::generateCommandResultSingleSuccessNoErrors(
|
|||||||
case 2:
|
case 2:
|
||||||
if ( ( commandData.params[returnParams[0]].type.type == "size_t" ) || ( commandData.params[returnParams[0]].type.type == "uint32_t" ) )
|
if ( ( commandData.params[returnParams[0]].type.type == "size_t" ) || ( commandData.params[returnParams[0]].type.type == "uint32_t" ) )
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[returnParams[1]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[1]].type.type ) &&
|
if ( isStructureType( commandData.params[returnParams[1]].type.type ) && !isStructureChainAnchor( commandData.params[returnParams[1]].type.type ) )
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[1]].type.type ) )
|
|
||||||
{
|
{
|
||||||
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
||||||
if ( vectorParams.size() == 1 )
|
if ( vectorParams.size() == 1 )
|
||||||
@ -4399,8 +4325,7 @@ std::string VulkanHppGenerator::generateCommandResultSingleSuccessWithErrors1Ret
|
|||||||
{
|
{
|
||||||
if ( commandData.params[vectorParams.begin()->second.lenParam].type.type == "uint32_t" )
|
if ( commandData.params[vectorParams.begin()->second.lenParam].type.type == "uint32_t" )
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[vectorParams.begin()->first].type.type != "void" ) &&
|
if ( isStructureType( commandData.params[vectorParams.begin()->first].type.type ) &&
|
||||||
!isHandleType( commandData.params[vectorParams.begin()->first].type.type ) &&
|
|
||||||
!isStructureChainAnchor( commandData.params[vectorParams.begin()->first].type.type ) )
|
!isStructureChainAnchor( commandData.params[vectorParams.begin()->first].type.type ) )
|
||||||
{
|
{
|
||||||
return generateCommandSetInclusive( name,
|
return generateCommandSetInclusive( name,
|
||||||
@ -4519,8 +4444,7 @@ std::string VulkanHppGenerator::generateCommandResultSingleSuccessWithErrors2Ret
|
|||||||
{
|
{
|
||||||
if ( commandData.params[vectorParams.begin()->second.lenParam].type.isValue() )
|
if ( commandData.params[vectorParams.begin()->second.lenParam].type.isValue() )
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[vectorParams.begin()->first].type.type != "void" ) &&
|
if ( isStructureType( commandData.params[vectorParams.begin()->first].type.type ) &&
|
||||||
!isHandleType( commandData.params[vectorParams.begin()->first].type.type ) &&
|
|
||||||
!isStructureChainAnchor( commandData.params[vectorParams.begin()->first].type.type ) )
|
!isStructureChainAnchor( commandData.params[vectorParams.begin()->first].type.type ) )
|
||||||
{
|
{
|
||||||
return generateCommandSetInclusive(
|
return generateCommandSetInclusive(
|
||||||
@ -4553,10 +4477,9 @@ std::string VulkanHppGenerator::generateCommandResultSingleSuccessWithErrors3Ret
|
|||||||
std::vector<size_t> const & returnParams,
|
std::vector<size_t> const & returnParams,
|
||||||
bool raii ) const
|
bool raii ) const
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[returnParams[0]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[0]].type.type ) &&
|
if ( isStructureType( commandData.params[returnParams[0]].type.type ) && !isStructureChainAnchor( commandData.params[returnParams[0]].type.type ) &&
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[0]].type.type ) && commandData.params[returnParams[0]].lenParams.empty() &&
|
commandData.params[returnParams[0]].lenParams.empty() && ( commandData.params[returnParams[1]].type.type == "size_t" ) &&
|
||||||
( commandData.params[returnParams[1]].type.type == "size_t" ) && commandData.params[returnParams[1]].lenParams.empty() &&
|
commandData.params[returnParams[1]].lenParams.empty() && ( commandData.params[returnParams[2]].type.type == "void" ) &&
|
||||||
( commandData.params[returnParams[2]].type.type == "void" ) &&
|
|
||||||
( commandData.params[returnParams[2]].lenExpression == commandData.params[returnParams[1]].name ) )
|
( commandData.params[returnParams[2]].lenExpression == commandData.params[returnParams[1]].name ) )
|
||||||
{
|
{
|
||||||
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
std::map<size_t, VectorParamData> vectorParams = determineVectorParams( commandData.params );
|
||||||
@ -5009,11 +4932,9 @@ std::string VulkanHppGenerator::generateCommandVoid2Return( std::string const &
|
|||||||
switch ( vectorParams.size() )
|
switch ( vectorParams.size() )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
if ( ( commandData.params[returnParams[0]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[0]].type.type ) &&
|
if ( isStructureType( commandData.params[returnParams[0]].type.type ) && !isStructureChainAnchor( commandData.params[returnParams[0]].type.type ) )
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[0]].type.type ) )
|
|
||||||
{
|
{
|
||||||
if ( ( commandData.params[returnParams[1]].type.type != "void" ) && !isHandleType( commandData.params[returnParams[1]].type.type ) &&
|
if ( isStructureType( commandData.params[returnParams[1]].type.type ) && !isStructureChainAnchor( commandData.params[returnParams[1]].type.type ) )
|
||||||
!isStructureChainAnchor( commandData.params[returnParams[1]].type.type ) )
|
|
||||||
{
|
{
|
||||||
return generateCommandSetInclusive( name,
|
return generateCommandSetInclusive( name,
|
||||||
commandData,
|
commandData,
|
||||||
@ -10290,8 +10211,7 @@ std::string VulkanHppGenerator::generateReturnStatement( std::string const & com
|
|||||||
std::string returnStatement;
|
std::string returnStatement;
|
||||||
if ( commandData.returnType.starts_with( "Vk" ) )
|
if ( commandData.returnType.starts_with( "Vk" ) )
|
||||||
{
|
{
|
||||||
if ( ( commandData.successCodes.size() == 1 ) || ( enumerating && ( commandData.successCodes.size() == 2 ) ) ||
|
if ( ( commandData.successCodes.size() == 1 ) || ( enumerating && ( commandData.successCodes.size() == 2 ) ) )
|
||||||
( commandName == "vkGetDeviceFaultInfoEXT" ) )
|
|
||||||
{
|
{
|
||||||
assert( commandData.successCodes[0] == "VK_SUCCESS" );
|
assert( commandData.successCodes[0] == "VK_SUCCESS" );
|
||||||
if ( raii || commandData.errorCodes.empty() )
|
if ( raii || commandData.errorCodes.empty() )
|
||||||
@ -13041,6 +12961,11 @@ bool VulkanHppGenerator::isStructureChainAnchor( std::string const & type ) cons
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool VulkanHppGenerator::isStructureType( std::string const & type ) const
|
||||||
|
{
|
||||||
|
return type.starts_with( "Vk" ) && ( findByNameOrAlias( m_structs, type ) != m_structs.end() );
|
||||||
|
}
|
||||||
|
|
||||||
bool VulkanHppGenerator::isSupported( std::set<std::string> const & requiredBy ) const
|
bool VulkanHppGenerator::isSupported( std::set<std::string> const & requiredBy ) const
|
||||||
{
|
{
|
||||||
for ( auto const & r : requiredBy )
|
for ( auto const & r : requiredBy )
|
||||||
|
@ -1010,6 +1010,7 @@ private:
|
|||||||
bool isParam( std::string const & name, std::vector<ParamData> const & params ) const;
|
bool isParam( std::string const & name, std::vector<ParamData> const & params ) const;
|
||||||
bool isStructMember( std::string const & name, std::vector<MemberData> const & memberData ) const;
|
bool isStructMember( std::string const & name, std::vector<MemberData> const & memberData ) const;
|
||||||
bool isStructureChainAnchor( std::string const & type ) const;
|
bool isStructureChainAnchor( std::string const & type ) const;
|
||||||
|
bool isStructureType( std::string const & type ) const;
|
||||||
bool isSupported( std::set<std::string> const & requiredBy ) const;
|
bool isSupported( std::set<std::string> const & requiredBy ) const;
|
||||||
bool isSupportedExtension( std::string const & name ) const;
|
bool isSupportedExtension( std::string const & name ) const;
|
||||||
bool isSupportedFeature( std::string const & name ) const;
|
bool isSupportedFeature( std::string const & name ) const;
|
||||||
|
@ -22574,56 +22574,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||||||
return static_cast<Result>( d.vkGetDeviceFaultInfoEXT(
|
return static_cast<Result>( d.vkGetDeviceFaultInfoEXT(
|
||||||
m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) );
|
m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
|
||||||
template <typename Dispatch>
|
|
||||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE
|
|
||||||
typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT, VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT>>::type
|
|
||||||
Device::getFaultInfoEXT( Dispatch const & d ) const
|
|
||||||
{
|
|
||||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
|
||||||
# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 )
|
|
||||||
VULKAN_HPP_ASSERT( d.vkGetDeviceFaultInfoEXT && "Function <vkGetDeviceFaultInfoEXT> requires <VK_EXT_device_fault>" );
|
|
||||||
# endif
|
|
||||||
|
|
||||||
std::pair<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT, VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT> data_;
|
|
||||||
VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT & faultCounts = data_.first;
|
|
||||||
VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT & faultInfo = data_.second;
|
|
||||||
VULKAN_HPP_NAMESPACE::Result result;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
result =
|
|
||||||
static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDeviceFaultInfoEXT( m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( &faultCounts ), nullptr ) );
|
|
||||||
if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
|
|
||||||
{
|
|
||||||
std::free( faultInfo.pAddressInfos );
|
|
||||||
if ( faultCounts.addressInfoCount )
|
|
||||||
{
|
|
||||||
faultInfo.pAddressInfos = reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT *>(
|
|
||||||
std::malloc( faultCounts.addressInfoCount * sizeof( VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT ) ) );
|
|
||||||
}
|
|
||||||
std::free( faultInfo.pVendorInfos );
|
|
||||||
if ( faultCounts.vendorInfoCount )
|
|
||||||
{
|
|
||||||
faultInfo.pVendorInfos = reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT *>(
|
|
||||||
std::malloc( faultCounts.vendorInfoCount * sizeof( VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT ) ) );
|
|
||||||
}
|
|
||||||
std::free( faultInfo.pVendorBinaryData );
|
|
||||||
if ( faultCounts.vendorBinarySize )
|
|
||||||
{
|
|
||||||
faultInfo.pVendorBinaryData = std::malloc( faultCounts.vendorBinarySize );
|
|
||||||
}
|
|
||||||
result = static_cast<VULKAN_HPP_NAMESPACE::Result>( d.vkGetDeviceFaultInfoEXT(
|
|
||||||
m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( &faultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( &faultInfo ) ) );
|
|
||||||
}
|
|
||||||
} while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete );
|
|
||||||
VULKAN_HPP_NAMESPACE::detail::resultCheck(
|
|
||||||
result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFaultInfoEXT", { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncomplete } );
|
|
||||||
|
|
||||||
return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) );
|
|
||||||
}
|
|
||||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
|
||||||
|
|
||||||
#if defined( VK_USE_PLATFORM_WIN32_KHR )
|
#if defined( VK_USE_PLATFORM_WIN32_KHR )
|
||||||
//=== VK_NV_acquire_winrt_display ===
|
//=== VK_NV_acquire_winrt_display ===
|
||||||
|
|
||||||
|
@ -14457,12 +14457,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||||||
VULKAN_HPP_NODISCARD Result getFaultInfoEXT( VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT * pFaultCounts,
|
VULKAN_HPP_NODISCARD Result getFaultInfoEXT( VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT * pFaultCounts,
|
||||||
VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT * pFaultInfo,
|
VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT * pFaultInfo,
|
||||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
|
||||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
|
||||||
VULKAN_HPP_NODISCARD typename ResultValueType<std::pair<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT, VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT>>::type
|
|
||||||
getFaultInfoEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
|
||||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
|
||||||
|
|
||||||
#if defined( VK_USE_PLATFORM_FUCHSIA )
|
#if defined( VK_USE_PLATFORM_FUCHSIA )
|
||||||
//=== VK_FUCHSIA_external_memory ===
|
//=== VK_FUCHSIA_external_memory ===
|
||||||
|
|
||||||
|
@ -4423,9 +4423,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||||||
getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const;
|
getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const;
|
||||||
|
|
||||||
//=== VK_EXT_device_fault ===
|
//=== VK_EXT_device_fault ===
|
||||||
|
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||||
VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT, VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT> getFaultInfoEXT() const;
|
VULKAN_HPP_NODISCARD Result getFaultInfoEXT( VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT * pFaultCounts,
|
||||||
|
VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT * pFaultInfo,
|
||||||
|
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||||
# if defined( VK_USE_PLATFORM_FUCHSIA )
|
# if defined( VK_USE_PLATFORM_FUCHSIA )
|
||||||
//=== VK_FUCHSIA_external_memory ===
|
//=== VK_FUCHSIA_external_memory ===
|
||||||
|
|
||||||
@ -21245,50 +21246,15 @@ namespace VULKAN_HPP_NAMESPACE
|
|||||||
}
|
}
|
||||||
|
|
||||||
//=== VK_EXT_device_fault ===
|
//=== VK_EXT_device_fault ===
|
||||||
|
template <typename Dispatch>
|
||||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT, VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT>
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFaultInfoEXT( VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT * pFaultCounts,
|
||||||
Device::getFaultInfoEXT() const
|
VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT * pFaultInfo,
|
||||||
|
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||||
{
|
{
|
||||||
VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceFaultInfoEXT && "Function <vkGetDeviceFaultInfoEXT> requires <VK_EXT_device_fault>" );
|
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||||
|
return static_cast<Result>( d.vkGetDeviceFaultInfoEXT(
|
||||||
std::pair<VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT, VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT> data_;
|
m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( pFaultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( pFaultInfo ) ) );
|
||||||
VULKAN_HPP_NAMESPACE::DeviceFaultCountsEXT & faultCounts = data_.first;
|
|
||||||
VULKAN_HPP_NAMESPACE::DeviceFaultInfoEXT & faultInfo = data_.second;
|
|
||||||
VULKAN_HPP_NAMESPACE::Result result;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
||||||
getDispatcher()->vkGetDeviceFaultInfoEXT( m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( &faultCounts ), nullptr ) );
|
|
||||||
if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
|
|
||||||
{
|
|
||||||
std::free( faultInfo.pAddressInfos );
|
|
||||||
if ( faultCounts.addressInfoCount )
|
|
||||||
{
|
|
||||||
faultInfo.pAddressInfos = reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT *>(
|
|
||||||
std::malloc( faultCounts.addressInfoCount * sizeof( VULKAN_HPP_NAMESPACE::DeviceFaultAddressInfoEXT ) ) );
|
|
||||||
}
|
}
|
||||||
std::free( faultInfo.pVendorInfos );
|
|
||||||
if ( faultCounts.vendorInfoCount )
|
|
||||||
{
|
|
||||||
faultInfo.pVendorInfos = reinterpret_cast<VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT *>(
|
|
||||||
std::malloc( faultCounts.vendorInfoCount * sizeof( VULKAN_HPP_NAMESPACE::DeviceFaultVendorInfoEXT ) ) );
|
|
||||||
}
|
|
||||||
std::free( faultInfo.pVendorBinaryData );
|
|
||||||
if ( faultCounts.vendorBinarySize )
|
|
||||||
{
|
|
||||||
faultInfo.pVendorBinaryData = std::malloc( faultCounts.vendorBinarySize );
|
|
||||||
}
|
|
||||||
result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeviceFaultInfoEXT(
|
|
||||||
m_device, reinterpret_cast<VkDeviceFaultCountsEXT *>( &faultCounts ), reinterpret_cast<VkDeviceFaultInfoEXT *>( &faultInfo ) ) );
|
|
||||||
}
|
|
||||||
} while ( result == VULKAN_HPP_NAMESPACE::Result::eIncomplete );
|
|
||||||
VULKAN_HPP_NAMESPACE::detail::resultCheck( result,
|
|
||||||
VULKAN_HPP_NAMESPACE_STRING "::Device::getFaultInfoEXT",
|
|
||||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncomplete } );
|
|
||||||
|
|
||||||
return data_;
|
|
||||||
}
|
|
||||||
|
|
||||||
# if defined( VK_USE_PLATFORM_WIN32_KHR )
|
# if defined( VK_USE_PLATFORM_WIN32_KHR )
|
||||||
//=== VK_NV_acquire_winrt_display ===
|
//=== VK_NV_acquire_winrt_display ===
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user