@@ -184,10 +184,12 @@ class SPIRVDecorate : public SPIRVDecorateGeneric {
184184 return ExtensionID::SPV_INTEL_fpga_invocation_pipelining_attributes;
185185 case internal::DecorationRuntimeAlignedINTEL:
186186 return ExtensionID::SPV_INTEL_runtime_aligned;
187- case internal::DecorationHostAccessINTEL:
188- case internal::DecorationInitModeINTEL:
189- case internal::DecorationImplementInCSRINTEL:
190- return ExtensionID::SPV_INTEL_global_variable_decorations;
187+ case DecorationInitModeINTEL:
188+ case DecorationImplementInRegisterMapINTEL:
189+ return ExtensionID::SPV_INTEL_global_variable_fpga_decorations;
190+ case DecorationHostAccessINTEL:
191+ return ExtensionID::SPV_INTEL_global_variable_host_access;
192+
191193 case DecorationConduitKernelArgumentINTEL:
192194 case DecorationRegisterMapKernelArgumentINTEL:
193195 case DecorationStableKernelArgumentINTEL:
@@ -730,9 +732,10 @@ class SPIRVDecoratePipelineEnableINTEL : public SPIRVDecorate {
730732class SPIRVDecorateHostAccessINTEL : public SPIRVDecorate {
731733public:
732734 // Complete constructor for SPIRVHostAccessINTEL
733- SPIRVDecorateHostAccessINTEL (SPIRVEntry *TheTarget, SPIRVWord AccessMode,
735+ SPIRVDecorateHostAccessINTEL (SPIRVEntry *TheTarget,
736+ HostAccessQualifier AccessMode,
734737 const std::string &VarName)
735- : SPIRVDecorate(spv::internal:: DecorationHostAccessINTEL, TheTarget) {
738+ : SPIRVDecorate(DecorationHostAccessINTEL, TheTarget) {
736739 Literals.push_back (AccessMode);
737740 for (auto &I : getVec (VarName))
738741 Literals.push_back (I);
@@ -748,7 +751,7 @@ class SPIRVDecorateHostAccessINTEL : public SPIRVDecorate {
748751 const std::vector<SPIRVWord> &Literals) {
749752#ifdef _SPIRV_SUPPORT_TEXT_FMT
750753 if (SPIRVUseTextFormat) {
751- Encoder << Literals.front ();
754+ Encoder << (HostAccessQualifier) Literals.front ();
752755 std::string Name = getString (Literals.cbegin () + 1 , Literals.cend ());
753756 Encoder << Name;
754757 } else
@@ -760,7 +763,7 @@ class SPIRVDecorateHostAccessINTEL : public SPIRVDecorate {
760763 std::vector<SPIRVWord> &Literals) {
761764#ifdef _SPIRV_SUPPORT_TEXT_FMT
762765 if (SPIRVUseTextFormat) {
763- SPIRVWord Mode;
766+ HostAccessQualifier Mode;
764767 Decoder >> Mode;
765768 std::string Name;
766769 Decoder >> Name;
@@ -777,17 +780,42 @@ class SPIRVDecorateHostAccessINTEL : public SPIRVDecorate {
777780class SPIRVDecorateInitModeINTEL : public SPIRVDecorate {
778781public:
779782 // Complete constructor for SPIRVInitModeINTEL
780- SPIRVDecorateInitModeINTEL (SPIRVEntry *TheTarget, SPIRVWord Trigger)
781- : SPIRVDecorate(spv::internal::DecorationInitModeINTEL, TheTarget,
782- Trigger) {}
783+ SPIRVDecorateInitModeINTEL (SPIRVEntry *TheTarget,
784+ InitializationModeQualifier Trigger)
785+ : SPIRVDecorate(DecorationInitModeINTEL, TheTarget) {
786+ Literals.push_back (Trigger);
787+ WordCount += Literals.size ();
788+ }
789+ static void encodeLiterals (SPIRVEncoder &Encoder,
790+ const std::vector<SPIRVWord> &Literals) {
791+ #ifdef _SPIRV_SUPPORT_TEXT_FMT
792+ if (SPIRVUseTextFormat) {
793+ Encoder << (InitializationModeQualifier)Literals.back ();
794+ } else
795+ #endif
796+ Encoder << Literals;
797+ }
798+
799+ static void decodeLiterals (SPIRVDecoder &Decoder,
800+ std::vector<SPIRVWord> &Literals) {
801+ #ifdef _SPIRV_SUPPORT_TEXT_FMT
802+ if (SPIRVUseTextFormat) {
803+ InitializationModeQualifier Q;
804+ Decoder >> Q;
805+ Literals.back () = Q;
806+ } else
807+ #endif
808+ Decoder >> Literals;
809+ }
783810};
784811
785- class SPIRVDecorateImplementInCSRINTEL : public SPIRVDecorate {
812+ class SPIRVDecorateImplementInRegisterMapINTEL : public SPIRVDecorate {
786813public:
787814 // Complete constructor for SPIRVImplementInCSRINTEL
788- SPIRVDecorateImplementInCSRINTEL (SPIRVEntry *TheTarget, SPIRVWord Value)
789- : SPIRVDecorate(spv::internal::DecorationImplementInCSRINTEL, TheTarget,
790- Value) {}
815+ SPIRVDecorateImplementInRegisterMapINTEL (SPIRVEntry *TheTarget,
816+ SPIRVWord Value)
817+ : SPIRVDecorate(DecorationImplementInRegisterMapINTEL, TheTarget, Value) {
818+ }
791819};
792820
793821class SPIRVDecorateCacheControlLoadINTEL : public SPIRVDecorate {
0 commit comments