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()
|
||||
file(TO_NATIVE_PATH ${VulkanHeaders_INCLUDE_DIR}/vulkan/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)
|
||||
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})
|
||||
|
||||
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:
|
||||
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 appendDispatchLoaderStatic( std::string & str ); // use exported symbols from loader
|
||||
void appendDispatchLoaderDefault(
|
||||
@ -44,6 +42,8 @@ public:
|
||||
void appendThrowExceptions( std::string & str ) const;
|
||||
void appendIndexTypeTraits( std::string & str ) const;
|
||||
std::set<std::string> determineSpecialFunctions();
|
||||
std::string generateBaseTypes() const;
|
||||
std::string generateBitmasks() const;
|
||||
std::string const & getTypesafeCheck() const;
|
||||
std::string const & getVersion() const;
|
||||
std::string const & getVulkanLicenseHeader() const;
|
||||
@ -158,6 +158,7 @@ private:
|
||||
|
||||
std::string alias; // alias for this enum
|
||||
std::map<std::string, EnumAliasData> aliases;
|
||||
std::string bitwidth;
|
||||
bool isBitmask = false;
|
||||
std::vector<EnumValueData> values;
|
||||
int xmlLine;
|
||||
@ -169,7 +170,7 @@ private:
|
||||
|
||||
std::vector<std::string> commands;
|
||||
std::string number;
|
||||
std::vector<std::pair<std::string, int>> types;
|
||||
std::vector<std::string> types;
|
||||
};
|
||||
|
||||
struct ExtensionData
|
||||
@ -292,48 +293,7 @@ private:
|
||||
|
||||
private:
|
||||
void addCommand( std::string const & name, CommandData & commandData );
|
||||
void appendArgumentPlainType( std::string & str, ParamData const & paramData ) const;
|
||||
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 addMissingFlagBits( std::vector<std::string> & types, std::string const & referencedIn );
|
||||
void appendCommandChained( std::string & str,
|
||||
std::string const & name,
|
||||
CommandData const & commandData,
|
||||
@ -1067,6 +1027,7 @@ private:
|
||||
std::map<size_t, std::vector<size_t>> const & countToVectorMap,
|
||||
std::set<size_t> const & skippedParams ) const;
|
||||
void checkCorrectness();
|
||||
void checkEnumCorrectness( std::vector<std::string> const & types ) const;
|
||||
bool containsArray( std::string const & type ) const;
|
||||
bool containsUnion( std::string const & type ) const;
|
||||
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::map<size_t, size_t> determineVectorParamIndicesNew( std::vector<ParamData> const & params ) const;
|
||||
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
|
||||
generateLenInitializer( std::vector<MemberData>::const_iterator mit,
|
||||
std::map<std::vector<MemberData>::const_iterator,
|
||||
@ -1196,6 +1170,7 @@ private:
|
||||
void readType( tinyxml2::XMLElement const * element );
|
||||
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 );
|
||||
TypeInfo readTypeInfo( tinyxml2::XMLElement const * element ) const;
|
||||
void readTypes( tinyxml2::XMLElement const * element );
|
||||
void registerDeleter( std::string const & name, std::pair<std::string, CommandData> const & commandData );
|
||||
void renameFunctionParameters();
|
||||
|
113692
vulkan/vulkan.hpp
113692
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