|
|
@@ -168,10 +168,16 @@ enum ExecutionMode {
|
|
|
ExecutionModeSampleInterlockUnorderedEXT = 5369,
|
|
|
ExecutionModeShadingRateInterlockOrderedEXT = 5370,
|
|
|
ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
|
|
|
+ ExecutionModeSharedLocalMemorySizeINTEL = 5618,
|
|
|
+ ExecutionModeRoundingModeRTPINTEL = 5620,
|
|
|
+ ExecutionModeRoundingModeRTNINTEL = 5621,
|
|
|
+ ExecutionModeFloatingPointModeALTINTEL = 5622,
|
|
|
+ ExecutionModeFloatingPointModeIEEEINTEL = 5623,
|
|
|
ExecutionModeMaxWorkgroupSizeINTEL = 5893,
|
|
|
ExecutionModeMaxWorkDimINTEL = 5894,
|
|
|
ExecutionModeNoGlobalOffsetINTEL = 5895,
|
|
|
ExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
|
|
+ ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
|
|
ExecutionModeMax = 0x7fffffff,
|
|
|
};
|
|
|
|
|
|
@@ -204,6 +210,8 @@ enum StorageClass {
|
|
|
StorageClassPhysicalStorageBuffer = 5349,
|
|
|
StorageClassPhysicalStorageBufferEXT = 5349,
|
|
|
StorageClassCodeSectionINTEL = 5605,
|
|
|
+ StorageClassDeviceOnlyINTEL = 5936,
|
|
|
+ StorageClassHostOnlyINTEL = 5937,
|
|
|
StorageClassMax = 0x7fffffff,
|
|
|
};
|
|
|
|
|
|
@@ -374,6 +382,8 @@ enum FPFastMathModeShift {
|
|
|
FPFastMathModeNSZShift = 2,
|
|
|
FPFastMathModeAllowRecipShift = 3,
|
|
|
FPFastMathModeFastShift = 4,
|
|
|
+ FPFastMathModeAllowContractFastINTELShift = 16,
|
|
|
+ FPFastMathModeAllowReassocINTELShift = 17,
|
|
|
FPFastMathModeMax = 0x7fffffff,
|
|
|
};
|
|
|
|
|
|
@@ -384,6 +394,8 @@ enum FPFastMathModeMask {
|
|
|
FPFastMathModeNSZMask = 0x00000004,
|
|
|
FPFastMathModeAllowRecipMask = 0x00000008,
|
|
|
FPFastMathModeFastMask = 0x00000010,
|
|
|
+ FPFastMathModeAllowContractFastINTELMask = 0x00010000,
|
|
|
+ FPFastMathModeAllowReassocINTELMask = 0x00020000,
|
|
|
};
|
|
|
|
|
|
enum FPRoundingMode {
|
|
|
@@ -484,12 +496,22 @@ enum Decoration {
|
|
|
DecorationRestrictPointerEXT = 5355,
|
|
|
DecorationAliasedPointer = 5356,
|
|
|
DecorationAliasedPointerEXT = 5356,
|
|
|
+ DecorationSIMTCallINTEL = 5599,
|
|
|
DecorationReferencedIndirectlyINTEL = 5602,
|
|
|
+ DecorationClobberINTEL = 5607,
|
|
|
+ DecorationSideEffectsINTEL = 5608,
|
|
|
+ DecorationVectorComputeVariableINTEL = 5624,
|
|
|
+ DecorationFuncParamIOKindINTEL = 5625,
|
|
|
+ DecorationVectorComputeFunctionINTEL = 5626,
|
|
|
+ DecorationStackCallINTEL = 5627,
|
|
|
+ DecorationGlobalVariableOffsetINTEL = 5628,
|
|
|
DecorationCounterBuffer = 5634,
|
|
|
DecorationHlslCounterBufferGOOGLE = 5634,
|
|
|
DecorationHlslSemanticGOOGLE = 5635,
|
|
|
DecorationUserSemantic = 5635,
|
|
|
DecorationUserTypeGOOGLE = 5636,
|
|
|
+ DecorationFunctionRoundingModeINTEL = 5822,
|
|
|
+ DecorationFunctionDenormModeINTEL = 5823,
|
|
|
DecorationRegisterINTEL = 5825,
|
|
|
DecorationMemoryINTEL = 5826,
|
|
|
DecorationNumbanksINTEL = 5827,
|
|
|
@@ -502,6 +524,17 @@ enum Decoration {
|
|
|
DecorationMergeINTEL = 5834,
|
|
|
DecorationBankBitsINTEL = 5835,
|
|
|
DecorationForcePow2DepthINTEL = 5836,
|
|
|
+ DecorationBurstCoalesceINTEL = 5899,
|
|
|
+ DecorationCacheSizeINTEL = 5900,
|
|
|
+ DecorationDontStaticallyCoalesceINTEL = 5901,
|
|
|
+ DecorationPrefetchINTEL = 5902,
|
|
|
+ DecorationStallEnableINTEL = 5905,
|
|
|
+ DecorationFuseLoopsInFunctionINTEL = 5907,
|
|
|
+ DecorationBufferLocationINTEL = 5921,
|
|
|
+ DecorationIOPipeStorageINTEL = 5944,
|
|
|
+ DecorationFunctionFloatingPointModeINTEL = 6080,
|
|
|
+ DecorationSingleElementVectorINTEL = 6085,
|
|
|
+ DecorationVectorComputeCallableFunctionINTEL = 6087,
|
|
|
DecorationMax = 0x7fffffff,
|
|
|
};
|
|
|
|
|
|
@@ -656,6 +689,7 @@ enum LoopControlShift {
|
|
|
LoopControlLoopCoalesceINTELShift = 20,
|
|
|
LoopControlMaxInterleavingINTELShift = 21,
|
|
|
LoopControlSpeculatedIterationsINTELShift = 22,
|
|
|
+ LoopControlNoFusionINTELShift = 23,
|
|
|
LoopControlMax = 0x7fffffff,
|
|
|
};
|
|
|
|
|
|
@@ -677,6 +711,7 @@ enum LoopControlMask {
|
|
|
LoopControlLoopCoalesceINTELMask = 0x00100000,
|
|
|
LoopControlMaxInterleavingINTELMask = 0x00200000,
|
|
|
LoopControlSpeculatedIterationsINTELMask = 0x00400000,
|
|
|
+ LoopControlNoFusionINTELMask = 0x00800000,
|
|
|
};
|
|
|
|
|
|
enum FunctionControlShift {
|
|
|
@@ -876,6 +911,9 @@ enum Capability {
|
|
|
CapabilityFragmentShadingRateKHR = 4422,
|
|
|
CapabilitySubgroupBallotKHR = 4423,
|
|
|
CapabilityDrawParameters = 4427,
|
|
|
+ CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
|
|
|
+ CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
|
|
+ CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
|
|
CapabilitySubgroupVoteKHR = 4431,
|
|
|
CapabilityStorageBuffer16BitAccess = 4433,
|
|
|
CapabilityStorageUniformBufferBlock16 = 4433,
|
|
|
@@ -966,21 +1004,37 @@ enum Capability {
|
|
|
CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
|
|
CapabilitySubgroupImageBlockIOINTEL = 5570,
|
|
|
CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
|
|
|
+ CapabilityRoundToInfinityINTEL = 5582,
|
|
|
+ CapabilityFloatingPointModeINTEL = 5583,
|
|
|
CapabilityIntegerFunctions2INTEL = 5584,
|
|
|
CapabilityFunctionPointersINTEL = 5603,
|
|
|
CapabilityIndirectReferencesINTEL = 5604,
|
|
|
+ CapabilityAsmINTEL = 5606,
|
|
|
+ CapabilityVectorComputeINTEL = 5617,
|
|
|
+ CapabilityVectorAnyINTEL = 5619,
|
|
|
CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
|
|
CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
|
|
CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
|
|
+ CapabilityVariableLengthArrayINTEL = 5817,
|
|
|
+ CapabilityFunctionFloatControlINTEL = 5821,
|
|
|
CapabilityFPGAMemoryAttributesINTEL = 5824,
|
|
|
+ CapabilityFPFastMathModeINTEL = 5837,
|
|
|
+ CapabilityArbitraryPrecisionIntegersINTEL = 5844,
|
|
|
CapabilityUnstructuredLoopControlsINTEL = 5886,
|
|
|
CapabilityFPGALoopControlsINTEL = 5888,
|
|
|
CapabilityKernelAttributesINTEL = 5892,
|
|
|
CapabilityFPGAKernelAttributesINTEL = 5897,
|
|
|
+ CapabilityFPGAMemoryAccessesINTEL = 5898,
|
|
|
+ CapabilityFPGAClusterAttributesINTEL = 5904,
|
|
|
+ CapabilityLoopFuseINTEL = 5906,
|
|
|
+ CapabilityFPGABufferLocationINTEL = 5920,
|
|
|
+ CapabilityUSMStorageClassesINTEL = 5935,
|
|
|
+ CapabilityIOPipesINTEL = 5943,
|
|
|
CapabilityBlockingPipesINTEL = 5945,
|
|
|
CapabilityFPGARegINTEL = 5948,
|
|
|
CapabilityAtomicFloat32AddEXT = 6033,
|
|
|
CapabilityAtomicFloat64AddEXT = 6034,
|
|
|
+ CapabilityLongConstantCompositeINTEL = 6089,
|
|
|
CapabilityMax = 0x7fffffff,
|
|
|
};
|
|
|
|
|
|
@@ -1047,6 +1101,18 @@ enum FragmentShadingRateMask {
|
|
|
FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
|
|
|
};
|
|
|
|
|
|
+enum FPDenormMode {
|
|
|
+ FPDenormModePreserve = 0,
|
|
|
+ FPDenormModeFlushToZero = 1,
|
|
|
+ FPDenormModeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum FPOperationMode {
|
|
|
+ FPOperationModeIEEE = 0,
|
|
|
+ FPOperationModeALT = 1,
|
|
|
+ FPOperationModeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
enum Op {
|
|
|
OpNop = 0,
|
|
|
OpUndef = 1,
|
|
|
@@ -1466,8 +1532,11 @@ enum Op {
|
|
|
OpUSubSatINTEL = 5596,
|
|
|
OpIMul32x16INTEL = 5597,
|
|
|
OpUMul32x16INTEL = 5598,
|
|
|
- OpFunctionPointerINTEL = 5600,
|
|
|
+ OpConstFunctionPointerINTEL = 5600,
|
|
|
OpFunctionPointerCallINTEL = 5601,
|
|
|
+ OpAsmTargetINTEL = 5609,
|
|
|
+ OpAsmINTEL = 5610,
|
|
|
+ OpAsmCallINTEL = 5611,
|
|
|
OpDecorateString = 5632,
|
|
|
OpDecorateStringGOOGLE = 5632,
|
|
|
OpMemberDecorateString = 5633,
|
|
|
@@ -1590,7 +1659,12 @@ enum Op {
|
|
|
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
|
|
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
|
|
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
|
|
+ OpVariableLengthArrayINTEL = 5818,
|
|
|
+ OpSaveMemoryINTEL = 5819,
|
|
|
+ OpRestoreMemoryINTEL = 5820,
|
|
|
OpLoopControlINTEL = 5887,
|
|
|
+ OpPtrCastToCrossWorkgroupINTEL = 5934,
|
|
|
+ OpCrossWorkgroupCastToPtrINTEL = 5938,
|
|
|
OpReadPipeBlockingINTEL = 5946,
|
|
|
OpWritePipeBlockingINTEL = 5947,
|
|
|
OpFPGARegINTEL = 5949,
|
|
|
@@ -1612,6 +1686,10 @@ enum Op {
|
|
|
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
|
|
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
|
|
OpAtomicFAddEXT = 6035,
|
|
|
+ OpTypeBufferSurfaceINTEL = 6086,
|
|
|
+ OpTypeStructContinuedINTEL = 6090,
|
|
|
+ OpConstantCompositeContinuedINTEL = 6091,
|
|
|
+ OpSpecConstantCompositeContinuedINTEL = 6092,
|
|
|
OpMax = 0x7fffffff,
|
|
|
};
|
|
|
|
|
|
@@ -2036,8 +2114,11 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
|
|
case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
- case OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpConstFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
|
case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
|
case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
@@ -2158,7 +2239,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
|
|
case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
@@ -2180,6 +2266,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
|
|
case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
|
|
|
+ case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
}
|
|
|
}
|
|
|
#endif /* SPV_ENABLE_UTILITY_CODE */
|