mirror of
https://github.com/KhronosGroup/Vulkan-Hpp
synced 2024-11-22 20:30:04 +00:00
Refactor reading procedures (#1521)
This commit is contained in:
parent
c499dd0f79
commit
9e66a8886a
File diff suppressed because it is too large
Load Diff
@ -131,21 +131,22 @@ private:
|
||||
std::string postfix;
|
||||
};
|
||||
|
||||
struct AliasData
|
||||
{
|
||||
std::string name;
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
struct BaseTypeData
|
||||
{
|
||||
BaseTypeData( TypeInfo const & typeInfo_, int line ) : typeInfo( typeInfo_ ), xmlLine( line ) {}
|
||||
|
||||
TypeInfo typeInfo;
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
struct BitmaskData
|
||||
{
|
||||
BitmaskData( std::string const & r, std::string const & t, int line ) : requirements( r ), type( t ), xmlLine( line ) {}
|
||||
|
||||
std::string requirements;
|
||||
std::string require;
|
||||
std::string type;
|
||||
std::string alias;
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
@ -172,7 +173,6 @@ private:
|
||||
{
|
||||
CommandData( int line ) : xmlLine( line ) {}
|
||||
|
||||
std::string alias;
|
||||
std::vector<std::string> errorCodes;
|
||||
std::string handle;
|
||||
std::vector<ParamData> params;
|
||||
@ -182,12 +182,18 @@ private:
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
struct ConstantData
|
||||
{
|
||||
std::string type;
|
||||
std::string value;
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
struct DefineData
|
||||
{
|
||||
DefineData( std::string const & require_, int line ) : require( require_ ), xmlLine( line ) {}
|
||||
|
||||
std::string require;
|
||||
int xmlLine;
|
||||
bool deprecated = false;
|
||||
std::string require = {};
|
||||
int xmlLine = 0;
|
||||
};
|
||||
|
||||
struct EnumAliasData
|
||||
@ -228,7 +234,6 @@ private:
|
||||
std::string const & extension,
|
||||
std::vector<std::string> const & depends );
|
||||
|
||||
std::string alias = {}; // alias for this enum
|
||||
std::map<std::string, EnumAliasData> aliases = {}; // aliases for the values
|
||||
std::string bitwidth = {};
|
||||
bool isBitmask = false;
|
||||
@ -236,44 +241,46 @@ private:
|
||||
int xmlLine = 0;
|
||||
};
|
||||
|
||||
struct RemoveData
|
||||
{
|
||||
std::vector<std::string> commands = {};
|
||||
std::vector<std::string> enums = {};
|
||||
std::vector<std::string> types = {};
|
||||
};
|
||||
|
||||
struct RequireData
|
||||
{
|
||||
RequireData( int line, std::vector<std::string> const & depends_ );
|
||||
|
||||
std::vector<std::string> depends;
|
||||
std::vector<std::string> commands;
|
||||
std::vector<std::string> types;
|
||||
int xmlLine;
|
||||
std::vector<std::string> depends = {};
|
||||
std::vector<std::string> commands = {};
|
||||
std::vector<std::string> types = {};
|
||||
int xmlLine = 0;
|
||||
};
|
||||
|
||||
struct FeatureData
|
||||
{
|
||||
FeatureData( std::string const & number_ ) : number( number_ ) {}
|
||||
|
||||
std::string number;
|
||||
std::vector<RequireData> requireData;
|
||||
std::string name = {};
|
||||
std::string number = {};
|
||||
RemoveData removeData = {};
|
||||
std::vector<RequireData> requireData = {};
|
||||
};
|
||||
|
||||
struct ExtensionData
|
||||
{
|
||||
ExtensionData( int line,
|
||||
std::string const & deprecatedBy_,
|
||||
std::string const & number_,
|
||||
std::string const & obsoletedBy_,
|
||||
std::string const & platform_,
|
||||
std::string const & promotedTo_ )
|
||||
: deprecatedBy( deprecatedBy_ ), number( number_ ), obsoletedBy( obsoletedBy_ ), platform( platform_ ), promotedTo( promotedTo_ ), xmlLine( line )
|
||||
{
|
||||
}
|
||||
std::string deprecatedBy = {};
|
||||
std::string name = {};
|
||||
std::string number = {};
|
||||
std::string obsoletedBy = {};
|
||||
std::string platform = {};
|
||||
std::string promotedTo = {};
|
||||
std::vector<std::string> depends = {};
|
||||
std::vector<RequireData> requireData = {};
|
||||
int xmlLine = 0;
|
||||
};
|
||||
|
||||
std::string deprecatedBy;
|
||||
std::string number;
|
||||
std::string obsoletedBy;
|
||||
std::string platform;
|
||||
std::string promotedTo;
|
||||
std::set<std::string> depends;
|
||||
std::vector<RequireData> requireData;
|
||||
int xmlLine;
|
||||
struct ExternalTypeData
|
||||
{
|
||||
std::string require = {};
|
||||
int xmlLine = 0;
|
||||
};
|
||||
|
||||
struct ComponentData
|
||||
@ -316,18 +323,15 @@ private:
|
||||
|
||||
struct FuncPointerArgumentData
|
||||
{
|
||||
FuncPointerArgumentData( std::string const & t, int line ) : type( t ), xmlLine( line ) {}
|
||||
|
||||
std::string name;
|
||||
std::string type;
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
struct FuncPointerData
|
||||
{
|
||||
FuncPointerData( std::string const & r, int line ) : requirements( r ), xmlLine( line ) {}
|
||||
|
||||
std::vector<FuncPointerArgumentData> arguments;
|
||||
std::string requirements;
|
||||
std::string require;
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
@ -338,7 +342,6 @@ private:
|
||||
{
|
||||
}
|
||||
|
||||
std::string alias;
|
||||
std::set<std::string> childrenHandles;
|
||||
std::set<std::string> commands;
|
||||
std::string deleteCommand;
|
||||
@ -355,6 +358,11 @@ private:
|
||||
std::vector<std::map<std::string, CommandData>::const_iterator> constructorIts;
|
||||
};
|
||||
|
||||
struct IncludeData
|
||||
{
|
||||
int xmlLine = 0;
|
||||
};
|
||||
|
||||
struct MemberData
|
||||
{
|
||||
MemberData( int line ) : xmlLine( line ) {}
|
||||
@ -375,16 +383,9 @@ private:
|
||||
|
||||
struct PlatformData
|
||||
{
|
||||
PlatformData( std::string const & protect_ ) : protect( protect_ ) {}
|
||||
PlatformData( std::string const & protect_, int line ) : protect( protect_ ), xmlLine( line ) {}
|
||||
|
||||
std::string protect;
|
||||
};
|
||||
|
||||
struct StructureAliasData
|
||||
{
|
||||
StructureAliasData( std::string const & alias_, int line ) : alias( alias_ ), xmlLine( line ) {}
|
||||
|
||||
std::string alias;
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
@ -402,15 +403,24 @@ private:
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
struct TagData
|
||||
{
|
||||
TagData( int line ) : xmlLine( line ) {}
|
||||
|
||||
int xmlLine;
|
||||
};
|
||||
|
||||
enum class TypeCategory
|
||||
{
|
||||
Bitmask,
|
||||
BaseType,
|
||||
Constant,
|
||||
Define,
|
||||
Enum,
|
||||
ExternalType,
|
||||
FuncPointer,
|
||||
Handle,
|
||||
Requires,
|
||||
Include,
|
||||
Struct,
|
||||
Union,
|
||||
Unknown
|
||||
@ -419,6 +429,7 @@ private:
|
||||
struct TypeData
|
||||
{
|
||||
TypeCategory category = TypeCategory::Unknown;
|
||||
int xmlLine = 0;
|
||||
std::set<std::string> requiredIn = {};
|
||||
};
|
||||
|
||||
@ -430,6 +441,7 @@ private:
|
||||
|
||||
private:
|
||||
void addCommand( std::string const & name, CommandData & commandData );
|
||||
void addCommandsToHandle( std::vector<RequireData> const & requireData );
|
||||
void addMissingFlagBits( std::vector<RequireData> & requireData, std::string const & requiredIn );
|
||||
std::string addTitleAndProtection( std::string const & title, std::string const & strIf, std::string const & strElse = {} ) const;
|
||||
bool allVectorSizesSupported( std::vector<ParamData> const & params, std::map<size_t, VectorParamData> const & vectorParams ) const;
|
||||
@ -485,41 +497,45 @@ private:
|
||||
std::vector<std::map<std::string, CommandData>::const_iterator>
|
||||
determineRAIIHandleConstructors( std::string const & handleType, std::map<std::string, CommandData>::const_iterator destructorIt ) const;
|
||||
std::map<std::string, CommandData>::const_iterator determineRAIIHandleDestructor( std::string const & handleType ) const;
|
||||
std::set<size_t> determineSingularParams( size_t returnParam, std::map<size_t, VectorParamData> const & vectorParams ) const;
|
||||
std::set<size_t> determineSkippedParams( std::vector<ParamData> const & params,
|
||||
size_t initialSkipCount,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
std::vector<size_t> const & returnParam,
|
||||
bool singular ) const;
|
||||
std::string determineSubStruct( std::pair<std::string, StructureData> 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 distributeSecondLevelCommands( std::set<std::string> const & specialFunctions );
|
||||
std::string findBaseName( std::string aliasName, std::map<std::string, EnumAliasData> const & aliases ) const;
|
||||
std::vector<MemberData>::const_iterator findStructMemberIt( std::string const & name, std::vector<MemberData> const & memberData ) const;
|
||||
std::vector<MemberData>::const_iterator findStructMemberItByType( std::string const & type, std::vector<MemberData> const & memberData ) const;
|
||||
std::pair<std::string, std::string> generateAllocatorTemplates( std::vector<size_t> const & returnParams,
|
||||
std::vector<std::string> const & returnDataTypes,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
CommandFlavourFlags flavourFlags,
|
||||
bool definition ) const;
|
||||
std::string generateArgumentListEnhanced( std::vector<ParamData> const & params,
|
||||
std::vector<size_t> const & returnParams,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
std::set<size_t> const & skippedParams,
|
||||
std::set<size_t> const & singularParams,
|
||||
std::set<size_t> const & templatedParams,
|
||||
bool definition,
|
||||
CommandFlavourFlags flavourFlags,
|
||||
bool withDispatcher ) const;
|
||||
std::string generateArgumentListStandard( std::vector<ParamData> const & params, std::set<size_t> const & skippedParams ) const;
|
||||
std::string generateArgumentTemplates( std::vector<ParamData> const & params,
|
||||
std::vector<size_t> const & returnParams,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
std::set<size_t> const & templatedParams,
|
||||
CommandFlavourFlags flavourFlags,
|
||||
bool raii ) const;
|
||||
std::string generateBaseTypes() const;
|
||||
std::set<size_t> determineSingularParams( size_t returnParam, std::map<size_t, VectorParamData> const & vectorParams ) const;
|
||||
std::set<size_t> determineSkippedParams( std::vector<ParamData> const & params,
|
||||
size_t initialSkipCount,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
std::vector<size_t> const & returnParam,
|
||||
bool singular ) const;
|
||||
std::string determineSubStruct( std::pair<std::string, StructureData> 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 distributeSecondLevelCommands( std::set<std::string> const & specialFunctions );
|
||||
std::map<std::string, AliasData>::const_iterator findAlias( std::string const & name, std::map<std::string, AliasData> const & aliases ) const;
|
||||
std::string findBaseName( std::string aliasName, std::map<std::string, EnumAliasData> const & aliases ) const;
|
||||
std::vector<ExtensionData>::const_iterator findExtension( std::string const & name ) const;
|
||||
std::vector<FeatureData>::const_iterator findFeature( std::string const & name ) const;
|
||||
std::vector<MemberData>::const_iterator findStructMemberIt( std::string const & name, std::vector<MemberData> const & memberData ) const;
|
||||
std::vector<MemberData>::const_iterator findStructMemberItByType( std::string const & type, std::vector<MemberData> const & memberData ) const;
|
||||
std::string findTag( std::string const & name, std::string const & postfix = "" ) const;
|
||||
std::pair<std::string, std::string> generateAllocatorTemplates( std::vector<size_t> const & returnParams,
|
||||
std::vector<std::string> const & returnDataTypes,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
CommandFlavourFlags flavourFlags,
|
||||
bool definition ) const;
|
||||
std::string generateArgumentListEnhanced( std::vector<ParamData> const & params,
|
||||
std::vector<size_t> const & returnParams,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
std::set<size_t> const & skippedParams,
|
||||
std::set<size_t> const & singularParams,
|
||||
std::set<size_t> const & templatedParams,
|
||||
bool definition,
|
||||
CommandFlavourFlags flavourFlags,
|
||||
bool withDispatcher ) const;
|
||||
std::string generateArgumentListStandard( std::vector<ParamData> const & params, std::set<size_t> const & skippedParams ) const;
|
||||
std::string generateArgumentTemplates( std::vector<ParamData> const & params,
|
||||
std::vector<size_t> const & returnParams,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
std::set<size_t> const & templatedParams,
|
||||
CommandFlavourFlags flavourFlags,
|
||||
bool raii ) const;
|
||||
std::string generateBaseTypes() const;
|
||||
std::string generateBitmask( std::map<std::string, BitmaskData>::const_iterator bitmaskIt, std::string const & surroundingProtect ) const;
|
||||
std::string generateBitmasksToString() const;
|
||||
std::string generateBitmasksToString( std::vector<RequireData> const & requireData, std::set<std::string> & listedBitmasks, std::string const & title ) const;
|
||||
@ -574,7 +590,6 @@ private:
|
||||
std::string generateCommandName( std::string const & vulkanCommandName,
|
||||
std::vector<ParamData> const & params,
|
||||
size_t initialSkipCount,
|
||||
std::set<std::string> const & tags,
|
||||
CommandFlavourFlags flavourFlags = {} ) const;
|
||||
std::string generateCommandResult( std::string const & name, CommandData const & commandData, size_t initialSkipCount, bool definition, bool raii ) const;
|
||||
std::string generateCommandResultMultiSuccessNoErrors(
|
||||
@ -699,26 +714,27 @@ private:
|
||||
std::string generateDispatchLoaderDynamic() const; // uses vkGet*ProcAddress to get function pointers
|
||||
std::string generateDispatchLoaderStatic() const; // uses exported symbols from loader
|
||||
std::string generateDestroyCommand( std::string const & name, CommandData const & commandData ) const;
|
||||
std::string
|
||||
generateDispatchLoaderDynamicCommandAssignment( std::string const & commandName, CommandData const & commandData, std::string const & firstArg ) const;
|
||||
std::string generateDispatchLoaderDynamicCommandAssignment( std::string const & commandName, std::string const & firstArg ) const;
|
||||
std::string generateDispatchLoaderStaticCommands( std::vector<RequireData> const & requireData,
|
||||
std::set<std::string> & listedCommands,
|
||||
std::string const & title ) const;
|
||||
std::string generateEnum( std::pair<std::string, EnumData> const & enumData, std::string const & surroundingProtect ) const;
|
||||
std::string generateEnums() const;
|
||||
std::string generateEnums( std::vector<RequireData> const & requireData, std::set<std::string> & listedEnums, std::string const & title ) const;
|
||||
std::string generateEnumsToString() const;
|
||||
std::string generateEnumsToString( std::vector<RequireData> const & requireData, std::set<std::string> & listedEnums, std::string const & title ) const;
|
||||
std::string generateEnumInitializer( TypeInfo const & type,
|
||||
std::vector<std::string> const & arraySizes,
|
||||
std::vector<EnumValueData> const & values,
|
||||
bool bitmask ) const;
|
||||
std::string generateEnums() const;
|
||||
std::string generateEnums( std::vector<RequireData> const & requireData, std::set<std::string> & listedEnums, std::string const & title ) const;
|
||||
std::string generateEnumsToString() const;
|
||||
std::string generateEnumsToString( std::vector<RequireData> const & requireData, std::set<std::string> & listedEnums, std::string const & title ) const;
|
||||
std::string generateEnumToString( std::pair<std::string, EnumData> const & enumData ) const;
|
||||
std::string generateFailureCheck( std::vector<std::string> const & successCodes ) const;
|
||||
std::string generateFormatTraits() const;
|
||||
std::string generateFunctionPointerCheck( std::string const & function, std::set<std::string> const & requiredIn ) const;
|
||||
std::string generateHandle( std::pair<std::string, HandleData> const & handle, std::set<std::string> & listedHandles ) const;
|
||||
std::string generateHandleCommandDeclarations( std::set<std::string> const & commands ) const;
|
||||
std::pair<std::string, std::string> generateEnumSuffixes( std::string const & name, bool bitmask ) const;
|
||||
std::string generateEnumValueName( std::string const & enumName, std::string const & valueName, bool bitmask ) const;
|
||||
std::string generateFailureCheck( std::vector<std::string> const & successCodes ) const;
|
||||
std::string generateFormatTraits() const;
|
||||
std::string generateFunctionPointerCheck( std::string const & function, std::set<std::string> const & requiredIn ) const;
|
||||
std::string generateHandle( std::pair<std::string, HandleData> const & handle, std::set<std::string> & listedHandles ) const;
|
||||
std::string generateHandleCommandDeclarations( std::set<std::string> const & commands ) const;
|
||||
std::string generateHandleDependencies( std::pair<std::string, HandleData> const & handle, std::set<std::string> & listedHandles ) const;
|
||||
std::string generateHandleEmpty( HandleData const & handleData ) const;
|
||||
std::string generateHandleForwardDeclarations() const;
|
||||
@ -888,6 +904,7 @@ private:
|
||||
std::string generateStructSetter( std::string const & structureName, std::vector<MemberData> const & memberData, size_t index ) const;
|
||||
std::string generateStructSubConstructor( std::pair<std::string, StructureData> const & structData ) const;
|
||||
std::string generateSuccessCheck( std::vector<std::string> const & successCodes ) const;
|
||||
std::string generateSuccessCode( std::string const & code ) const;
|
||||
std::string generateSuccessCodeList( std::vector<std::string> const & successCodes, bool enumerating ) const;
|
||||
std::string generateThrowResultException() const;
|
||||
std::string generateTypenameCheck( std::vector<size_t> const & returnParams,
|
||||
@ -905,6 +922,7 @@ private:
|
||||
std::map<size_t, std::vector<size_t>> const & countToVectorMap,
|
||||
std::set<size_t> const & skippedParams,
|
||||
bool onlyThrows ) const;
|
||||
CommandData const & getCommandData( std::string const & command ) const;
|
||||
std::pair<std::string, std::string> getParentTypeAndName( std::pair<std::string, HandleData> const & handle ) const;
|
||||
std::string getPlatform( std::string const & title ) const;
|
||||
std::pair<std::string, std::string> getPoolTypeAndName( std::string const & type ) const;
|
||||
@ -921,6 +939,8 @@ private:
|
||||
bool hasLen( std::vector<MemberData> const & members, MemberData const & md ) const;
|
||||
bool hasParentHandle( std::string const & handle, std::string const & parent ) const;
|
||||
bool isDeviceCommand( CommandData const & commandData ) const;
|
||||
bool isExtension( std::string const & name ) const;
|
||||
bool isFeature( std::string const & name ) const;
|
||||
bool isHandleType( std::string const & type ) const;
|
||||
bool isLenByStructMember( std::string const & name, std::vector<ParamData> const & params ) const;
|
||||
bool isLenByStructMember( std::string const & name, ParamData const & param ) const;
|
||||
@ -928,110 +948,109 @@ private:
|
||||
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 isStructureChainAnchor( std::string const & type ) const;
|
||||
bool isTypeRequired( std::string const & type ) const;
|
||||
bool isTypeUsed( std::string const & type ) const;
|
||||
std::pair<bool, std::map<size_t, std::vector<size_t>>> needsVectorSizeCheck( std::vector<ParamData> const & params,
|
||||
std::map<size_t, VectorParamData> const & vectorParams,
|
||||
std::vector<size_t> const & returnParams,
|
||||
std::set<size_t> const & singularParams ) const;
|
||||
void readCommand( tinyxml2::XMLElement const * element );
|
||||
std::pair<bool, ParamData> readCommandParam( tinyxml2::XMLElement const * element, std::vector<ParamData> const & params );
|
||||
std::pair<std::string, std::string> readCommandProto( tinyxml2::XMLElement const * element );
|
||||
void readCommands( tinyxml2::XMLElement const * element );
|
||||
void readCommandsCommand( tinyxml2::XMLElement const * element );
|
||||
std::pair<bool, ParamData> readCommandsCommandParam( tinyxml2::XMLElement const * element, std::vector<ParamData> const & params );
|
||||
std::pair<std::string, std::string> readCommandsCommandProto( tinyxml2::XMLElement const * element );
|
||||
std::string readComment( tinyxml2::XMLElement const * element );
|
||||
void readEnums( tinyxml2::XMLElement const * element );
|
||||
void readEnumsConstant( tinyxml2::XMLElement const * element );
|
||||
void readEnumsEnum( tinyxml2::XMLElement const * element, std::map<std::string, EnumData>::iterator enumIt );
|
||||
void readExtensions( tinyxml2::XMLElement const * element );
|
||||
void readExtensionsExtension( tinyxml2::XMLElement const * element );
|
||||
void readExtensionsExtensionRequire( tinyxml2::XMLElement const * element, std::map<std::string, ExtensionData>::iterator extensionIt );
|
||||
void readExtensionsExtensionRequireRemove( tinyxml2::XMLElement const * element );
|
||||
void readExtensionsExtensionRequireType( tinyxml2::XMLElement const * element, std::string const & extensionName, RequireData & requireData );
|
||||
void readFeature( tinyxml2::XMLElement const * element );
|
||||
void readFeatureRequire( tinyxml2::XMLElement const * element, std::map<std::string, FeatureData>::iterator featureIt );
|
||||
void readFeatureRequireCommandRemove( tinyxml2::XMLElement const * element );
|
||||
void readFeatureRequireRemove( tinyxml2::XMLElement const * element );
|
||||
void readFeatureRequireType( tinyxml2::XMLElement const * element, std::map<std::string, FeatureData>::iterator featureIt, RequireData & requireData );
|
||||
void readFormats( tinyxml2::XMLElement const * element );
|
||||
void readFormatsFormat( tinyxml2::XMLElement const * element );
|
||||
void readFormatsFormatComponent( tinyxml2::XMLElement const * element, FormatData & formatData );
|
||||
void readFormatsFormatPlane( tinyxml2::XMLElement const * element, FormatData & formatData );
|
||||
void readFormatsFormatSPIRVImageFormat( tinyxml2::XMLElement const * element, FormatData & formatData );
|
||||
std::string readComment( tinyxml2::XMLElement const * element );
|
||||
void readEnums( tinyxml2::XMLElement const * element );
|
||||
void readEnumsConstants( tinyxml2::XMLElement const * element );
|
||||
void readEnumsEnum( tinyxml2::XMLElement const * element, std::map<std::string, EnumData>::iterator enumIt );
|
||||
void readExtension( tinyxml2::XMLElement const * element );
|
||||
void readExtensionRequire( tinyxml2::XMLElement const * element, ExtensionData & extensionData, bool extensionSupported );
|
||||
void readExtensions( tinyxml2::XMLElement const * element );
|
||||
void readExtensionsExtensionRequireRemove( tinyxml2::XMLElement const * element );
|
||||
void readFeature( tinyxml2::XMLElement const * element );
|
||||
RemoveData readFeatureRemove( tinyxml2::XMLElement const * element );
|
||||
RequireData readFeatureRequire( tinyxml2::XMLElement const * element, std::string const & featureName, bool featureSupported );
|
||||
void readFormat( tinyxml2::XMLElement const * element );
|
||||
void readFormatComponent( tinyxml2::XMLElement const * element, FormatData & formatData );
|
||||
void readFormatPlane( tinyxml2::XMLElement const * element, FormatData & formatData );
|
||||
void readFormats( tinyxml2::XMLElement const * element );
|
||||
void readFormatSPIRVImageFormat( tinyxml2::XMLElement const * element, FormatData & formatData );
|
||||
std::string readName( tinyxml2::XMLElement const * elements );
|
||||
std::pair<NameData, TypeInfo> readNameAndType( tinyxml2::XMLElement const * elements );
|
||||
void readPlatform( tinyxml2::XMLElement const * element );
|
||||
void readPlatforms( tinyxml2::XMLElement const * element );
|
||||
void readPlatformsPlatform( tinyxml2::XMLElement const * element );
|
||||
void readRegistry( tinyxml2::XMLElement const * element );
|
||||
void readRequireCommand( tinyxml2::XMLElement const * element, std::string const & title, RequireData & requireData );
|
||||
std::string readRequireCommand( tinyxml2::XMLElement const * element, std::string const & requiredIn );
|
||||
void readRequireCommandRemove( tinyxml2::XMLElement const * element );
|
||||
void readRequireEnum( tinyxml2::XMLElement const * element, std::string const & extensionName, std::vector<std::string> const & depends );
|
||||
void readRequireEnumRemove( tinyxml2::XMLElement const * element );
|
||||
void readRequireTypeRemove( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVCapabilities( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVCapabilitiesSPIRVCapability( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVCapabilitiesSPIRVCapabilityEnable( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVCapabilitiesSPIRVCapabilityEnableExtension( int xmlLine, std::map<std::string, std::string> const & attributes );
|
||||
void readSPIRVCapabilitiesSPIRVCapabilityEnableProperty( int xmlLine, std::map<std::string, std::string> const & attributes );
|
||||
void readSPIRVCapabilitiesSPIRVCapabilityEnableStruct( int xmlLine, std::map<std::string, std::string> const & attributes );
|
||||
void readSPIRVCapabilitiesSPIRVCapabilityEnableVersion( int xmlLine, std::map<std::string, std::string> const & attributes );
|
||||
void readSPIRVExtensions( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVExtensionsExtension( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVExtensionsExtensionEnable( tinyxml2::XMLElement const * element );
|
||||
void readTags( tinyxml2::XMLElement const * element );
|
||||
void readTagsTag( tinyxml2::XMLElement const * element );
|
||||
void readTypes( tinyxml2::XMLElement const * element );
|
||||
void readTypesType( tinyxml2::XMLElement const * element );
|
||||
void readTypesTypeBasetype( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeBitmask( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeDefine( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeEnum( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeFuncpointer( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeHandle( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeInclude( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeRequires( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeStruct( tinyxml2::XMLElement const * element, bool isUnion, std::map<std::string, std::string> const & attributes );
|
||||
void readTypesTypeStructMember( tinyxml2::XMLElement const * element, std::vector<MemberData> & members, bool isUnion );
|
||||
void readTypesTypeStructMemberEnum( tinyxml2::XMLElement const * element, MemberData & memberData );
|
||||
void readTypesTypeStructMemberName( tinyxml2::XMLElement const * element, MemberData & memberData, std::vector<MemberData> const & members );
|
||||
void readTypesTypeStructMemberType( tinyxml2::XMLElement const * element, MemberData & memberData );
|
||||
TypeInfo readTypeInfo( tinyxml2::XMLElement const * element ) const;
|
||||
void registerDeleter( std::string const & name, std::pair<std::string, CommandData> const & commandData );
|
||||
void rescheduleRAIIHandle( std::string & str,
|
||||
std::pair<std::string, HandleData> const & handle,
|
||||
std::set<std::string> & listedHandles,
|
||||
std::set<std::string> const & specialFunctions ) const;
|
||||
void readRequireEnum( tinyxml2::XMLElement const * element, std::string const & requiredIn, bool supported, std::vector<std::string> const & depends );
|
||||
std::string readRequireType( tinyxml2::XMLElement const * element, std::string const & requiredIn );
|
||||
void readRequireTypeRemove( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVCapability( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVCapabilityEnable( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVCapabilities( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVExtension( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVExtensionEnable( tinyxml2::XMLElement const * element );
|
||||
void readSPIRVExtensions( tinyxml2::XMLElement const * element );
|
||||
void readStructMember( tinyxml2::XMLElement const * element, std::vector<MemberData> & members, bool isUnion );
|
||||
void readTag( tinyxml2::XMLElement const * element );
|
||||
void readTags( tinyxml2::XMLElement const * element );
|
||||
void readTypeBasetype( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypeBitmask( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypeDefine( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypeEnum( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypeFuncpointer( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypeHandle( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypeInclude( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypeRequires( tinyxml2::XMLElement const * element, std::map<std::string, std::string> const & attributes );
|
||||
void readTypeStruct( tinyxml2::XMLElement const * element, bool isUnion, std::map<std::string, std::string> const & attributes );
|
||||
void readTypes( tinyxml2::XMLElement const * element );
|
||||
void readTypesType( tinyxml2::XMLElement const * element );
|
||||
TypeInfo readTypeInfo( tinyxml2::XMLElement const * element ) const;
|
||||
void registerDeleter( std::string const & commandName, CommandData const & commandData );
|
||||
void rescheduleRAIIHandle( std::string & str,
|
||||
std::pair<std::string, HandleData> const & handle,
|
||||
std::set<std::string> & listedHandles,
|
||||
std::set<std::string> const & specialFunctions ) const;
|
||||
std::vector<std::string> selectCommandsByHandle( std::vector<RequireData> const & requireData,
|
||||
std::set<std::string> const & handleCommands,
|
||||
std::set<std::string> & listedCommands ) const;
|
||||
void setVulkanLicenseHeader( int line, std::string const & comment );
|
||||
bool skipLeadingGrandParent( std::pair<std::string, HandleData> const & handle ) const;
|
||||
std::string stripPluralS( std::string const & name ) const;
|
||||
std::string toString( TypeCategory category );
|
||||
|
||||
private:
|
||||
std::map<std::string, BaseTypeData> m_baseTypes;
|
||||
std::map<std::string, BitmaskData> m_bitmasks;
|
||||
std::map<std::string, CommandData> m_commands;
|
||||
std::map<std::string, std::string> m_constants;
|
||||
std::map<std::string, DefineData> m_defines;
|
||||
std::map<std::string, EnumData> m_enums;
|
||||
std::set<std::string> m_extendedStructs; // structs which are referenced by the structextends tag
|
||||
std::map<std::string, ExtensionData> m_extensions;
|
||||
std::map<int, std::map<std::string, ExtensionData>::const_iterator> m_extensionsByNumber;
|
||||
std::map<std::string, FeatureData> m_features;
|
||||
std::map<std::string, FormatData> m_formats;
|
||||
std::map<std::string, FuncPointerData> m_funcPointers;
|
||||
std::map<std::string, HandleData> m_handles;
|
||||
std::set<std::string> m_includes;
|
||||
std::map<std::string, PlatformData> m_platforms;
|
||||
std::set<std::string> m_RAIISpecialFunctions;
|
||||
std::set<std::string> m_removedCommands;
|
||||
std::map<std::string, EnumData> m_removedEnums;
|
||||
std::set<std::string> m_removedFeatures;
|
||||
std::set<std::string> m_removedStructs;
|
||||
std::map<std::string, TypeData> m_removedTypes;
|
||||
std::map<std::string, StructureData> m_structs;
|
||||
std::map<std::string, StructureAliasData> m_structsAliases;
|
||||
std::map<std::string, std::set<std::string>> m_structsAliasesInverse;
|
||||
std::set<std::string> m_tags;
|
||||
std::map<std::string, TypeData> m_types;
|
||||
std::string m_typesafeCheck;
|
||||
std::string m_version;
|
||||
std::string m_vulkanLicenseHeader;
|
||||
std::map<std::string, BaseTypeData> m_baseTypes;
|
||||
std::map<std::string, BitmaskData> m_bitmasks;
|
||||
std::map<std::string, AliasData> m_bitmasksAliases;
|
||||
std::map<std::string, CommandData> m_commands;
|
||||
std::map<std::string, AliasData> m_commandsAliases;
|
||||
std::map<std::string, ConstantData> m_constants;
|
||||
std::map<std::string, AliasData> m_constantsAliases;
|
||||
std::map<std::string, DefineData> m_defines;
|
||||
std::map<std::string, EnumData> m_enums;
|
||||
std::map<std::string, AliasData> m_enumsAliases;
|
||||
std::set<std::string> m_extendedStructs; // structs which are referenced by the structextends tag
|
||||
std::vector<ExtensionData> m_extensions;
|
||||
std::map<std::string, ExternalTypeData> m_externalTypes;
|
||||
std::vector<FeatureData> m_features;
|
||||
std::map<std::string, FormatData> m_formats;
|
||||
std::map<std::string, FuncPointerData> m_funcPointers;
|
||||
std::map<std::string, HandleData> m_handles;
|
||||
std::map<std::string, AliasData> m_handlesAliases;
|
||||
std::map<std::string, IncludeData> m_includes;
|
||||
std::map<std::string, PlatformData> m_platforms;
|
||||
std::set<std::string> m_RAIISpecialFunctions;
|
||||
std::set<std::string> m_removedCommands;
|
||||
std::map<std::string, EnumData> m_removedEnums;
|
||||
std::set<std::string> m_removedFeatures;
|
||||
std::set<std::string> m_removedStructs;
|
||||
std::map<std::string, TypeData> m_removedTypes;
|
||||
std::map<std::string, StructureData> m_structs;
|
||||
std::map<std::string, AliasData> m_structsAliases;
|
||||
std::map<std::string, std::set<std::string>> m_structsAliasesInverse;
|
||||
std::map<std::string, TagData> m_tags;
|
||||
std::map<std::string, TypeData> m_types;
|
||||
std::string m_typesafeCheck;
|
||||
std::string m_version;
|
||||
std::string m_vulkanLicenseHeader;
|
||||
};
|
||||
|
@ -4103,6 +4103,68 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
|
||||
}
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
void vkCmdTraceRaysKHR( VkCommandBuffer commandBuffer,
|
||||
const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdTraceRaysKHR(
|
||||
commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
|
||||
}
|
||||
|
||||
VkResult vkCreateRayTracingPipelinesKHR( VkDevice device,
|
||||
VkDeferredOperationKHR deferredOperation,
|
||||
VkPipelineCache pipelineCache,
|
||||
uint32_t createInfoCount,
|
||||
const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
|
||||
const VkAllocationCallbacks * pAllocator,
|
||||
VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
|
||||
}
|
||||
|
||||
VkResult vkGetRayTracingShaderGroupHandlesKHR(
|
||||
VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
|
||||
}
|
||||
|
||||
VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||
VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
|
||||
}
|
||||
|
||||
void vkCmdTraceRaysIndirectKHR( VkCommandBuffer commandBuffer,
|
||||
const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdTraceRaysIndirectKHR(
|
||||
commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
|
||||
}
|
||||
|
||||
VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice device,
|
||||
VkPipeline pipeline,
|
||||
uint32_t group,
|
||||
VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
|
||||
}
|
||||
|
||||
void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
|
||||
}
|
||||
|
||||
//=== VK_KHR_sampler_ycbcr_conversion ===
|
||||
|
||||
VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice device,
|
||||
@ -5143,68 +5205,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
void vkCmdTraceRaysKHR( VkCommandBuffer commandBuffer,
|
||||
const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdTraceRaysKHR(
|
||||
commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
|
||||
}
|
||||
|
||||
VkResult vkCreateRayTracingPipelinesKHR( VkDevice device,
|
||||
VkDeferredOperationKHR deferredOperation,
|
||||
VkPipelineCache pipelineCache,
|
||||
uint32_t createInfoCount,
|
||||
const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
|
||||
const VkAllocationCallbacks * pAllocator,
|
||||
VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
|
||||
}
|
||||
|
||||
VkResult vkGetRayTracingShaderGroupHandlesKHR(
|
||||
VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
|
||||
}
|
||||
|
||||
VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||
VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
|
||||
}
|
||||
|
||||
void vkCmdTraceRaysIndirectKHR( VkCommandBuffer commandBuffer,
|
||||
const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdTraceRaysIndirectKHR(
|
||||
commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
|
||||
}
|
||||
|
||||
VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice device,
|
||||
VkPipeline pipeline,
|
||||
uint32_t group,
|
||||
VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
|
||||
}
|
||||
|
||||
void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
|
||||
}
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
|
||||
void vkCmdSetVertexInputEXT( VkCommandBuffer commandBuffer,
|
||||
@ -9359,6 +9359,53 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_ray_query ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_NV_framebuffer_mixed_samples ===
|
||||
template <>
|
||||
struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
|
||||
@ -11722,53 +11769,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_ray_query ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
|
||||
@ -13080,7 +13080,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
# elif defined( __APPLE__ )
|
||||
m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
|
||||
# elif defined( _WIN32 )
|
||||
m_library = ::LoadLibraryA( "vulkan-1.dll" );
|
||||
m_library = ::LoadLibraryA( "vulkan-1.dll" );
|
||||
# else
|
||||
# error unsupported platform
|
||||
# endif
|
||||
@ -13741,6 +13741,15 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
|
||||
PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR = 0;
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = 0;
|
||||
PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = 0;
|
||||
PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR = 0;
|
||||
PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
|
||||
PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR = 0;
|
||||
PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR = 0;
|
||||
PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR = 0;
|
||||
|
||||
//=== VK_KHR_sampler_ycbcr_conversion ===
|
||||
PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR = 0;
|
||||
PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
|
||||
@ -14010,15 +14019,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
|
||||
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = 0;
|
||||
PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = 0;
|
||||
PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR = 0;
|
||||
PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
|
||||
PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR = 0;
|
||||
PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR = 0;
|
||||
PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR = 0;
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
|
||||
|
||||
@ -14899,6 +14899,19 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
vkGetAccelerationStructureBuildSizesKHR =
|
||||
PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
|
||||
vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
|
||||
vkGetRayTracingShaderGroupHandlesKHR =
|
||||
PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
|
||||
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
|
||||
PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
|
||||
vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
|
||||
vkGetRayTracingShaderGroupStackSizeKHR =
|
||||
PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
|
||||
vkCmdSetRayTracingPipelineStackSizeKHR =
|
||||
PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
|
||||
|
||||
//=== VK_KHR_sampler_ycbcr_conversion ===
|
||||
vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
|
||||
if ( !vkCreateSamplerYcbcrConversion )
|
||||
@ -15268,19 +15281,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
|
||||
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
|
||||
vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
|
||||
vkGetRayTracingShaderGroupHandlesKHR =
|
||||
PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
|
||||
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
|
||||
PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
|
||||
vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
|
||||
vkGetRayTracingShaderGroupStackSizeKHR =
|
||||
PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
|
||||
vkCmdSetRayTracingPipelineStackSizeKHR =
|
||||
PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
|
||||
|
||||
@ -15913,6 +15913,18 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
vkGetAccelerationStructureBuildSizesKHR =
|
||||
PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
|
||||
vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
|
||||
vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
|
||||
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
|
||||
PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
|
||||
vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
|
||||
vkGetRayTracingShaderGroupStackSizeKHR =
|
||||
PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
|
||||
vkCmdSetRayTracingPipelineStackSizeKHR =
|
||||
PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
|
||||
|
||||
//=== VK_KHR_sampler_ycbcr_conversion ===
|
||||
vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
|
||||
if ( !vkCreateSamplerYcbcrConversion )
|
||||
@ -16228,18 +16240,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
//=== VK_EXT_device_fault ===
|
||||
vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
|
||||
vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
|
||||
vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
|
||||
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
|
||||
PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
|
||||
vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
|
||||
vkGetRayTracingShaderGroupStackSizeKHR =
|
||||
PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
|
||||
vkCmdSetRayTracingPipelineStackSizeKHR =
|
||||
PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
|
||||
|
||||
|
@ -5297,6 +5297,24 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eUpdate = VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
|
||||
};
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
enum class RayTracingShaderGroupTypeKHR
|
||||
{
|
||||
eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
|
||||
eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
|
||||
eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
|
||||
};
|
||||
using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
|
||||
|
||||
enum class ShaderGroupShaderKHR
|
||||
{
|
||||
eGeneral = VK_SHADER_GROUP_SHADER_GENERAL_KHR,
|
||||
eClosestHit = VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR,
|
||||
eAnyHit = VK_SHADER_GROUP_SHADER_ANY_HIT_KHR,
|
||||
eIntersection = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR
|
||||
};
|
||||
|
||||
//=== VK_NV_framebuffer_mixed_samples ===
|
||||
|
||||
enum class CoverageModulationModeNV
|
||||
@ -6113,24 +6131,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
enum class RayTracingShaderGroupTypeKHR
|
||||
{
|
||||
eGeneral = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
|
||||
eTrianglesHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
|
||||
eProceduralHitGroup = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR
|
||||
};
|
||||
using RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
|
||||
|
||||
enum class ShaderGroupShaderKHR
|
||||
{
|
||||
eGeneral = VK_SHADER_GROUP_SHADER_GENERAL_KHR,
|
||||
eClosestHit = VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR,
|
||||
eAnyHit = VK_SHADER_GROUP_SHADER_ANY_HIT_KHR,
|
||||
eIntersection = VK_SHADER_GROUP_SHADER_INTERSECTION_KHR
|
||||
};
|
||||
|
||||
//=== VK_EXT_device_address_binding_report ===
|
||||
|
||||
enum class DeviceAddressBindingFlagBitsEXT : VkDeviceAddressBindingFlagsEXT
|
||||
|
@ -14379,6 +14379,421 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkCmdTraceRaysKHR( m_commandBuffer,
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pRaygenShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pMissShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pHitShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pCallableShaderBindingTable ),
|
||||
width,
|
||||
height,
|
||||
depth );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
d.vkCmdTraceRaysKHR( m_commandBuffer,
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ),
|
||||
width,
|
||||
height,
|
||||
depth );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
|
||||
Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
uint32_t createInfoCount,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos,
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
|
||||
VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>( d.vkCreateRayTracingPipelinesKHR( m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfoCount,
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( pCreateInfos ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
|
||||
reinterpret_cast<VkPipeline *>( pPipelines ) ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename PipelineAllocator, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
|
||||
Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() );
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfos.size(),
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( pipelines.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
|
||||
return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines );
|
||||
}
|
||||
|
||||
template <typename PipelineAllocator,
|
||||
typename Dispatch,
|
||||
typename B0,
|
||||
typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
|
||||
Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
PipelineAllocator & pipelineAllocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator );
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfos.size(),
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( pipelines.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
|
||||
return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines );
|
||||
}
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
|
||||
Device::createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline;
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
1,
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( &pipeline ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHR",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
|
||||
return ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipeline );
|
||||
}
|
||||
|
||||
# ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||
template <typename Dispatch, typename PipelineAllocator>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
|
||||
Device::createRayTracingPipelinesKHRUnique(
|
||||
VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() );
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfos.size(),
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( pipelines.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines;
|
||||
uniquePipelines.reserve( createInfos.size() );
|
||||
ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
|
||||
for ( auto const & pipeline : pipelines )
|
||||
{
|
||||
uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) );
|
||||
}
|
||||
return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>(
|
||||
static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), std::move( uniquePipelines ) );
|
||||
}
|
||||
|
||||
template <typename Dispatch,
|
||||
typename PipelineAllocator,
|
||||
typename B0,
|
||||
typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
|
||||
Device::createRayTracingPipelinesKHRUnique(
|
||||
VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
PipelineAllocator & pipelineAllocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() );
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfos.size(),
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( pipelines.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines( pipelineAllocator );
|
||||
uniquePipelines.reserve( createInfos.size() );
|
||||
ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
|
||||
for ( auto const & pipeline : pipelines )
|
||||
{
|
||||
uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) );
|
||||
}
|
||||
return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>(
|
||||
static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), std::move( uniquePipelines ) );
|
||||
}
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>
|
||||
Device::createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline;
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
1,
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( &pipeline ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHRUnique",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
|
||||
return ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>(
|
||||
static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>( pipeline, ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) );
|
||||
}
|
||||
# endif /* VULKAN_HPP_NO_SMART_HANDLE */
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
void * pData,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>(
|
||||
d.vkGetRayTracingShaderGroupHandlesKHR( m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename DataType, typename DataTypeAllocator, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::getRayTracingShaderGroupHandlesKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 );
|
||||
std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) );
|
||||
VkResult result = d.vkGetRayTracingShaderGroupHandlesKHR(
|
||||
m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesKHR" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
|
||||
}
|
||||
|
||||
template <typename DataType, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type
|
||||
Device::getRayTracingShaderGroupHandleKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
DataType data;
|
||||
VkResult result = d.vkGetRayTracingShaderGroupHandlesKHR(
|
||||
m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast<void *>( &data ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandleKHR" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
void * pData,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>(
|
||||
d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename DataType, typename DataTypeAllocator, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
|
||||
Device::getRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 );
|
||||
std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) );
|
||||
VkResult result = d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||
m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
|
||||
}
|
||||
|
||||
template <typename DataType, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type Device::getRayTracingCaptureReplayShaderGroupHandleKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
DataType data;
|
||||
VkResult result = d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||
m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast<void *>( &data ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandleKHR" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkCmdTraceRaysIndirectKHR( m_commandBuffer,
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pRaygenShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pMissShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pHitShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pCallableShaderBindingTable ),
|
||||
static_cast<VkDeviceAddress>( indirectDeviceAddress ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
|
||||
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
d.vkCmdTraceRaysIndirectKHR( m_commandBuffer,
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ),
|
||||
static_cast<VkDeviceAddress>( indirectDeviceAddress ) );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE DeviceSize Device::getRayTracingShaderGroupStackSizeKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t group,
|
||||
VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<DeviceSize>(
|
||||
d.vkGetRayTracingShaderGroupStackSizeKHR( m_device, static_cast<VkPipeline>( pipeline ), group, static_cast<VkShaderGroupShaderKHR>( groupShader ) ) );
|
||||
}
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkCmdSetRayTracingPipelineStackSizeKHR( m_commandBuffer, pipelineStackSize );
|
||||
}
|
||||
|
||||
//=== VK_KHR_sampler_ycbcr_conversion ===
|
||||
|
||||
template <typename Dispatch>
|
||||
@ -18947,421 +19362,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
# endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkCmdTraceRaysKHR( m_commandBuffer,
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pRaygenShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pMissShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pHitShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pCallableShaderBindingTable ),
|
||||
width,
|
||||
height,
|
||||
depth );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
d.vkCmdTraceRaysKHR( m_commandBuffer,
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ),
|
||||
width,
|
||||
height,
|
||||
depth );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
|
||||
Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
uint32_t createInfoCount,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos,
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
|
||||
VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>( d.vkCreateRayTracingPipelinesKHR( m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfoCount,
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( pCreateInfos ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
|
||||
reinterpret_cast<VkPipeline *>( pPipelines ) ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename PipelineAllocator, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
|
||||
Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() );
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfos.size(),
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( pipelines.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
|
||||
return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines );
|
||||
}
|
||||
|
||||
template <typename PipelineAllocator,
|
||||
typename Dispatch,
|
||||
typename B0,
|
||||
typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
|
||||
Device::createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
PipelineAllocator & pipelineAllocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator );
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfos.size(),
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( pipelines.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
|
||||
return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines );
|
||||
}
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
|
||||
Device::createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline;
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
1,
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( &pipeline ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHR",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
|
||||
return ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipeline );
|
||||
}
|
||||
|
||||
# ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||
template <typename Dispatch, typename PipelineAllocator>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
|
||||
Device::createRayTracingPipelinesKHRUnique(
|
||||
VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() );
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfos.size(),
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( pipelines.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines;
|
||||
uniquePipelines.reserve( createInfos.size() );
|
||||
ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
|
||||
for ( auto const & pipeline : pipelines )
|
||||
{
|
||||
uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) );
|
||||
}
|
||||
return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>(
|
||||
static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), std::move( uniquePipelines ) );
|
||||
}
|
||||
|
||||
template <typename Dispatch,
|
||||
typename PipelineAllocator,
|
||||
typename B0,
|
||||
typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
|
||||
Device::createRayTracingPipelinesKHRUnique(
|
||||
VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
PipelineAllocator & pipelineAllocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::Pipeline> pipelines( createInfos.size() );
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
createInfos.size(),
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( pipelines.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator> uniquePipelines( pipelineAllocator );
|
||||
uniquePipelines.reserve( createInfos.size() );
|
||||
ObjectDestroy<Device, Dispatch> deleter( *this, allocator, d );
|
||||
for ( auto const & pipeline : pipelines )
|
||||
{
|
||||
uniquePipelines.push_back( UniqueHandle<Pipeline, Dispatch>( pipeline, deleter ) );
|
||||
}
|
||||
return ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>(
|
||||
static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), std::move( uniquePipelines ) );
|
||||
}
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>
|
||||
Device::createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline;
|
||||
VkResult result = d.vkCreateRayTracingPipelinesKHR(
|
||||
m_device,
|
||||
static_cast<VkDeferredOperationKHR>( deferredOperation ),
|
||||
static_cast<VkPipelineCache>( pipelineCache ),
|
||||
1,
|
||||
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( &createInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkPipeline *>( &pipeline ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHRUnique",
|
||||
{ VULKAN_HPP_NAMESPACE::Result::eSuccess,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR,
|
||||
VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } );
|
||||
|
||||
return ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>(
|
||||
static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
|
||||
UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>( pipeline, ObjectDestroy<Device, Dispatch>( *this, allocator, d ) ) );
|
||||
}
|
||||
# endif /* VULKAN_HPP_NO_SMART_HANDLE */
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
void * pData,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>(
|
||||
d.vkGetRayTracingShaderGroupHandlesKHR( m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename DataType, typename DataTypeAllocator, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::getRayTracingShaderGroupHandlesKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 );
|
||||
std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) );
|
||||
VkResult result = d.vkGetRayTracingShaderGroupHandlesKHR(
|
||||
m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesKHR" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
|
||||
}
|
||||
|
||||
template <typename DataType, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type
|
||||
Device::getRayTracingShaderGroupHandleKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
DataType data;
|
||||
VkResult result = d.vkGetRayTracingShaderGroupHandlesKHR(
|
||||
m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast<void *>( &data ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandleKHR" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
void * pData,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>(
|
||||
d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, dataSize, pData ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename DataType, typename DataTypeAllocator, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
|
||||
Device::getRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 );
|
||||
std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) );
|
||||
VkResult result = d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||
m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
|
||||
}
|
||||
|
||||
template <typename DataType, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type Device::getRayTracingCaptureReplayShaderGroupHandleKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
DataType data;
|
||||
VkResult result = d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||
m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast<void *>( &data ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandleKHR" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkCmdTraceRaysIndirectKHR( m_commandBuffer,
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pRaygenShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pMissShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pHitShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( pCallableShaderBindingTable ),
|
||||
static_cast<VkDeviceAddress>( indirectDeviceAddress ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
|
||||
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
d.vkCmdTraceRaysIndirectKHR( m_commandBuffer,
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &raygenShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &missShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &hitShaderBindingTable ),
|
||||
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>( &callableShaderBindingTable ),
|
||||
static_cast<VkDeviceAddress>( indirectDeviceAddress ) );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE DeviceSize Device::getRayTracingShaderGroupStackSizeKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t group,
|
||||
VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<DeviceSize>(
|
||||
d.vkGetRayTracingShaderGroupStackSizeKHR( m_device, static_cast<VkPipeline>( pipeline ), group, static_cast<VkShaderGroupShaderKHR>( groupShader ) ) );
|
||||
}
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkCmdSetRayTracingPipelineStackSizeKHR( m_commandBuffer, pipelineStackSize );
|
||||
}
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
|
||||
template <typename Dispatch>
|
||||
|
@ -868,6 +868,18 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
struct CopyAccelerationStructureInfoKHR;
|
||||
struct AccelerationStructureBuildSizesInfoKHR;
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
struct RayTracingShaderGroupCreateInfoKHR;
|
||||
struct RayTracingPipelineCreateInfoKHR;
|
||||
struct PhysicalDeviceRayTracingPipelineFeaturesKHR;
|
||||
struct PhysicalDeviceRayTracingPipelinePropertiesKHR;
|
||||
struct StridedDeviceAddressRegionKHR;
|
||||
struct TraceRaysIndirectCommandKHR;
|
||||
struct RayTracingPipelineInterfaceCreateInfoKHR;
|
||||
|
||||
//=== VK_KHR_ray_query ===
|
||||
struct PhysicalDeviceRayQueryFeaturesKHR;
|
||||
|
||||
//=== VK_NV_framebuffer_mixed_samples ===
|
||||
struct PipelineCoverageModulationStateCreateInfoNV;
|
||||
|
||||
@ -1321,18 +1333,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
struct DirectFBSurfaceCreateInfoEXT;
|
||||
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
struct RayTracingShaderGroupCreateInfoKHR;
|
||||
struct RayTracingPipelineCreateInfoKHR;
|
||||
struct PhysicalDeviceRayTracingPipelineFeaturesKHR;
|
||||
struct PhysicalDeviceRayTracingPipelinePropertiesKHR;
|
||||
struct StridedDeviceAddressRegionKHR;
|
||||
struct TraceRaysIndirectCommandKHR;
|
||||
struct RayTracingPipelineInterfaceCreateInfoKHR;
|
||||
|
||||
//=== VK_KHR_ray_query ===
|
||||
struct PhysicalDeviceRayQueryFeaturesKHR;
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT;
|
||||
struct VertexInputBindingDescription2EXT;
|
||||
@ -5110,6 +5110,49 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth,
|
||||
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>
|
||||
void traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
|
||||
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>
|
||||
void traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
|
||||
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
//=== VK_NV_shading_rate_image ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
@ -5639,49 +5682,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth,
|
||||
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>
|
||||
void traceRaysKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t depth,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pMissShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pHitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
|
||||
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
|
||||
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>
|
||||
void traceRaysIndirectKHR( const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & raygenShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & missShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & hitShaderBindingTable,
|
||||
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR & callableShaderBindingTable,
|
||||
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
@ -11018,6 +11018,119 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD Result createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
uint32_t createInfoCount,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos,
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
|
||||
VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
|
||||
createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>,
|
||||
typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
|
||||
typename B0 = PipelineAllocator,
|
||||
typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type = 0>
|
||||
VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
|
||||
createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
PipelineAllocator & pipelineAllocator,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
|
||||
createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
# ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
|
||||
typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>>
|
||||
VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
|
||||
createRayTracingPipelinesKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
|
||||
typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>,
|
||||
typename B0 = PipelineAllocator,
|
||||
typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type = 0>
|
||||
VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
|
||||
createRayTracingPipelinesKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
PipelineAllocator & pipelineAllocator,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>
|
||||
createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
# endif /* VULKAN_HPP_NO_SMART_HANDLE */
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD Result getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
void * pData,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
|
||||
getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingShaderGroupHandleKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD Result
|
||||
getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
void * pData,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
|
||||
getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingCaptureReplayShaderGroupHandleKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
DeviceSize getRayTracingShaderGroupStackSizeKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t group,
|
||||
VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
//=== VK_KHR_sampler_ycbcr_conversion ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
@ -12013,119 +12126,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
getFaultInfoEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD Result createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
uint32_t createInfoCount,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR * pCreateInfos,
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
|
||||
VULKAN_HPP_NAMESPACE::Pipeline * pPipelines,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
|
||||
createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename PipelineAllocator = std::allocator<VULKAN_HPP_NAMESPACE::Pipeline>,
|
||||
typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
|
||||
typename B0 = PipelineAllocator,
|
||||
typename std::enable_if<std::is_same<typename B0::value_type, Pipeline>::value, int>::type = 0>
|
||||
VULKAN_HPP_NODISCARD ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>
|
||||
createRayTracingPipelinesKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
PipelineAllocator & pipelineAllocator,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
|
||||
createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
# ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
|
||||
typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>>
|
||||
VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
|
||||
createRayTracingPipelinesKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
|
||||
typename PipelineAllocator = std::allocator<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>,
|
||||
typename B0 = PipelineAllocator,
|
||||
typename std::enable_if<std::is_same<typename B0::value_type, UniqueHandle<Pipeline, Dispatch>>::value, int>::type = 0>
|
||||
VULKAN_HPP_NODISCARD ResultValue<std::vector<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>, PipelineAllocator>>
|
||||
createRayTracingPipelinesKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const & createInfos,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
PipelineAllocator & pipelineAllocator,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<VULKAN_HPP_NAMESPACE::Pipeline, Dispatch>>
|
||||
createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
||||
VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
|
||||
const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
# endif /* VULKAN_HPP_NO_SMART_HANDLE */
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD Result getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
void * pData,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
|
||||
getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingShaderGroupHandleKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD Result
|
||||
getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
void * pData,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type
|
||||
getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t firstGroup,
|
||||
uint32_t groupCount,
|
||||
size_t dataSize,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type getRayTracingCaptureReplayShaderGroupHandleKHR(
|
||||
VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
DeviceSize getRayTracingShaderGroupStackSizeKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
||||
uint32_t group,
|
||||
VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
#if defined( VK_USE_PLATFORM_FUCHSIA )
|
||||
//=== VK_FUCHSIA_external_memory ===
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3421,6 +3421,64 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Accelera
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR>::value,
|
||||
"AccelerationStructureBuildSizesInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR ) == sizeof( VkRayTracingShaderGroupCreateInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR>::value,
|
||||
"RayTracingShaderGroupCreateInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR ) == sizeof( VkRayTracingPipelineCreateInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR>::value,
|
||||
"RayTracingPipelineCreateInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceRayTracingPipelineFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR>::value,
|
||||
"PhysicalDeviceRayTracingPipelineFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceRayTracingPipelinePropertiesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR>::value,
|
||||
"PhysicalDeviceRayTracingPipelinePropertiesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR ) == sizeof( VkStridedDeviceAddressRegionKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR>::value,
|
||||
"StridedDeviceAddressRegionKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR ) == sizeof( VkTraceRaysIndirectCommandKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR>::value,
|
||||
"TraceRaysIndirectCommandKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR ) == sizeof( VkRayTracingPipelineInterfaceCreateInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR>::value,
|
||||
"RayTracingPipelineInterfaceCreateInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_ray_query ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR ) == sizeof( VkPhysicalDeviceRayQueryFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR>::value,
|
||||
"PhysicalDeviceRayQueryFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_NV_framebuffer_mixed_samples ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineCoverageModulationStateCreateInfoNV ) ==
|
||||
@ -5344,64 +5402,6 @@ VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPAC
|
||||
"DirectFBSurfaceCreateInfoEXT is not nothrow_move_constructible!" );
|
||||
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR ) == sizeof( VkRayTracingShaderGroupCreateInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RayTracingShaderGroupCreateInfoKHR>::value,
|
||||
"RayTracingShaderGroupCreateInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR ) == sizeof( VkRayTracingPipelineCreateInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR>::value,
|
||||
"RayTracingPipelineCreateInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceRayTracingPipelineFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelineFeaturesKHR>::value,
|
||||
"PhysicalDeviceRayTracingPipelineFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceRayTracingPipelinePropertiesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingPipelinePropertiesKHR>::value,
|
||||
"PhysicalDeviceRayTracingPipelinePropertiesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR ) == sizeof( VkStridedDeviceAddressRegionKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR>::value,
|
||||
"StridedDeviceAddressRegionKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR ) == sizeof( VkTraceRaysIndirectCommandKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::TraceRaysIndirectCommandKHR>::value,
|
||||
"TraceRaysIndirectCommandKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR ) == sizeof( VkRayTracingPipelineInterfaceCreateInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RayTracingPipelineInterfaceCreateInfoKHR>::value,
|
||||
"RayTracingPipelineInterfaceCreateInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_ray_query ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR ) == sizeof( VkPhysicalDeviceRayQueryFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayQueryFeaturesKHR>::value,
|
||||
"PhysicalDeviceRayQueryFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_vertex_input_dynamic_state ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexInputDynamicStateFeaturesEXT ) ==
|
||||
|
@ -7301,6 +7301,31 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
}
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( RayTracingShaderGroupTypeKHR value )
|
||||
{
|
||||
switch ( value )
|
||||
{
|
||||
case RayTracingShaderGroupTypeKHR::eGeneral: return "General";
|
||||
case RayTracingShaderGroupTypeKHR::eTrianglesHitGroup: return "TrianglesHitGroup";
|
||||
case RayTracingShaderGroupTypeKHR::eProceduralHitGroup: return "ProceduralHitGroup";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( ShaderGroupShaderKHR value )
|
||||
{
|
||||
switch ( value )
|
||||
{
|
||||
case ShaderGroupShaderKHR::eGeneral: return "General";
|
||||
case ShaderGroupShaderKHR::eClosestHit: return "ClosestHit";
|
||||
case ShaderGroupShaderKHR::eAnyHit: return "AnyHit";
|
||||
case ShaderGroupShaderKHR::eIntersection: return "Intersection";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
//=== VK_NV_framebuffer_mixed_samples ===
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( CoverageModulationModeNV value )
|
||||
@ -8026,31 +8051,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
||||
|
||||
//=== VK_KHR_ray_tracing_pipeline ===
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( RayTracingShaderGroupTypeKHR value )
|
||||
{
|
||||
switch ( value )
|
||||
{
|
||||
case RayTracingShaderGroupTypeKHR::eGeneral: return "General";
|
||||
case RayTracingShaderGroupTypeKHR::eTrianglesHitGroup: return "TrianglesHitGroup";
|
||||
case RayTracingShaderGroupTypeKHR::eProceduralHitGroup: return "ProceduralHitGroup";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( ShaderGroupShaderKHR value )
|
||||
{
|
||||
switch ( value )
|
||||
{
|
||||
case ShaderGroupShaderKHR::eGeneral: return "General";
|
||||
case ShaderGroupShaderKHR::eClosestHit: return "ClosestHit";
|
||||
case ShaderGroupShaderKHR::eAnyHit: return "AnyHit";
|
||||
case ShaderGroupShaderKHR::eIntersection: return "Intersection";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
//=== VK_EXT_device_address_binding_report ===
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( DeviceAddressBindingFlagBitsEXT value )
|
||||
|
Loading…
Reference in New Issue
Block a user