Skip to content

Commit 490eba5

Browse files
committed
SPV: Update to the latest SPIR-V header, includes variable-rate shading
1 parent 3ead011 commit 490eba5

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

SPIRV/spirv.hpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,8 @@ enum ImageFormat {
274274
ImageFormatRg8ui = 37,
275275
ImageFormatR16ui = 38,
276276
ImageFormatR8ui = 39,
277+
ImageFormatR64ui = 40,
278+
ImageFormatR64i = 41,
277279
ImageFormatMax = 0x7fffffff,
278280
};
279281

@@ -558,8 +560,10 @@ enum BuiltIn {
558560
BuiltInBaseVertex = 4424,
559561
BuiltInBaseInstance = 4425,
560562
BuiltInDrawIndex = 4426,
563+
BuiltInPrimitiveShadingRateKHR = 4432,
561564
BuiltInDeviceIndex = 4438,
562565
BuiltInViewIndex = 4440,
566+
BuiltInShadingRateKHR = 4444,
563567
BuiltInBaryCoordNoPerspAMD = 4992,
564568
BuiltInBaryCoordNoPerspCentroidAMD = 4993,
565569
BuiltInBaryCoordNoPerspSampleAMD = 4994,
@@ -870,6 +874,7 @@ enum Capability {
870874
CapabilityGroupNonUniformQuad = 68,
871875
CapabilityShaderLayer = 69,
872876
CapabilityShaderViewportIndex = 70,
877+
CapabilityFragmentShadingRateKHR = 4422,
873878
CapabilitySubgroupBallotKHR = 4423,
874879
CapabilityDrawParameters = 4427,
875880
CapabilitySubgroupVoteKHR = 4431,
@@ -900,6 +905,7 @@ enum Capability {
900905
CapabilityFragmentMaskAMD = 5010,
901906
CapabilityStencilExportEXT = 5013,
902907
CapabilityImageReadWriteLodAMD = 5015,
908+
CapabilityInt64ImageEXT = 5016,
903909
CapabilityShaderClockKHR = 5055,
904910
CapabilitySampleMaskOverrideCoverageNV = 5249,
905911
CapabilityGeometryShaderPassthroughNV = 5251,
@@ -1024,6 +1030,22 @@ enum RayQueryCandidateIntersectionType {
10241030
RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
10251031
};
10261032

1033+
enum FragmentShadingRateShift {
1034+
FragmentShadingRateVertical2PixelsShift = 0,
1035+
FragmentShadingRateVertical4PixelsShift = 1,
1036+
FragmentShadingRateHorizontal2PixelsShift = 2,
1037+
FragmentShadingRateHorizontal4PixelsShift = 3,
1038+
FragmentShadingRateMax = 0x7fffffff,
1039+
};
1040+
1041+
enum FragmentShadingRateMask {
1042+
FragmentShadingRateMaskNone = 0,
1043+
FragmentShadingRateVertical2PixelsMask = 0x00000001,
1044+
FragmentShadingRateVertical4PixelsMask = 0x00000002,
1045+
FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
1046+
FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
1047+
};
1048+
10271049
enum Op {
10281050
OpNop = 0,
10291051
OpUndef = 1,
@@ -1369,6 +1391,7 @@ enum Op {
13691391
OpPtrEqual = 401,
13701392
OpPtrNotEqual = 402,
13711393
OpPtrDiff = 403,
1394+
OpTerminateInvocation = 4416,
13721395
OpSubgroupBallotKHR = 4421,
13731396
OpSubgroupFirstInvocationKHR = 4422,
13741397
OpSubgroupAllKHR = 4428,
@@ -1939,6 +1962,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
19391962
case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
19401963
case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
19411964
case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
1965+
case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
19421966
case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
19431967
case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
19441968
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
@@ -2164,6 +2188,7 @@ inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask
21642188
inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
21652189
inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
21662190
inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
2191+
inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
21672192

21682193
} // end namespace spv
21692194

0 commit comments

Comments
 (0)