@@ -287,12 +287,24 @@ class VulkanHppGenerator
287287 int xmlLine = {};
288288 };
289289
290+ struct DeprecatedCommandData
291+ {
292+ std::string name = {};
293+ std::string supersededBy = {};
294+ };
295+
296+ struct DeprecatedTypeData
297+ {
298+ std::string name = {};
299+ std::string supersededBy = {};
300+ };
301+
290302 struct DeprecateData
291303 {
292- std::string explanationLink = {};
293- std::vector<std::string > commands = {};
294- std::vector<std::string> types = {};
295- int xmlLine = 0 ;
304+ std::string explanationLink = {};
305+ std::vector<DeprecatedCommandData > commands = {};
306+ std::vector<DeprecatedTypeData> types = {};
307+ int xmlLine = 0 ;
296308 };
297309
298310 struct ExtensionData
@@ -608,43 +620,43 @@ class VulkanHppGenerator
608620 std::string findTag ( std::string const & name, std::string const & postfix = " " ) const ;
609621 std::vector<MemberData>::const_iterator findHandleMember ( std::vector<MemberData> const & memberData ) const ;
610622 std::vector<MemberData>::const_iterator findVectorMember ( std::vector<MemberData> const & memberData ) const ;
611- void forEachRequiredBitmask ( std::vector<RequireData> const & requireData,
612- std::set<std::string> & encounteredBitmasks,
613- std::function<void ( std::pair<std::string, BitmaskData> const & )> const & bitmaskAction ) const ;
614- void forEachRequiredCommand ( std::vector<RequireData> const & requireData,
615- std::function<void ( NameLine const &, std::pair<std::string, CommandData> const & )> const & commandAction ) const ;
616- void forEachRequiredConstant ( std::vector<RequireData> const & requireData,
617- std::set<std::string> & encounteredConstants,
618- std::function<void ( std::pair<std::string, ConstantData> const & )> const & constantAction ) const ;
619- void forEachRequiredEnumConstant ( std::vector<RequireData> const & requireData,
620- std::set<std::string> & encounteredEnumConstants,
621- std::function<void ( EnumConstantData const & )> const & enumConstantAction ) const ;
622- void forEachRequiredFuncPointer ( std::vector<RequireData> const & requireData,
623- std::function<void ( std::pair<std::string, FuncPointerData> const & )> const & funcPointerAction ) const ;
624- void forEachRequiredHandle ( std::vector<RequireData> const & requireData,
625- std::function<void ( std::pair<std::string, HandleData> const & )> const & handleAction ) const ;
626- void forEachRequiredStruct ( std::vector<RequireData> const & requireData,
627- std::function<void ( std::pair<std::string, StructData> const & )> const & structAction ) const ;
628- std::set<std::string> gatherResultCodes () const ;
629- std::pair<std::string, std::string> generateAllocatorTemplates ( std::vector<size_t > const & returnParams,
630- std::vector<std::string> const & returnDataTypes,
631- std::map<size_t , VectorParamData> const & vectorParams,
632- std::vector<size_t > const & chainedReturnParams,
633- CommandFlavourFlags flavourFlags,
634- bool definition ) const ;
635- std::string generateArgumentListEnhanced ( std::vector<ParamData> const & params,
636- std::vector<size_t > const & returnParams,
637- std::map<size_t , VectorParamData> const & vectorParams,
638- std::set<size_t > const & skippedParams,
639- std::set<size_t > const & singularParams,
640- std::set<size_t > const & templatedParams,
641- std::vector<size_t > const & chainedReturnParams,
642- bool raii,
643- bool definition,
644- CommandFlavourFlags flavourFlags,
645- bool withDispatcher ) const ;
646- std::string generateArgumentListStandard (
647- std::vector<ParamData> const & params, std::set<size_t > const & skippedParams, bool definition, bool raii, bool withDispatcher ) const ;
623+ void forEachRequiredBitmask ( std::vector<RequireData> const & requireData,
624+ std::set<std::string> & encounteredBitmasks,
625+ std::function<void ( std::pair<std::string, BitmaskData> const & )> const & bitmaskAction ) const ;
626+ void forEachRequiredCommand ( std::vector<RequireData> const & requireData,
627+ std::function<void ( NameLine const &, std::pair<std::string, CommandData> const & )> const & commandAction ) const ;
628+ void forEachRequiredConstant ( std::vector<RequireData> const & requireData,
629+ std::set<std::string> & encounteredConstants,
630+ std::function<void ( std::pair<std::string, ConstantData> const & )> const & constantAction ) const ;
631+ void forEachRequiredEnumConstant ( std::vector<RequireData> const & requireData,
632+ std::set<std::string> & encounteredEnumConstants,
633+ std::function<void ( EnumConstantData const & )> const & enumConstantAction ) const ;
634+ void forEachRequiredFuncPointer ( std::vector<RequireData> const & requireData,
635+ std::function<void ( std::pair<std::string, FuncPointerData> const & )> const & funcPointerAction ) const ;
636+ void forEachRequiredHandle ( std::vector<RequireData> const & requireData,
637+ std::function<void ( std::pair<std::string, HandleData> const & )> const & handleAction ) const ;
638+ void forEachRequiredStruct ( std::vector<RequireData> const & requireData,
639+ std::function<void ( std::pair<std::string, StructData> const & )> const & structAction ) const ;
640+ std::set<std::string> gatherResultCodes () const ;
641+ std::pair<std::string, std::string> generateAllocatorTemplates ( std::vector<size_t > const & returnParams,
642+ std::vector<std::string> const & returnDataTypes,
643+ std::map<size_t , VectorParamData> const & vectorParams,
644+ std::vector<size_t > const & chainedReturnParams,
645+ CommandFlavourFlags flavourFlags,
646+ bool definition ) const ;
647+ std::string generateArgumentListEnhanced ( std::vector<ParamData> const & params,
648+ std::vector<size_t > const & returnParams,
649+ std::map<size_t , VectorParamData> const & vectorParams,
650+ std::set<size_t > const & skippedParams,
651+ std::set<size_t > const & singularParams,
652+ std::set<size_t > const & templatedParams,
653+ std::vector<size_t > const & chainedReturnParams,
654+ bool raii,
655+ bool definition,
656+ CommandFlavourFlags flavourFlags,
657+ bool withDispatcher ) const ;
658+ std::string generateArgumentListStandard (
659+ std::vector<ParamData> const & params, std::set<size_t > const & skippedParams, bool definition, bool raii, bool withDispatcher ) const ;
648660 std::string generateArgumentTemplates ( std::vector<ParamData> const & params,
649661 std::vector<size_t > const & returnParams,
650662 std::map<size_t , VectorParamData> const & vectorParams,
@@ -952,9 +964,9 @@ class VulkanHppGenerator
952964 std::string generateIsDispatchedList () const ;
953965 std::string generateLayerSettingTypeTraits () const ;
954966 std::string
955- generateLenInitializer ( std::vector<MemberData>::const_iterator mit,
956- std::map<std::vector<MemberData>::const_iterator, std::vector<std::vector<MemberData>::const_iterator>>::const_iterator litit,
957- bool mutualExclusiveLens ) const ;
967+ generateLenInitializer ( std::vector<MemberData>::const_iterator mit,
968+ std::map<std::vector<MemberData>::const_iterator, std::vector<std::vector<MemberData>::const_iterator>>::const_iterator litit,
969+ bool mutualExclusiveLens ) const ;
958970 std::string generateName ( TypeInfo const & typeInfo ) const ;
959971 std::string generateNoExcept ( std::vector<std::string> const & errorCodes,
960972 std::vector<size_t > const & returnParams,
@@ -1207,6 +1219,8 @@ class VulkanHppGenerator
12071219 std::pair<std::string, TypeInfo> readCommandProto ( tinyxml2::XMLElement const * element, std::string const & prefix );
12081220 void readCommands ( tinyxml2::XMLElement const * element );
12091221 std::string readComment ( tinyxml2::XMLElement const * element ) const ;
1222+ DeprecatedCommandData readDeprecatedCommand ( tinyxml2::XMLElement const * element ) const ;
1223+ DeprecatedTypeData readDeprecatedType ( tinyxml2::XMLElement const * element ) const ;
12101224 DeprecateData readDeprecateData ( tinyxml2::XMLElement const * element ) const ;
12111225 void readEnums ( tinyxml2::XMLElement const * element );
12121226 void readEnumsConstants ( tinyxml2::XMLElement const * element );
@@ -1230,7 +1244,7 @@ class VulkanHppGenerator
12301244 RemoveData readRemoveData ( tinyxml2::XMLElement const * element );
12311245 NameLine readRequireCommand ( tinyxml2::XMLElement const * element );
12321246 void readRequireEnum (
1233- tinyxml2::XMLElement const * element, std::string const & requiredBy, std::string const & platform, bool supported, RequireData & requireData );
1247+ tinyxml2::XMLElement const * element, std::string const & requiredBy, std::string const & platform, bool supported, RequireData & requireData );
12341248 RequireFeature readRequireFeature ( tinyxml2::XMLElement const * element );
12351249 NameLine readRequireType ( tinyxml2::XMLElement const * element );
12361250 void readSPIRVCapability ( tinyxml2::XMLElement const * element );
0 commit comments