|
|
|
|
@@ -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 */
|
|
|
|
|
|