mirror of
https://github.com/openharmony/third_party_spirv-headers.git
synced 2026-07-19 23:03:32 -04:00
Added ray flags, primitive culling flags, queries
This commit is contained in:
@@ -4501,8 +4501,8 @@
|
||||
"operands" : [
|
||||
{ "kind" : "IdResult" }
|
||||
],
|
||||
"capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
|
||||
"capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -4512,10 +4512,467 @@
|
||||
"operands" : [
|
||||
{ "kind" : "IdResult" }
|
||||
],
|
||||
"capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
|
||||
"capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpTypeRayQueryProvisionalKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 4472,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResult" }
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryInitializeKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 4473,
|
||||
"operands" : [
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Accel'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayFlags'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'CullMask'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayOrigin'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayTMin'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayDirection'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayTMax'"
|
||||
}
|
||||
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryTerminateKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 4474,
|
||||
"operands" : [
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGenerateIntersectionKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 4475,
|
||||
"operands" : [
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'HitT'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryConfirmIntersectionKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 4476,
|
||||
"operands" : [
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryProceedKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 4477,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionTypeKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 4479,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetRayTMinKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6016,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetRayFlagsKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6017,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionTKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6018,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6019,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6020,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6021,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6022,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6023,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6024,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6025,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6026,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6027,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6028,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetWorldRayDirectionKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6029,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
|
||||
{
|
||||
"opname" : "OpRayQueryGetWorldRayOriginKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6030,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6031,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 6032,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType" },
|
||||
{ "kind" : "IdResult" },
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'RayQuery'"
|
||||
},
|
||||
{
|
||||
"kind" : "IdRef",
|
||||
"name" : "'Intersection'"
|
||||
}
|
||||
],
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpExecuteCallableNV",
|
||||
"class" : "Reserved",
|
||||
@@ -7016,6 +7473,67 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "BitEnum",
|
||||
"kind" : "RayFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "NoneKHR",
|
||||
"value" : "0x0000",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "OpaqueKHR",
|
||||
"value" : "0x0001",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "NoOpaqueKHR",
|
||||
"value" : "0x0002",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "TerminateOnFirstHitKHR",
|
||||
"value" : "0x0004",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "SkipClosestHitShaderKHR",
|
||||
"value" : "0x0008",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "CullBackFacingTrianglesKHR",
|
||||
"value" : "0x0010",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "CullFrontFacingTrianglesKHR",
|
||||
"value" : "0x0020",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "CullOpaqueKHR",
|
||||
"value" : "0x0040",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "CullNoOpaqueKHR",
|
||||
"value" : "0x0080",
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "SkipTrianglesKHR",
|
||||
"value" : "0x0100",
|
||||
"capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "SkipAABBsKHR",
|
||||
"value" : "0x0200",
|
||||
"capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "SourceLanguage",
|
||||
@@ -10181,6 +10699,20 @@
|
||||
"extensions" : [ "SPV_KHR_float_controls" ],
|
||||
"version" : "1.4"
|
||||
},
|
||||
{
|
||||
"enumerant" : "RayQueryProvisionalKHR",
|
||||
"value" : 4471,
|
||||
"capabilities" : [ "Shader" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "RayTraversalPrimitiveCullingProvisionalKHR",
|
||||
"value" : 4478,
|
||||
"capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
|
||||
"extensions" : [ "SPV_KHR_ray_query","SPV_KHR_ray_tracing" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Float16ImageAMD",
|
||||
"value" : 5008,
|
||||
@@ -10629,6 +11161,59 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "RayQueryIntersection",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "RayQueryCandidateIntersectionKHR",
|
||||
"value" : 0,
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "RayQueryCommittedIntersectionKHR",
|
||||
"value" : 1,
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "RayQueryCommittedIntersectionType",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "RayQueryCommittedIntersectionNoneKHR",
|
||||
"value" : 0,
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
|
||||
"value" : 1,
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
|
||||
"value" : 2,
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "RayQueryCandidateIntersectionType",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
|
||||
"value" : 0,
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "RayQueryCandidateIntersectionAABBKHR",
|
||||
"value" : 1,
|
||||
"capabilities" : [ "RayQueryProvisionalKHR" ]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "Id",
|
||||
"kind" : "IdResultType",
|
||||
|
||||
@@ -864,6 +864,8 @@ namespace Spv
|
||||
SignedZeroInfNanPreserve = 4466,
|
||||
RoundingModeRTE = 4467,
|
||||
RoundingModeRTZ = 4468,
|
||||
RayQueryProvisionalKHR = 4471,
|
||||
RayTraversalPrimitiveCullingProvisionalKHR = 4478,
|
||||
Float16ImageAMD = 5008,
|
||||
ImageGatherBiasLodAMD = 5009,
|
||||
FragmentMaskAMD = 5010,
|
||||
@@ -934,6 +936,54 @@ namespace Spv
|
||||
SubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
}
|
||||
|
||||
public enum RayFlagsShift
|
||||
{
|
||||
OpaqueKHR = 0,
|
||||
NoOpaqueKHR = 1,
|
||||
TerminateOnFirstHitKHR = 2,
|
||||
SkipClosestHitShaderKHR = 3,
|
||||
CullBackFacingTrianglesKHR = 4,
|
||||
CullFrontFacingTrianglesKHR = 5,
|
||||
CullOpaqueKHR = 6,
|
||||
CullNoOpaqueKHR = 7,
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
}
|
||||
|
||||
public enum RayFlagsMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
OpaqueKHR = 0x00000001,
|
||||
NoOpaqueKHR = 0x00000002,
|
||||
TerminateOnFirstHitKHR = 0x00000004,
|
||||
SkipClosestHitShaderKHR = 0x00000008,
|
||||
CullBackFacingTrianglesKHR = 0x00000010,
|
||||
CullFrontFacingTrianglesKHR = 0x00000020,
|
||||
CullOpaqueKHR = 0x00000040,
|
||||
CullNoOpaqueKHR = 0x00000080,
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
}
|
||||
|
||||
public enum RayQueryIntersection
|
||||
{
|
||||
RayQueryCandidateIntersectionKHR = 0,
|
||||
RayQueryCommittedIntersectionKHR = 1,
|
||||
}
|
||||
|
||||
public enum RayQueryCommittedIntersectionType
|
||||
{
|
||||
RayQueryCommittedIntersectionNoneKHR = 0,
|
||||
RayQueryCommittedIntersectionTriangleKHR = 1,
|
||||
RayQueryCommittedIntersectionGeneratedKHR = 2,
|
||||
}
|
||||
|
||||
public enum RayQueryCandidateIntersectionType
|
||||
{
|
||||
RayQueryCandidateIntersectionTriangleKHR = 0,
|
||||
RayQueryCandidateIntersectionAABBKHR = 1,
|
||||
}
|
||||
|
||||
public enum Op
|
||||
{
|
||||
OpNop = 0,
|
||||
@@ -1286,6 +1336,13 @@ namespace Spv
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTypeRayQueryProvisionalKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
OpRayQueryGenerateIntersectionKHR = 4475,
|
||||
OpRayQueryConfirmIntersectionKHR = 4476,
|
||||
OpRayQueryProceedKHR = 4477,
|
||||
OpRayQueryGetIntersectionTypeKHR = 4479,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
@@ -1467,6 +1524,23 @@ namespace Spv
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpRayQueryGetRayTMinKHR = 6016,
|
||||
OpRayQueryGetRayFlagsKHR = 6017,
|
||||
OpRayQueryGetIntersectionTKHR = 6018,
|
||||
OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
|
||||
OpRayQueryGetIntersectionInstanceIdKHR = 6020,
|
||||
OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
|
||||
OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
|
||||
OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
|
||||
OpRayQueryGetIntersectionBarycentricsKHR = 6024,
|
||||
OpRayQueryGetIntersectionFrontFaceKHR = 6025,
|
||||
OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
|
||||
OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
|
||||
OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
|
||||
OpRayQueryGetWorldRayDirectionKHR = 6029,
|
||||
OpRayQueryGetWorldRayOriginKHR = 6030,
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -864,6 +864,8 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilitySignedZeroInfNanPreserve = 4466,
|
||||
SpvCapabilityRoundingModeRTE = 4467,
|
||||
SpvCapabilityRoundingModeRTZ = 4468,
|
||||
SpvCapabilityRayQueryProvisionalKHR = 4471,
|
||||
SpvCapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478,
|
||||
SpvCapabilityFloat16ImageAMD = 5008,
|
||||
SpvCapabilityImageGatherBiasLodAMD = 5009,
|
||||
SpvCapabilityFragmentMaskAMD = 5010,
|
||||
@@ -935,6 +937,53 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityMax = 0x7fffffff,
|
||||
} SpvCapability;
|
||||
|
||||
typedef enum SpvRayFlagsShift_ {
|
||||
SpvRayFlagsOpaqueKHRShift = 0,
|
||||
SpvRayFlagsNoOpaqueKHRShift = 1,
|
||||
SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
|
||||
SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
|
||||
SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
|
||||
SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
|
||||
SpvRayFlagsCullOpaqueKHRShift = 6,
|
||||
SpvRayFlagsCullNoOpaqueKHRShift = 7,
|
||||
SpvRayFlagsSkipTrianglesKHRShift = 8,
|
||||
SpvRayFlagsSkipAABBsKHRShift = 9,
|
||||
SpvRayFlagsMax = 0x7fffffff,
|
||||
} SpvRayFlagsShift;
|
||||
|
||||
typedef enum SpvRayFlagsMask_ {
|
||||
SpvRayFlagsMaskNone = 0,
|
||||
SpvRayFlagsOpaqueKHRMask = 0x00000001,
|
||||
SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
|
||||
SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
|
||||
SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
|
||||
SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
|
||||
SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
|
||||
SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
|
||||
SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
|
||||
SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
|
||||
SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
|
||||
} SpvRayFlagsMask;
|
||||
|
||||
typedef enum SpvRayQueryIntersection_ {
|
||||
SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
|
||||
SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
|
||||
SpvRayQueryIntersectionMax = 0x7fffffff,
|
||||
} SpvRayQueryIntersection;
|
||||
|
||||
typedef enum SpvRayQueryCommittedIntersectionType_ {
|
||||
SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
|
||||
SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
|
||||
SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
|
||||
SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
|
||||
} SpvRayQueryCommittedIntersectionType;
|
||||
|
||||
typedef enum SpvRayQueryCandidateIntersectionType_ {
|
||||
SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
|
||||
SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
|
||||
SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
|
||||
} SpvRayQueryCandidateIntersectionType;
|
||||
|
||||
typedef enum SpvOp_ {
|
||||
SpvOpNop = 0,
|
||||
SpvOpUndef = 1,
|
||||
@@ -1286,6 +1335,13 @@ typedef enum SpvOp_ {
|
||||
SpvOpSubgroupAnyKHR = 4429,
|
||||
SpvOpSubgroupAllEqualKHR = 4430,
|
||||
SpvOpSubgroupReadInvocationKHR = 4432,
|
||||
SpvOpTypeRayQueryProvisionalKHR = 4472,
|
||||
SpvOpRayQueryInitializeKHR = 4473,
|
||||
SpvOpRayQueryTerminateKHR = 4474,
|
||||
SpvOpRayQueryGenerateIntersectionKHR = 4475,
|
||||
SpvOpRayQueryConfirmIntersectionKHR = 4476,
|
||||
SpvOpRayQueryProceedKHR = 4477,
|
||||
SpvOpRayQueryGetIntersectionTypeKHR = 4479,
|
||||
SpvOpGroupIAddNonUniformAMD = 5000,
|
||||
SpvOpGroupFAddNonUniformAMD = 5001,
|
||||
SpvOpGroupFMinNonUniformAMD = 5002,
|
||||
@@ -1467,6 +1523,23 @@ typedef enum SpvOp_ {
|
||||
SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
SpvOpRayQueryGetRayTMinKHR = 6016,
|
||||
SpvOpRayQueryGetRayFlagsKHR = 6017,
|
||||
SpvOpRayQueryGetIntersectionTKHR = 6018,
|
||||
SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
|
||||
SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
|
||||
SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
|
||||
SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
|
||||
SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
|
||||
SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
|
||||
SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
|
||||
SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
|
||||
SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
|
||||
SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
|
||||
SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
|
||||
SpvOpRayQueryGetWorldRayOriginKHR = 6030,
|
||||
SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
SpvOpMax = 0x7fffffff,
|
||||
} SpvOp;
|
||||
|
||||
@@ -1844,6 +1917,30 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
||||
case SpvOpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
|
||||
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
||||
case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
|
||||
|
||||
@@ -860,6 +860,8 @@ enum Capability {
|
||||
CapabilitySignedZeroInfNanPreserve = 4466,
|
||||
CapabilityRoundingModeRTE = 4467,
|
||||
CapabilityRoundingModeRTZ = 4468,
|
||||
CapabilityRayQueryProvisionalKHR = 4471,
|
||||
CapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478,
|
||||
CapabilityFloat16ImageAMD = 5008,
|
||||
CapabilityImageGatherBiasLodAMD = 5009,
|
||||
CapabilityFragmentMaskAMD = 5010,
|
||||
@@ -931,6 +933,53 @@ enum Capability {
|
||||
CapabilityMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum RayFlagsShift {
|
||||
RayFlagsOpaqueKHRShift = 0,
|
||||
RayFlagsNoOpaqueKHRShift = 1,
|
||||
RayFlagsTerminateOnFirstHitKHRShift = 2,
|
||||
RayFlagsSkipClosestHitShaderKHRShift = 3,
|
||||
RayFlagsCullBackFacingTrianglesKHRShift = 4,
|
||||
RayFlagsCullFrontFacingTrianglesKHRShift = 5,
|
||||
RayFlagsCullOpaqueKHRShift = 6,
|
||||
RayFlagsCullNoOpaqueKHRShift = 7,
|
||||
RayFlagsSkipTrianglesKHRShift = 8,
|
||||
RayFlagsSkipAABBsKHRShift = 9,
|
||||
RayFlagsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum RayFlagsMask {
|
||||
RayFlagsMaskNone = 0,
|
||||
RayFlagsOpaqueKHRMask = 0x00000001,
|
||||
RayFlagsNoOpaqueKHRMask = 0x00000002,
|
||||
RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
|
||||
RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
|
||||
RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
|
||||
RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
|
||||
RayFlagsCullOpaqueKHRMask = 0x00000040,
|
||||
RayFlagsCullNoOpaqueKHRMask = 0x00000080,
|
||||
RayFlagsSkipTrianglesKHRMask = 0x00000100,
|
||||
RayFlagsSkipAABBsKHRMask = 0x00000200,
|
||||
};
|
||||
|
||||
enum RayQueryIntersection {
|
||||
RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
|
||||
RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
|
||||
RayQueryIntersectionMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum RayQueryCommittedIntersectionType {
|
||||
RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
|
||||
RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
|
||||
RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
|
||||
RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum RayQueryCandidateIntersectionType {
|
||||
RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
|
||||
RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
|
||||
RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum Op {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
@@ -1282,6 +1331,13 @@ enum Op {
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTypeRayQueryProvisionalKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
OpRayQueryGenerateIntersectionKHR = 4475,
|
||||
OpRayQueryConfirmIntersectionKHR = 4476,
|
||||
OpRayQueryProceedKHR = 4477,
|
||||
OpRayQueryGetIntersectionTypeKHR = 4479,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
@@ -1463,6 +1519,23 @@ enum Op {
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpRayQueryGetRayTMinKHR = 6016,
|
||||
OpRayQueryGetRayFlagsKHR = 6017,
|
||||
OpRayQueryGetIntersectionTKHR = 6018,
|
||||
OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
|
||||
OpRayQueryGetIntersectionInstanceIdKHR = 6020,
|
||||
OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
|
||||
OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
|
||||
OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
|
||||
OpRayQueryGetIntersectionBarycentricsKHR = 6024,
|
||||
OpRayQueryGetIntersectionFrontFaceKHR = 6025,
|
||||
OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
|
||||
OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
|
||||
OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
|
||||
OpRayQueryGetWorldRayDirectionKHR = 6029,
|
||||
OpRayQueryGetWorldRayOriginKHR = 6030,
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
OpMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -1840,6 +1913,30 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
|
||||
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
||||
case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
|
||||
@@ -2008,6 +2105,7 @@ inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask
|
||||
inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
|
||||
inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
|
||||
inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
|
||||
inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
|
||||
|
||||
} // end namespace spv
|
||||
|
||||
|
||||
@@ -860,6 +860,8 @@ enum class Capability : unsigned {
|
||||
SignedZeroInfNanPreserve = 4466,
|
||||
RoundingModeRTE = 4467,
|
||||
RoundingModeRTZ = 4468,
|
||||
RayQueryProvisionalKHR = 4471,
|
||||
RayTraversalPrimitiveCullingProvisionalKHR = 4478,
|
||||
Float16ImageAMD = 5008,
|
||||
ImageGatherBiasLodAMD = 5009,
|
||||
FragmentMaskAMD = 5010,
|
||||
@@ -931,6 +933,53 @@ enum class Capability : unsigned {
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class RayFlagsShift : unsigned {
|
||||
OpaqueKHR = 0,
|
||||
NoOpaqueKHR = 1,
|
||||
TerminateOnFirstHitKHR = 2,
|
||||
SkipClosestHitShaderKHR = 3,
|
||||
CullBackFacingTrianglesKHR = 4,
|
||||
CullFrontFacingTrianglesKHR = 5,
|
||||
CullOpaqueKHR = 6,
|
||||
CullNoOpaqueKHR = 7,
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class RayFlagsMask : unsigned {
|
||||
MaskNone = 0,
|
||||
OpaqueKHR = 0x00000001,
|
||||
NoOpaqueKHR = 0x00000002,
|
||||
TerminateOnFirstHitKHR = 0x00000004,
|
||||
SkipClosestHitShaderKHR = 0x00000008,
|
||||
CullBackFacingTrianglesKHR = 0x00000010,
|
||||
CullFrontFacingTrianglesKHR = 0x00000020,
|
||||
CullOpaqueKHR = 0x00000040,
|
||||
CullNoOpaqueKHR = 0x00000080,
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
};
|
||||
|
||||
enum class RayQueryIntersection : unsigned {
|
||||
RayQueryCandidateIntersectionKHR = 0,
|
||||
RayQueryCommittedIntersectionKHR = 1,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class RayQueryCommittedIntersectionType : unsigned {
|
||||
RayQueryCommittedIntersectionNoneKHR = 0,
|
||||
RayQueryCommittedIntersectionTriangleKHR = 1,
|
||||
RayQueryCommittedIntersectionGeneratedKHR = 2,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class RayQueryCandidateIntersectionType : unsigned {
|
||||
RayQueryCandidateIntersectionTriangleKHR = 0,
|
||||
RayQueryCandidateIntersectionAABBKHR = 1,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class Op : unsigned {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
@@ -1282,6 +1331,13 @@ enum class Op : unsigned {
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTypeRayQueryProvisionalKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
OpRayQueryGenerateIntersectionKHR = 4475,
|
||||
OpRayQueryConfirmIntersectionKHR = 4476,
|
||||
OpRayQueryProceedKHR = 4477,
|
||||
OpRayQueryGetIntersectionTypeKHR = 4479,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
@@ -1463,6 +1519,23 @@ enum class Op : unsigned {
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpRayQueryGetRayTMinKHR = 6016,
|
||||
OpRayQueryGetRayFlagsKHR = 6017,
|
||||
OpRayQueryGetIntersectionTKHR = 6018,
|
||||
OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
|
||||
OpRayQueryGetIntersectionInstanceIdKHR = 6020,
|
||||
OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
|
||||
OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
|
||||
OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
|
||||
OpRayQueryGetIntersectionBarycentricsKHR = 6024,
|
||||
OpRayQueryGetIntersectionFrontFaceKHR = 6025,
|
||||
OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
|
||||
OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
|
||||
OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
|
||||
OpRayQueryGetWorldRayDirectionKHR = 6029,
|
||||
OpRayQueryGetWorldRayOriginKHR = 6030,
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -1840,6 +1913,30 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpTraceNV: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
|
||||
@@ -2008,6 +2105,7 @@ inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask
|
||||
inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
|
||||
inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
|
||||
inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
|
||||
inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
|
||||
|
||||
} // end namespace spv
|
||||
|
||||
|
||||
@@ -857,6 +857,8 @@
|
||||
"SignedZeroInfNanPreserve": 4466,
|
||||
"RoundingModeRTE": 4467,
|
||||
"RoundingModeRTZ": 4468,
|
||||
"RayQueryProvisionalKHR": 4471,
|
||||
"RayTraversalPrimitiveCullingProvisionalKHR": 4478,
|
||||
"Float16ImageAMD": 5008,
|
||||
"ImageGatherBiasLodAMD": 5009,
|
||||
"FragmentMaskAMD": 5010,
|
||||
@@ -927,6 +929,51 @@
|
||||
"SubgroupAvcMotionEstimationChromaINTEL": 5698
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "RayFlags",
|
||||
"Type": "Bit",
|
||||
"Values":
|
||||
{
|
||||
"OpaqueKHR": 0,
|
||||
"NoOpaqueKHR": 1,
|
||||
"TerminateOnFirstHitKHR": 2,
|
||||
"SkipClosestHitShaderKHR": 3,
|
||||
"CullBackFacingTrianglesKHR": 4,
|
||||
"CullFrontFacingTrianglesKHR": 5,
|
||||
"CullOpaqueKHR": 6,
|
||||
"CullNoOpaqueKHR": 7,
|
||||
"SkipTrianglesKHR": 8,
|
||||
"SkipAABBsKHR": 9
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "RayQueryIntersection",
|
||||
"Type": "Value",
|
||||
"Values":
|
||||
{
|
||||
"RayQueryCandidateIntersectionKHR": 0,
|
||||
"RayQueryCommittedIntersectionKHR": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "RayQueryCommittedIntersectionType",
|
||||
"Type": "Value",
|
||||
"Values":
|
||||
{
|
||||
"RayQueryCommittedIntersectionNoneKHR": 0,
|
||||
"RayQueryCommittedIntersectionTriangleKHR": 1,
|
||||
"RayQueryCommittedIntersectionGeneratedKHR": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "RayQueryCandidateIntersectionType",
|
||||
"Type": "Value",
|
||||
"Values":
|
||||
{
|
||||
"RayQueryCandidateIntersectionTriangleKHR": 0,
|
||||
"RayQueryCandidateIntersectionAABBKHR": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "Op",
|
||||
"Type": "Value",
|
||||
@@ -1282,6 +1329,13 @@
|
||||
"OpSubgroupAnyKHR": 4429,
|
||||
"OpSubgroupAllEqualKHR": 4430,
|
||||
"OpSubgroupReadInvocationKHR": 4432,
|
||||
"OpTypeRayQueryProvisionalKHR": 4472,
|
||||
"OpRayQueryInitializeKHR": 4473,
|
||||
"OpRayQueryTerminateKHR": 4474,
|
||||
"OpRayQueryGenerateIntersectionKHR": 4475,
|
||||
"OpRayQueryConfirmIntersectionKHR": 4476,
|
||||
"OpRayQueryProceedKHR": 4477,
|
||||
"OpRayQueryGetIntersectionTypeKHR": 4479,
|
||||
"OpGroupIAddNonUniformAMD": 5000,
|
||||
"OpGroupFAddNonUniformAMD": 5001,
|
||||
"OpGroupFMinNonUniformAMD": 5002,
|
||||
@@ -1462,7 +1516,24 @@
|
||||
"OpSubgroupAvcSicGetIpeChromaModeINTEL": 5813,
|
||||
"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL": 5814,
|
||||
"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL": 5815,
|
||||
"OpSubgroupAvcSicGetInterRawSadsINTEL": 5816
|
||||
"OpSubgroupAvcSicGetInterRawSadsINTEL": 5816,
|
||||
"OpRayQueryGetRayTMinKHR": 6016,
|
||||
"OpRayQueryGetRayFlagsKHR": 6017,
|
||||
"OpRayQueryGetIntersectionTKHR": 6018,
|
||||
"OpRayQueryGetIntersectionInstanceCustomIndexKHR": 6019,
|
||||
"OpRayQueryGetIntersectionInstanceIdKHR": 6020,
|
||||
"OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR": 6021,
|
||||
"OpRayQueryGetIntersectionGeometryIndexKHR": 6022,
|
||||
"OpRayQueryGetIntersectionPrimitiveIndexKHR": 6023,
|
||||
"OpRayQueryGetIntersectionBarycentricsKHR": 6024,
|
||||
"OpRayQueryGetIntersectionFrontFaceKHR": 6025,
|
||||
"OpRayQueryGetIntersectionCandidateAABBOpaqueKHR": 6026,
|
||||
"OpRayQueryGetIntersectionObjectRayDirectionKHR": 6027,
|
||||
"OpRayQueryGetIntersectionObjectRayOriginKHR": 6028,
|
||||
"OpRayQueryGetWorldRayDirectionKHR": 6029,
|
||||
"OpRayQueryGetWorldRayOriginKHR": 6030,
|
||||
"OpRayQueryGetIntersectionObjectToWorldKHR": 6031,
|
||||
"OpRayQueryGetIntersectionWorldToObjectKHR": 6032
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -822,6 +822,8 @@ spv = {
|
||||
SignedZeroInfNanPreserve = 4466,
|
||||
RoundingModeRTE = 4467,
|
||||
RoundingModeRTZ = 4468,
|
||||
RayQueryProvisionalKHR = 4471,
|
||||
RayTraversalPrimitiveCullingProvisionalKHR = 4478,
|
||||
Float16ImageAMD = 5008,
|
||||
ImageGatherBiasLodAMD = 5009,
|
||||
FragmentMaskAMD = 5010,
|
||||
@@ -892,6 +894,49 @@ spv = {
|
||||
SubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
},
|
||||
|
||||
RayFlagsShift = {
|
||||
OpaqueKHR = 0,
|
||||
NoOpaqueKHR = 1,
|
||||
TerminateOnFirstHitKHR = 2,
|
||||
SkipClosestHitShaderKHR = 3,
|
||||
CullBackFacingTrianglesKHR = 4,
|
||||
CullFrontFacingTrianglesKHR = 5,
|
||||
CullOpaqueKHR = 6,
|
||||
CullNoOpaqueKHR = 7,
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
},
|
||||
|
||||
RayFlagsMask = {
|
||||
MaskNone = 0,
|
||||
OpaqueKHR = 0x00000001,
|
||||
NoOpaqueKHR = 0x00000002,
|
||||
TerminateOnFirstHitKHR = 0x00000004,
|
||||
SkipClosestHitShaderKHR = 0x00000008,
|
||||
CullBackFacingTrianglesKHR = 0x00000010,
|
||||
CullFrontFacingTrianglesKHR = 0x00000020,
|
||||
CullOpaqueKHR = 0x00000040,
|
||||
CullNoOpaqueKHR = 0x00000080,
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
},
|
||||
|
||||
RayQueryIntersection = {
|
||||
RayQueryCandidateIntersectionKHR = 0,
|
||||
RayQueryCommittedIntersectionKHR = 1,
|
||||
},
|
||||
|
||||
RayQueryCommittedIntersectionType = {
|
||||
RayQueryCommittedIntersectionNoneKHR = 0,
|
||||
RayQueryCommittedIntersectionTriangleKHR = 1,
|
||||
RayQueryCommittedIntersectionGeneratedKHR = 2,
|
||||
},
|
||||
|
||||
RayQueryCandidateIntersectionType = {
|
||||
RayQueryCandidateIntersectionTriangleKHR = 0,
|
||||
RayQueryCandidateIntersectionAABBKHR = 1,
|
||||
},
|
||||
|
||||
Op = {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
@@ -1243,6 +1288,13 @@ spv = {
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTypeRayQueryProvisionalKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
OpRayQueryGenerateIntersectionKHR = 4475,
|
||||
OpRayQueryConfirmIntersectionKHR = 4476,
|
||||
OpRayQueryProceedKHR = 4477,
|
||||
OpRayQueryGetIntersectionTypeKHR = 4479,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
@@ -1424,6 +1476,23 @@ spv = {
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpRayQueryGetRayTMinKHR = 6016,
|
||||
OpRayQueryGetRayFlagsKHR = 6017,
|
||||
OpRayQueryGetIntersectionTKHR = 6018,
|
||||
OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
|
||||
OpRayQueryGetIntersectionInstanceIdKHR = 6020,
|
||||
OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
|
||||
OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
|
||||
OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
|
||||
OpRayQueryGetIntersectionBarycentricsKHR = 6024,
|
||||
OpRayQueryGetIntersectionFrontFaceKHR = 6025,
|
||||
OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
|
||||
OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
|
||||
OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
|
||||
OpRayQueryGetWorldRayDirectionKHR = 6029,
|
||||
OpRayQueryGetWorldRayOriginKHR = 6030,
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
@@ -822,6 +822,8 @@ spv = {
|
||||
'SignedZeroInfNanPreserve' : 4466,
|
||||
'RoundingModeRTE' : 4467,
|
||||
'RoundingModeRTZ' : 4468,
|
||||
'RayQueryProvisionalKHR' : 4471,
|
||||
'RayTraversalPrimitiveCullingProvisionalKHR' : 4478,
|
||||
'Float16ImageAMD' : 5008,
|
||||
'ImageGatherBiasLodAMD' : 5009,
|
||||
'FragmentMaskAMD' : 5010,
|
||||
@@ -892,6 +894,49 @@ spv = {
|
||||
'SubgroupAvcMotionEstimationChromaINTEL' : 5698,
|
||||
},
|
||||
|
||||
'RayFlagsShift' : {
|
||||
'OpaqueKHR' : 0,
|
||||
'NoOpaqueKHR' : 1,
|
||||
'TerminateOnFirstHitKHR' : 2,
|
||||
'SkipClosestHitShaderKHR' : 3,
|
||||
'CullBackFacingTrianglesKHR' : 4,
|
||||
'CullFrontFacingTrianglesKHR' : 5,
|
||||
'CullOpaqueKHR' : 6,
|
||||
'CullNoOpaqueKHR' : 7,
|
||||
'SkipTrianglesKHR' : 8,
|
||||
'SkipAABBsKHR' : 9,
|
||||
},
|
||||
|
||||
'RayFlagsMask' : {
|
||||
'MaskNone' : 0,
|
||||
'OpaqueKHR' : 0x00000001,
|
||||
'NoOpaqueKHR' : 0x00000002,
|
||||
'TerminateOnFirstHitKHR' : 0x00000004,
|
||||
'SkipClosestHitShaderKHR' : 0x00000008,
|
||||
'CullBackFacingTrianglesKHR' : 0x00000010,
|
||||
'CullFrontFacingTrianglesKHR' : 0x00000020,
|
||||
'CullOpaqueKHR' : 0x00000040,
|
||||
'CullNoOpaqueKHR' : 0x00000080,
|
||||
'SkipTrianglesKHR' : 0x00000100,
|
||||
'SkipAABBsKHR' : 0x00000200,
|
||||
},
|
||||
|
||||
'RayQueryIntersection' : {
|
||||
'RayQueryCandidateIntersectionKHR' : 0,
|
||||
'RayQueryCommittedIntersectionKHR' : 1,
|
||||
},
|
||||
|
||||
'RayQueryCommittedIntersectionType' : {
|
||||
'RayQueryCommittedIntersectionNoneKHR' : 0,
|
||||
'RayQueryCommittedIntersectionTriangleKHR' : 1,
|
||||
'RayQueryCommittedIntersectionGeneratedKHR' : 2,
|
||||
},
|
||||
|
||||
'RayQueryCandidateIntersectionType' : {
|
||||
'RayQueryCandidateIntersectionTriangleKHR' : 0,
|
||||
'RayQueryCandidateIntersectionAABBKHR' : 1,
|
||||
},
|
||||
|
||||
'Op' : {
|
||||
'OpNop' : 0,
|
||||
'OpUndef' : 1,
|
||||
@@ -1243,6 +1288,13 @@ spv = {
|
||||
'OpSubgroupAnyKHR' : 4429,
|
||||
'OpSubgroupAllEqualKHR' : 4430,
|
||||
'OpSubgroupReadInvocationKHR' : 4432,
|
||||
'OpTypeRayQueryProvisionalKHR' : 4472,
|
||||
'OpRayQueryInitializeKHR' : 4473,
|
||||
'OpRayQueryTerminateKHR' : 4474,
|
||||
'OpRayQueryGenerateIntersectionKHR' : 4475,
|
||||
'OpRayQueryConfirmIntersectionKHR' : 4476,
|
||||
'OpRayQueryProceedKHR' : 4477,
|
||||
'OpRayQueryGetIntersectionTypeKHR' : 4479,
|
||||
'OpGroupIAddNonUniformAMD' : 5000,
|
||||
'OpGroupFAddNonUniformAMD' : 5001,
|
||||
'OpGroupFMinNonUniformAMD' : 5002,
|
||||
@@ -1424,6 +1476,23 @@ spv = {
|
||||
'OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL' : 5814,
|
||||
'OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL' : 5815,
|
||||
'OpSubgroupAvcSicGetInterRawSadsINTEL' : 5816,
|
||||
'OpRayQueryGetRayTMinKHR' : 6016,
|
||||
'OpRayQueryGetRayFlagsKHR' : 6017,
|
||||
'OpRayQueryGetIntersectionTKHR' : 6018,
|
||||
'OpRayQueryGetIntersectionInstanceCustomIndexKHR' : 6019,
|
||||
'OpRayQueryGetIntersectionInstanceIdKHR' : 6020,
|
||||
'OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR' : 6021,
|
||||
'OpRayQueryGetIntersectionGeometryIndexKHR' : 6022,
|
||||
'OpRayQueryGetIntersectionPrimitiveIndexKHR' : 6023,
|
||||
'OpRayQueryGetIntersectionBarycentricsKHR' : 6024,
|
||||
'OpRayQueryGetIntersectionFrontFaceKHR' : 6025,
|
||||
'OpRayQueryGetIntersectionCandidateAABBOpaqueKHR' : 6026,
|
||||
'OpRayQueryGetIntersectionObjectRayDirectionKHR' : 6027,
|
||||
'OpRayQueryGetIntersectionObjectRayOriginKHR' : 6028,
|
||||
'OpRayQueryGetWorldRayDirectionKHR' : 6029,
|
||||
'OpRayQueryGetWorldRayOriginKHR' : 6030,
|
||||
'OpRayQueryGetIntersectionObjectToWorldKHR' : 6031,
|
||||
'OpRayQueryGetIntersectionWorldToObjectKHR' : 6032,
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
@@ -867,6 +867,8 @@ enum Capability : uint
|
||||
SignedZeroInfNanPreserve = 4466,
|
||||
RoundingModeRTE = 4467,
|
||||
RoundingModeRTZ = 4468,
|
||||
RayQueryProvisionalKHR = 4471,
|
||||
RayTraversalPrimitiveCullingProvisionalKHR = 4478,
|
||||
Float16ImageAMD = 5008,
|
||||
ImageGatherBiasLodAMD = 5009,
|
||||
FragmentMaskAMD = 5010,
|
||||
@@ -937,6 +939,54 @@ enum Capability : uint
|
||||
SubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
}
|
||||
|
||||
enum RayFlagsShift : uint
|
||||
{
|
||||
OpaqueKHR = 0,
|
||||
NoOpaqueKHR = 1,
|
||||
TerminateOnFirstHitKHR = 2,
|
||||
SkipClosestHitShaderKHR = 3,
|
||||
CullBackFacingTrianglesKHR = 4,
|
||||
CullFrontFacingTrianglesKHR = 5,
|
||||
CullOpaqueKHR = 6,
|
||||
CullNoOpaqueKHR = 7,
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
}
|
||||
|
||||
enum RayFlagsMask : uint
|
||||
{
|
||||
MaskNone = 0,
|
||||
OpaqueKHR = 0x00000001,
|
||||
NoOpaqueKHR = 0x00000002,
|
||||
TerminateOnFirstHitKHR = 0x00000004,
|
||||
SkipClosestHitShaderKHR = 0x00000008,
|
||||
CullBackFacingTrianglesKHR = 0x00000010,
|
||||
CullFrontFacingTrianglesKHR = 0x00000020,
|
||||
CullOpaqueKHR = 0x00000040,
|
||||
CullNoOpaqueKHR = 0x00000080,
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
}
|
||||
|
||||
enum RayQueryIntersection : uint
|
||||
{
|
||||
RayQueryCandidateIntersectionKHR = 0,
|
||||
RayQueryCommittedIntersectionKHR = 1,
|
||||
}
|
||||
|
||||
enum RayQueryCommittedIntersectionType : uint
|
||||
{
|
||||
RayQueryCommittedIntersectionNoneKHR = 0,
|
||||
RayQueryCommittedIntersectionTriangleKHR = 1,
|
||||
RayQueryCommittedIntersectionGeneratedKHR = 2,
|
||||
}
|
||||
|
||||
enum RayQueryCandidateIntersectionType : uint
|
||||
{
|
||||
RayQueryCandidateIntersectionTriangleKHR = 0,
|
||||
RayQueryCandidateIntersectionAABBKHR = 1,
|
||||
}
|
||||
|
||||
enum Op : uint
|
||||
{
|
||||
OpNop = 0,
|
||||
@@ -1289,6 +1339,13 @@ enum Op : uint
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTypeRayQueryProvisionalKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
OpRayQueryGenerateIntersectionKHR = 4475,
|
||||
OpRayQueryConfirmIntersectionKHR = 4476,
|
||||
OpRayQueryProceedKHR = 4477,
|
||||
OpRayQueryGetIntersectionTypeKHR = 4479,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
@@ -1470,6 +1527,23 @@ enum Op : uint
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpRayQueryGetRayTMinKHR = 6016,
|
||||
OpRayQueryGetRayFlagsKHR = 6017,
|
||||
OpRayQueryGetIntersectionTKHR = 6018,
|
||||
OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
|
||||
OpRayQueryGetIntersectionInstanceIdKHR = 6020,
|
||||
OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
|
||||
OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
|
||||
OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
|
||||
OpRayQueryGetIntersectionBarycentricsKHR = 6024,
|
||||
OpRayQueryGetIntersectionFrontFaceKHR = 6025,
|
||||
OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
|
||||
OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
|
||||
OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
|
||||
OpRayQueryGetWorldRayDirectionKHR = 6029,
|
||||
OpRayQueryGetWorldRayOriginKHR = 6030,
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -77,6 +77,10 @@ EnumValues ScopeParams;
|
||||
EnumValues KernelEnqueueFlagsParams;
|
||||
EnumValues KernelProfilingInfoParams;
|
||||
EnumValues CapabilityParams;
|
||||
EnumValues RayFlagsParams;
|
||||
EnumValues RayQueryIntersectionParams;
|
||||
EnumValues RayQueryCommittedIntersectionTypeParams;
|
||||
EnumValues RayQueryCandidateIntersectionTypeParams;
|
||||
|
||||
std::pair<bool, std::string> ReadFile(const std::string& path)
|
||||
{
|
||||
@@ -203,6 +207,14 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
|
||||
type = OperandFunction;
|
||||
} else if (operandKind == "MemoryAccess") {
|
||||
type = OperandMemoryOperands;
|
||||
} else if (operandKind == "RayFlags") {
|
||||
type = OperandRayFlags;
|
||||
} else if (operandKind == "RayQueryIntersection") {
|
||||
type = OperandRayQueryIntersection;
|
||||
} else if (operandKind == "RayQueryCommittedIntersectionType") {
|
||||
type = OperandRayQueryCommittedIntersectionType;
|
||||
} else if (operandKind == "RayQueryCandidateIntersectionType") {
|
||||
type = OperandRayQueryCandidateIntersectionType;
|
||||
}
|
||||
|
||||
if (type == OperandNone) {
|
||||
@@ -463,6 +475,14 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
|
||||
establishOperandClass(enumName, OperandKernelEnqueueFlags, &KernelEnqueueFlagsParams, operandEnum, category);
|
||||
} else if (enumName == "KernelProfilingInfo") {
|
||||
establishOperandClass(enumName, OperandKernelProfilingInfo, &KernelProfilingInfoParams, operandEnum, category);
|
||||
} else if (enumName == "RayFlags") {
|
||||
establishOperandClass(enumName, OperandRayFlags, &RayFlagsParams, operandEnum, category);
|
||||
} else if (enumName == "RayQueryIntersection") {
|
||||
establishOperandClass(enumName, OperandRayQueryIntersection, &RayQueryIntersectionParams, operandEnum, category);
|
||||
} else if (enumName == "RayQueryCommittedIntersectionType") {
|
||||
establishOperandClass(enumName, OperandRayQueryCommittedIntersectionType, &RayQueryCommittedIntersectionTypeParams, operandEnum, category);
|
||||
} else if (enumName == "RayQueryCandidateIntersectionType") {
|
||||
establishOperandClass(enumName, OperandRayQueryCandidateIntersectionType, &RayQueryCandidateIntersectionTypeParams, operandEnum, category);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,6 +83,10 @@ enum OperandClass {
|
||||
OperandKernelEnqueueFlags,
|
||||
OperandKernelProfilingInfo,
|
||||
OperandCapability,
|
||||
OperandRayFlags,
|
||||
OperandRayQueryIntersection,
|
||||
OperandRayQueryCommittedIntersectionType,
|
||||
OperandRayQueryCandidateIntersectionType,
|
||||
|
||||
OperandOpcode,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user