Merge pull request #979 from asuessenbach/multifile
Split vulkan.hpp into multiple sub-headers
This commit is contained in:
commit
18ec7ad602
@ -83,9 +83,22 @@ if (NOT DEFINED VulkanHeaders_INCLUDE_DIR)
|
|||||||
endif()
|
endif()
|
||||||
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/vulkan.hpp vulkan_hpp)
|
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/vulkan.hpp vulkan_hpp)
|
||||||
string(REPLACE "\\" "\\\\" vulkan_hpp ${vulkan_hpp})
|
string(REPLACE "\\" "\\\\" vulkan_hpp ${vulkan_hpp})
|
||||||
|
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/vulkan_enums.hpp vulkan_enums_hpp)
|
||||||
|
string(REPLACE "\\" "\\\\" vulkan_enums_hpp ${vulkan_enums_hpp})
|
||||||
|
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/vulkan_funcs.hpp vulkan_funcs_hpp)
|
||||||
|
string(REPLACE "\\" "\\\\" vulkan_funcs_hpp ${vulkan_funcs_hpp})
|
||||||
|
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/vulkan_handles.hpp vulkan_handles_hpp)
|
||||||
|
string(REPLACE "\\" "\\\\" vulkan_handles_hpp ${vulkan_handles_hpp})
|
||||||
|
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/vulkan_structs.hpp vulkan_structs_hpp)
|
||||||
|
string(REPLACE "\\" "\\\\" vulkan_structs_hpp ${vulkan_structs_hpp})
|
||||||
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/vulkan_raii.hpp vulkan_raii_hpp)
|
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/vulkan_raii.hpp vulkan_raii_hpp)
|
||||||
string(REPLACE "\\" "\\\\" vulkan_raii_hpp ${vulkan_raii_hpp})
|
string(REPLACE "\\" "\\\\" vulkan_raii_hpp ${vulkan_raii_hpp})
|
||||||
add_definitions(-DVULKAN_HPP_FILE="${vulkan_hpp}" -DVULKAN_RAII_HPP_FILE="${vulkan_raii_hpp}")
|
add_definitions(-DVULKAN_HPP_FILE="${vulkan_hpp}"
|
||||||
|
-DVULKAN_ENUMS_HPP_FILE="${vulkan_enums_hpp}"
|
||||||
|
-DVULKAN_FUNCS_HPP_FILE="${vulkan_funcs_hpp}"
|
||||||
|
-DVULKAN_HANDLES_HPP_FILE="${vulkan_handles_hpp}"
|
||||||
|
-DVULKAN_STRUCTS_HPP_FILE="${vulkan_structs_hpp}"
|
||||||
|
-DVULKAN_RAII_HPP_FILE="${vulkan_raii_hpp}")
|
||||||
include_directories(${VulkanHeaders_INCLUDE_DIR})
|
include_directories(${VulkanHeaders_INCLUDE_DIR})
|
||||||
|
|
||||||
set(HEADERS
|
set(HEADERS
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 7fe877c90abf00bc71b3c68f49db4c9bb1010411
|
Subproject commit 9d10a96f2d57c3c37e167f2e73c9a31ac2e51fa5
|
File diff suppressed because it is too large
Load Diff
@ -25,8 +25,6 @@ class VulkanHppGenerator
|
|||||||
public:
|
public:
|
||||||
VulkanHppGenerator( tinyxml2::XMLDocument const & document );
|
VulkanHppGenerator( tinyxml2::XMLDocument const & document );
|
||||||
|
|
||||||
void appendBaseTypes( std::string & str ) const;
|
|
||||||
void appendBitmasks( std::string & str ) const;
|
|
||||||
void appendDispatchLoaderDynamic( std::string & str ); // use vkGet*ProcAddress to get function pointers
|
void appendDispatchLoaderDynamic( std::string & str ); // use vkGet*ProcAddress to get function pointers
|
||||||
void appendDispatchLoaderStatic( std::string & str ); // use exported symbols from loader
|
void appendDispatchLoaderStatic( std::string & str ); // use exported symbols from loader
|
||||||
void appendDispatchLoaderDefault(
|
void appendDispatchLoaderDefault(
|
||||||
@ -44,6 +42,8 @@ public:
|
|||||||
void appendThrowExceptions( std::string & str ) const;
|
void appendThrowExceptions( std::string & str ) const;
|
||||||
void appendIndexTypeTraits( std::string & str ) const;
|
void appendIndexTypeTraits( std::string & str ) const;
|
||||||
std::set<std::string> determineSpecialFunctions();
|
std::set<std::string> determineSpecialFunctions();
|
||||||
|
std::string generateBaseTypes() const;
|
||||||
|
std::string generateBitmasks() const;
|
||||||
std::string const & getTypesafeCheck() const;
|
std::string const & getTypesafeCheck() const;
|
||||||
std::string const & getVersion() const;
|
std::string const & getVersion() const;
|
||||||
std::string const & getVulkanLicenseHeader() const;
|
std::string const & getVulkanLicenseHeader() const;
|
||||||
@ -158,6 +158,7 @@ private:
|
|||||||
|
|
||||||
std::string alias; // alias for this enum
|
std::string alias; // alias for this enum
|
||||||
std::map<std::string, EnumAliasData> aliases;
|
std::map<std::string, EnumAliasData> aliases;
|
||||||
|
std::string bitwidth;
|
||||||
bool isBitmask = false;
|
bool isBitmask = false;
|
||||||
std::vector<EnumValueData> values;
|
std::vector<EnumValueData> values;
|
||||||
int xmlLine;
|
int xmlLine;
|
||||||
@ -169,7 +170,7 @@ private:
|
|||||||
|
|
||||||
std::vector<std::string> commands;
|
std::vector<std::string> commands;
|
||||||
std::string number;
|
std::string number;
|
||||||
std::vector<std::pair<std::string, int>> types;
|
std::vector<std::string> types;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ExtensionData
|
struct ExtensionData
|
||||||
@ -292,48 +293,7 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void addCommand( std::string const & name, CommandData & commandData );
|
void addCommand( std::string const & name, CommandData & commandData );
|
||||||
void appendArgumentPlainType( std::string & str, ParamData const & paramData ) const;
|
void addMissingFlagBits( std::vector<std::string> & types, std::string const & referencedIn );
|
||||||
void appendArguments( std::string & str,
|
|
||||||
CommandData const & commandData,
|
|
||||||
size_t returnParamIndex,
|
|
||||||
size_t templateParamIndex,
|
|
||||||
std::map<size_t, size_t> const & vectorParamIndices,
|
|
||||||
bool twoStep,
|
|
||||||
bool firstCall,
|
|
||||||
size_t from,
|
|
||||||
size_t to ) const;
|
|
||||||
void appendArgumentVector( std::string & str,
|
|
||||||
size_t paramIndex,
|
|
||||||
ParamData const & paramData,
|
|
||||||
size_t returnParamIndex,
|
|
||||||
size_t templateParamIndex,
|
|
||||||
bool twoStep,
|
|
||||||
bool firstCall ) const;
|
|
||||||
void appendBitmask( std::string & str, std::map<std::string, BitmaskData>::const_iterator bitmaskIt ) const;
|
|
||||||
void appendBitmask( std::string & os,
|
|
||||||
std::string const & bitmaskName,
|
|
||||||
std::string const & bitmaskType,
|
|
||||||
std::string const & bitmaskAlias,
|
|
||||||
std::string const & enumName,
|
|
||||||
std::vector<EnumValueData> const & enumValues ) const;
|
|
||||||
void appendBitmaskToStringFunction( std::string & str,
|
|
||||||
std::string const & flagsName,
|
|
||||||
std::string const & enumName,
|
|
||||||
std::vector<EnumValueData> const & enumValues ) const;
|
|
||||||
void appendCall( std::string & str,
|
|
||||||
std::string const & name,
|
|
||||||
CommandData const & commandData,
|
|
||||||
size_t returnParamIndex,
|
|
||||||
size_t templateParamIndex,
|
|
||||||
std::map<size_t, size_t> const & vectorParamIndices,
|
|
||||||
bool twoStep,
|
|
||||||
bool firstCall ) const;
|
|
||||||
void appendCommand( std::string & str, std::string const & command, std::string const & handle ) const;
|
|
||||||
void appendCommand( std::string & str,
|
|
||||||
std::string const & name,
|
|
||||||
CommandData const & commandData,
|
|
||||||
size_t initialSkipCount,
|
|
||||||
bool definition ) const;
|
|
||||||
void appendCommandChained( std::string & str,
|
void appendCommandChained( std::string & str,
|
||||||
std::string const & name,
|
std::string const & name,
|
||||||
CommandData const & commandData,
|
CommandData const & commandData,
|
||||||
@ -1067,6 +1027,7 @@ private:
|
|||||||
std::map<size_t, std::vector<size_t>> const & countToVectorMap,
|
std::map<size_t, std::vector<size_t>> const & countToVectorMap,
|
||||||
std::set<size_t> const & skippedParams ) const;
|
std::set<size_t> const & skippedParams ) const;
|
||||||
void checkCorrectness();
|
void checkCorrectness();
|
||||||
|
void checkEnumCorrectness( std::vector<std::string> const & types ) const;
|
||||||
bool containsArray( std::string const & type ) const;
|
bool containsArray( std::string const & type ) const;
|
||||||
bool containsUnion( std::string const & type ) const;
|
bool containsUnion( std::string const & type ) const;
|
||||||
size_t determineDefaultStartIndex( std::vector<ParamData> const & params,
|
size_t determineDefaultStartIndex( std::vector<ParamData> const & params,
|
||||||
@ -1094,6 +1055,19 @@ private:
|
|||||||
std::vector<size_t> determineNonConstPointerParamIndices( std::vector<ParamData> const & params ) const;
|
std::vector<size_t> determineNonConstPointerParamIndices( std::vector<ParamData> const & params ) const;
|
||||||
std::map<size_t, size_t> determineVectorParamIndicesNew( std::vector<ParamData> const & params ) const;
|
std::map<size_t, size_t> determineVectorParamIndicesNew( std::vector<ParamData> const & params ) const;
|
||||||
void distributeSecondLevelCommands( std::set<std::string> const & specialFunctions );
|
void distributeSecondLevelCommands( std::set<std::string> const & specialFunctions );
|
||||||
|
std::string generateBitmask( std::map<std::string, BitmaskData>::const_iterator bitmaskIt ) const;
|
||||||
|
std::string generateCommand( std::string const & name,
|
||||||
|
CommandData const & commandData,
|
||||||
|
size_t initialSkipCount,
|
||||||
|
bool definition ) const;
|
||||||
|
std::string generateCommandDefinitions( std::string const & command, std::string const & handle ) const;
|
||||||
|
std::string generateFunctionCall( std::string const & name,
|
||||||
|
CommandData const & commandData,
|
||||||
|
size_t returnParamIndex,
|
||||||
|
size_t templateParamIndex,
|
||||||
|
std::map<size_t, size_t> const & vectorParamIndices,
|
||||||
|
bool twoStep,
|
||||||
|
bool firstCall ) const;
|
||||||
std::string
|
std::string
|
||||||
generateLenInitializer( std::vector<MemberData>::const_iterator mit,
|
generateLenInitializer( std::vector<MemberData>::const_iterator mit,
|
||||||
std::map<std::vector<MemberData>::const_iterator,
|
std::map<std::vector<MemberData>::const_iterator,
|
||||||
@ -1196,6 +1170,7 @@ private:
|
|||||||
void readType( tinyxml2::XMLElement const * element );
|
void readType( tinyxml2::XMLElement const * element );
|
||||||
void readTypeEnum( 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 readTypeInclude( 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 );
|
||||||
|
TypeInfo readTypeInfo( tinyxml2::XMLElement const * element ) const;
|
||||||
void readTypes( tinyxml2::XMLElement const * element );
|
void readTypes( tinyxml2::XMLElement const * element );
|
||||||
void registerDeleter( std::string const & name, std::pair<std::string, CommandData> const & commandData );
|
void registerDeleter( std::string const & name, std::pair<std::string, CommandData> const & commandData );
|
||||||
void renameFunctionParameters();
|
void renameFunctionParameters();
|
||||||
|
113694
vulkan/vulkan.hpp
113694
vulkan/vulkan.hpp
File diff suppressed because it is too large
Load Diff
13987
vulkan/vulkan_enums.hpp
Normal file
13987
vulkan/vulkan_enums.hpp
Normal file
File diff suppressed because it is too large
Load Diff
18043
vulkan/vulkan_funcs.hpp
Normal file
18043
vulkan/vulkan_funcs.hpp
Normal file
File diff suppressed because it is too large
Load Diff
13511
vulkan/vulkan_handles.hpp
Normal file
13511
vulkan/vulkan_handles.hpp
Normal file
File diff suppressed because it is too large
Load Diff
69492
vulkan/vulkan_structs.hpp
Normal file
69492
vulkan/vulkan_structs.hpp
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user