mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-06 23:00:59 +00:00
Update SPIR-V headers to latest
This commit is contained in:
@@ -62,7 +62,7 @@
|
||||
<id value="9" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
|
||||
<id value="10" vendor="AMD" comment="Contact Daniel Rakos, daniel.rakos@amd.com"/>
|
||||
<id value="11" vendor="Intel" comment="Contact Alexey, alexey.bader@intel.com"/>
|
||||
<id value="12" vendor="Imagination" comment="Contact James Jones"/>
|
||||
<id value="12" vendor="Imagination" comment="Contact Stephen Clarke, stephen.clarke@imgtec.com"/>
|
||||
<id value="13" vendor="Google" tool="Shaderc over Glslang" comment="Contact David Neto, dneto@google.com"/>
|
||||
<id value="14" vendor="Google" tool="spiregg" comment="Contact Lei Zhang, antiagainst@google.com"/>
|
||||
<id value="15" vendor="Google" tool="rspirv" comment="Contact Lei Zhang, antiagainst@gmail.com"/>
|
||||
@@ -86,7 +86,8 @@
|
||||
<id value="33" vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/>
|
||||
<id value="34" vendor="Rayan Hatout" tool="SPIRVSmith" comment="Contact Rayan Hatout rayan.hatout@gmail.com, Repo https://github.com/rayanht/SPIRVSmith"/>
|
||||
<id value="35" vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers devillers@uni-saarland.de, Repo https://github.com/Hugobros3/shady"/>
|
||||
<unused start="36" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
<id value="36" vendor="Taichi Graphics" tool="Taichi" comment="Contact Rendong Liang rendongliang@taichi.graphics, Repo https://github.com/taichi-dev/taichi"/>
|
||||
<unused start="37" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
</ids>
|
||||
|
||||
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
|
||||
|
||||
@@ -4754,6 +4754,461 @@
|
||||
"extensions" : [ "SPV_KHR_shader_clock" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectRecordHitMotionNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5249,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'Acceleration Structure'" },
|
||||
{ "kind" : "IdRef", "name" : "'InstanceId'" },
|
||||
{ "kind" : "IdRef", "name" : "'PrimitiveId'" },
|
||||
{ "kind" : "IdRef", "name" : "'GeometryIndex'" },
|
||||
{ "kind" : "IdRef", "name" : "'Hit Kind'" },
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Stride'" },
|
||||
{ "kind" : "IdRef", "name" : "'Origin'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMin'" },
|
||||
{ "kind" : "IdRef", "name" : "'Direction'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMax'" },
|
||||
{ "kind" : "IdRef", "name" : "'Current Time'" },
|
||||
{ "kind" : "IdRef", "name" : "'HitObject Attributes'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectRecordHitWithIndexMotionNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5250,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'Acceleration Structure'" },
|
||||
{ "kind" : "IdRef", "name" : "'InstanceId'" },
|
||||
{ "kind" : "IdRef", "name" : "'PrimitiveId'" },
|
||||
{ "kind" : "IdRef", "name" : "'GeometryIndex'" },
|
||||
{ "kind" : "IdRef", "name" : "'Hit Kind'" },
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Index'" },
|
||||
{ "kind" : "IdRef", "name" : "'Origin'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMin'" },
|
||||
{ "kind" : "IdRef", "name" : "'Direction'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMax'" },
|
||||
{ "kind" : "IdRef", "name" : "'Current Time'" },
|
||||
{ "kind" : "IdRef", "name" : "'HitObject Attributes'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectRecordMissMotionNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5251,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'SBT Index'" },
|
||||
{ "kind" : "IdRef", "name" : "'Origin'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMin'" },
|
||||
{ "kind" : "IdRef", "name" : "'Direction'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMax'" },
|
||||
{ "kind" : "IdRef", "name" : "'Current Time'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetWorldToObjectNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5252,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetObjectToWorldNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5253,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetObjectRayDirectionNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5254,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetObjectRayOriginNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5255,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectTraceRayMotionNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5256,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'Acceleration Structure'"},
|
||||
{ "kind" : "IdRef", "name" : "'RayFlags'"},
|
||||
{ "kind" : "IdRef", "name" : "'Cullmask'"},
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Offset'"},
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Stride'"},
|
||||
{ "kind" : "IdRef", "name" : "'Miss Index'"},
|
||||
{ "kind" : "IdRef", "name" : "'Origin'"},
|
||||
{ "kind" : "IdRef", "name" : "'TMin'"},
|
||||
{ "kind" : "IdRef", "name" : "'Direction'"},
|
||||
{ "kind" : "IdRef", "name" : "'TMax'"},
|
||||
{ "kind" : "IdRef", "name" : "'Time'"},
|
||||
{ "kind" : "IdRef", "name" : "'Payload'"}
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetShaderRecordBufferHandleNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5257,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetShaderBindingTableRecordIndexNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5258,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectRecordEmptyNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5259,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectTraceRayNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5260,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'Acceleration Structure'"},
|
||||
{ "kind" : "IdRef", "name" : "'RayFlags'"},
|
||||
{ "kind" : "IdRef", "name" : "'Cullmask'"},
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Offset'"},
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Stride'"},
|
||||
{ "kind" : "IdRef", "name" : "'Miss Index'"},
|
||||
{ "kind" : "IdRef", "name" : "'Origin'"},
|
||||
{ "kind" : "IdRef", "name" : "'TMin'"},
|
||||
{ "kind" : "IdRef", "name" : "'Direction'"},
|
||||
{ "kind" : "IdRef", "name" : "'TMax'"},
|
||||
{ "kind" : "IdRef", "name" : "'Payload'"}
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectRecordHitNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5261,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'Acceleration Structure'" },
|
||||
{ "kind" : "IdRef", "name" : "'InstanceId'" },
|
||||
{ "kind" : "IdRef", "name" : "'PrimitiveId'" },
|
||||
{ "kind" : "IdRef", "name" : "'GeometryIndex'" },
|
||||
{ "kind" : "IdRef", "name" : "'Hit Kind'" },
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Stride'" },
|
||||
{ "kind" : "IdRef", "name" : "'Origin'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMin'" },
|
||||
{ "kind" : "IdRef", "name" : "'Direction'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMax'" },
|
||||
{ "kind" : "IdRef", "name" : "'HitObject Attributes'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectRecordHitWithIndexNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5262,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'Acceleration Structure'" },
|
||||
{ "kind" : "IdRef", "name" : "'InstanceId'" },
|
||||
{ "kind" : "IdRef", "name" : "'PrimitiveId'" },
|
||||
{ "kind" : "IdRef", "name" : "'GeometryIndex'" },
|
||||
{ "kind" : "IdRef", "name" : "'Hit Kind'" },
|
||||
{ "kind" : "IdRef", "name" : "'SBT Record Index'" },
|
||||
{ "kind" : "IdRef", "name" : "'Origin'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMin'" },
|
||||
{ "kind" : "IdRef", "name" : "'Direction'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMax'" },
|
||||
{ "kind" : "IdRef", "name" : "'HitObject Attributes'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectRecordMissNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5263,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'SBT Index'" },
|
||||
{ "kind" : "IdRef", "name" : "'Origin'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMin'" },
|
||||
{ "kind" : "IdRef", "name" : "'Direction'" },
|
||||
{ "kind" : "IdRef", "name" : "'TMax'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectExecuteShaderNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5264,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'Payload'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetCurrentTimeNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5265,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetAttributesNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5266,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object Attribute'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetHitKindNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5267,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetPrimitiveIndexNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5268,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetGeometryIndexNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5269,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetInstanceIdNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5270,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetInstanceCustomIndexNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5271,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetWorldRayDirectionNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5272,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetWorldRayOriginNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5273,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetRayTMaxNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5274,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectGetRayTMinNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5275,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectIsEmptyNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5276,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectIsHitNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5277,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpHitObjectIsMissNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5278,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResultType"},
|
||||
{ "kind" : "IdResult"},
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpReorderThreadWithHitObjectNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5279,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hit Object'" },
|
||||
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'Hint'" },
|
||||
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'Bits'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpReorderThreadWithHintNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5280,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Hint'" },
|
||||
{ "kind" : "IdRef", "name" : "'Bits'" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpTypeHitObjectNV",
|
||||
"class" : "Reserved",
|
||||
"opcode" : 5281,
|
||||
"operands" : [
|
||||
{ "kind" : "IdResult" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"opname" : "OpImageSampleFootprintNV",
|
||||
"class" : "Image",
|
||||
@@ -9020,7 +9475,6 @@
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -9030,7 +9484,6 @@
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -9040,7 +9493,6 @@
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -9050,7 +9502,6 @@
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -9060,7 +9511,6 @@
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -9070,7 +9520,6 @@
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -9080,17 +9529,30 @@
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "NoFusionINTEL",
|
||||
"value" : "0x800000",
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "LoopCountINTEL",
|
||||
"value" : "0x1000000",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "MaxReinvocationDelayINTEL",
|
||||
"value" : "0x2000000",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" }
|
||||
],
|
||||
"capabilities" : [ "FPGALoopControlsINTEL" ],
|
||||
"extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
|
||||
"version" : "None"
|
||||
}
|
||||
]
|
||||
@@ -10245,6 +10707,15 @@
|
||||
"capabilities" : [ "FPGAKernelAttributesINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "StreamingInterfaceINTEL",
|
||||
"value" : 6154,
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger", "name" : "'StallFreeReturn'" }
|
||||
],
|
||||
"capabilities" : [ "FPGAKernelAttributesINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "NamedBarrierCountINTEL",
|
||||
"value" : 6417,
|
||||
@@ -10422,6 +10893,12 @@
|
||||
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
|
||||
"version" : "1.5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "HitObjectAttributeNV",
|
||||
"value" : 5385,
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "TaskPayloadWorkgroupEXT",
|
||||
"value" : 5402,
|
||||
@@ -11184,6 +11661,11 @@
|
||||
"enumerant" : "NoReadWrite",
|
||||
"value" : 7,
|
||||
"capabilities" : [ "Kernel" ]
|
||||
},
|
||||
{
|
||||
"enumerant" : "RuntimeAlignedINTEL",
|
||||
"value" : 5940,
|
||||
"capabilities" : [ "RuntimeAlignedAttributeINTEL" ]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11624,6 +12106,12 @@
|
||||
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
|
||||
"version" : "1.5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "HitObjectShaderRecordBufferNV",
|
||||
"value" : 5386,
|
||||
"capabilities" : [ "ShaderInvocationReorderNV" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "BindlessSamplerNV",
|
||||
"value" : 5398,
|
||||
@@ -11929,6 +12417,16 @@
|
||||
"capabilities" : [ "LoopFuseINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "MathOpDSPModeINTEL",
|
||||
"value" : 5909,
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger", "name" : "'Mode'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Propagate'" }
|
||||
],
|
||||
"capabilities" : [ "FPGADSPControlINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "AliasScopeINTEL",
|
||||
"value" : 5914,
|
||||
@@ -11947,6 +12445,33 @@
|
||||
"capabilities" : [ "MemoryAccessAliasingINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "InitiationIntervalINTEL",
|
||||
"value" : 5917,
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger", "name" : "'Cycles'" }
|
||||
],
|
||||
"capabilities" : [ "FPGAInvocationPipeliningAttributesINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "MaxConcurrencyINTEL",
|
||||
"value" : 5918,
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger", "name" : "'Invocations'" }
|
||||
],
|
||||
"capabilities" : [ "FPGAInvocationPipeliningAttributesINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "PipelineEnableINTEL",
|
||||
"value" : 5919,
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger", "name" : "'Enable'" }
|
||||
],
|
||||
"capabilities" : [ "FPGAInvocationPipeliningAttributesINTEL" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "BufferLocationINTEL",
|
||||
"value" : 5921,
|
||||
@@ -13923,6 +14448,13 @@
|
||||
"extensions" : [ "SPV_EXT_opacity_micromap" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "ShaderInvocationReorderNV",
|
||||
"value" : 5383,
|
||||
"capabilities" : [ "RayTracingKHR" ],
|
||||
"extensions" : [ "SPV_NV_shader_invocation_reorder" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "BindlessTextureNV",
|
||||
"value" : 5390,
|
||||
@@ -14124,12 +14656,24 @@
|
||||
"extensions" : [ "SPV_INTEL_loop_fuse" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FPGADSPControlINTEL",
|
||||
"value" : 5908,
|
||||
"extensions" : [ "SPV_INTEL_fpga_dsp_control" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "MemoryAccessAliasingINTEL",
|
||||
"value" : 5910,
|
||||
"extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FPGAInvocationPipeliningAttributesINTEL",
|
||||
"value" : 5916,
|
||||
"extensions" : [ "SPV_INTEL_fpga_invocation_pipelining_attributes" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FPGABufferLocationINTEL",
|
||||
"value" : 5920,
|
||||
@@ -14148,6 +14692,12 @@
|
||||
"extensions" : [ "SPV_INTEL_usm_storage_classes" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "RuntimeAlignedAttributeINTEL",
|
||||
"value" : 5939,
|
||||
"extensions" : [ "SPV_INTEL_runtime_aligned" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
"enumerant" : "IOPipesINTEL",
|
||||
"value" : 5943,
|
||||
|
||||
@@ -3683,6 +3683,39 @@ void ThreadState::StepNext(ShaderDebugState *state, const rdcarray<ThreadState>
|
||||
case Op::SamplerImageAddressingModeNV:
|
||||
case Op::EmitMeshTasksEXT:
|
||||
case Op::SetMeshOutputsEXT:
|
||||
case Op::HitObjectRecordHitMotionNV:
|
||||
case Op::HitObjectRecordHitWithIndexMotionNV:
|
||||
case Op::HitObjectRecordMissMotionNV:
|
||||
case Op::HitObjectGetWorldToObjectNV:
|
||||
case Op::HitObjectGetObjectToWorldNV:
|
||||
case Op::HitObjectGetObjectRayDirectionNV:
|
||||
case Op::HitObjectGetObjectRayOriginNV:
|
||||
case Op::HitObjectTraceRayMotionNV:
|
||||
case Op::HitObjectGetShaderRecordBufferHandleNV:
|
||||
case Op::HitObjectGetShaderBindingTableRecordIndexNV:
|
||||
case Op::HitObjectRecordEmptyNV:
|
||||
case Op::HitObjectTraceRayNV:
|
||||
case Op::HitObjectRecordHitNV:
|
||||
case Op::HitObjectRecordHitWithIndexNV:
|
||||
case Op::HitObjectRecordMissNV:
|
||||
case Op::HitObjectExecuteShaderNV:
|
||||
case Op::HitObjectGetCurrentTimeNV:
|
||||
case Op::HitObjectGetAttributesNV:
|
||||
case Op::HitObjectGetHitKindNV:
|
||||
case Op::HitObjectGetPrimitiveIndexNV:
|
||||
case Op::HitObjectGetGeometryIndexNV:
|
||||
case Op::HitObjectGetInstanceIdNV:
|
||||
case Op::HitObjectGetInstanceCustomIndexNV:
|
||||
case Op::HitObjectGetWorldRayDirectionNV:
|
||||
case Op::HitObjectGetWorldRayOriginNV:
|
||||
case Op::HitObjectGetRayTMaxNV:
|
||||
case Op::HitObjectGetRayTMinNV:
|
||||
case Op::HitObjectIsEmptyNV:
|
||||
case Op::HitObjectIsHitNV:
|
||||
case Op::HitObjectIsMissNV:
|
||||
case Op::ReorderThreadWithHitObjectNV:
|
||||
case Op::ReorderThreadWithHintNV:
|
||||
case Op::TypeHitObjectNV:
|
||||
{
|
||||
RDCERR("Unsupported extension opcode used %s", ToStr(opdata.op).c_str());
|
||||
|
||||
|
||||
@@ -627,6 +627,7 @@ void Reflector::CheckDebuggable(bool &debuggable, rdcstr &debugStatus) const
|
||||
case Capability::RayTracingKHR:
|
||||
case Capability::RayCullMaskKHR:
|
||||
case Capability::RayTracingOpacityMicromapEXT:
|
||||
case Capability::ShaderInvocationReorderNV:
|
||||
{
|
||||
supported = false;
|
||||
break;
|
||||
@@ -715,6 +716,9 @@ void Reflector::CheckDebuggable(bool &debuggable, rdcstr &debugStatus) const
|
||||
case Capability::SplitBarrierINTEL:
|
||||
case Capability::GroupUniformArithmeticKHR:
|
||||
case Capability::CoreBuiltinsARM:
|
||||
case Capability::FPGADSPControlINTEL:
|
||||
case Capability::FPGAInvocationPipeliningAttributesINTEL:
|
||||
case Capability::RuntimeAlignedAttributeINTEL:
|
||||
case Capability::Max:
|
||||
case Capability::Invalid:
|
||||
{
|
||||
|
||||
@@ -144,6 +144,8 @@ rdcstr DoStringise(const rdcspv::LoopControl &el)
|
||||
STRINGISE_BITFIELD_CLASS_BIT(MaxInterleavingINTEL);
|
||||
STRINGISE_BITFIELD_CLASS_BIT(SpeculatedIterationsINTEL);
|
||||
STRINGISE_BITFIELD_CLASS_BIT(NoFusionINTEL);
|
||||
STRINGISE_BITFIELD_CLASS_BIT(LoopCountINTEL);
|
||||
STRINGISE_BITFIELD_CLASS_BIT(MaxReinvocationDelayINTEL);
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
@@ -401,6 +403,7 @@ rdcstr DoStringise(const rdcspv::ExecutionMode &el)
|
||||
STRINGISE_ENUM_CLASS(NoGlobalOffsetINTEL);
|
||||
STRINGISE_ENUM_CLASS(NumSIMDWorkitemsINTEL);
|
||||
STRINGISE_ENUM_CLASS(SchedulerTargetFmaxMhzINTEL);
|
||||
STRINGISE_ENUM_CLASS(StreamingInterfaceINTEL);
|
||||
STRINGISE_ENUM_CLASS(NamedBarrierCountINTEL);
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
@@ -431,6 +434,7 @@ rdcstr DoStringise(const rdcspv::StorageClass &el)
|
||||
STRINGISE_ENUM_CLASS(IncomingRayPayloadNV);
|
||||
STRINGISE_ENUM_CLASS(ShaderRecordBufferNV);
|
||||
STRINGISE_ENUM_CLASS(PhysicalStorageBuffer);
|
||||
STRINGISE_ENUM_CLASS(HitObjectAttributeNV);
|
||||
STRINGISE_ENUM_CLASS(TaskPayloadWorkgroupEXT);
|
||||
STRINGISE_ENUM_CLASS(CodeSectionINTEL);
|
||||
STRINGISE_ENUM_CLASS(DeviceOnlyINTEL);
|
||||
@@ -688,6 +692,7 @@ rdcstr DoStringise(const rdcspv::FunctionParameterAttribute &el)
|
||||
STRINGISE_ENUM_CLASS(NoCapture);
|
||||
STRINGISE_ENUM_CLASS(NoWrite);
|
||||
STRINGISE_ENUM_CLASS(NoReadWrite);
|
||||
STRINGISE_ENUM_CLASS(RuntimeAlignedINTEL);
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
@@ -758,6 +763,7 @@ rdcstr DoStringise(const rdcspv::Decoration &el)
|
||||
STRINGISE_ENUM_CLASS(NonUniform);
|
||||
STRINGISE_ENUM_CLASS(RestrictPointer);
|
||||
STRINGISE_ENUM_CLASS(AliasedPointer);
|
||||
STRINGISE_ENUM_CLASS(HitObjectShaderRecordBufferNV);
|
||||
STRINGISE_ENUM_CLASS(BindlessSamplerNV);
|
||||
STRINGISE_ENUM_CLASS(BindlessImageNV);
|
||||
STRINGISE_ENUM_CLASS(BoundSamplerNV);
|
||||
@@ -794,8 +800,12 @@ rdcstr DoStringise(const rdcspv::Decoration &el)
|
||||
STRINGISE_ENUM_CLASS(PrefetchINTEL);
|
||||
STRINGISE_ENUM_CLASS(StallEnableINTEL);
|
||||
STRINGISE_ENUM_CLASS(FuseLoopsInFunctionINTEL);
|
||||
STRINGISE_ENUM_CLASS(MathOpDSPModeINTEL);
|
||||
STRINGISE_ENUM_CLASS(AliasScopeINTEL);
|
||||
STRINGISE_ENUM_CLASS(NoAliasINTEL);
|
||||
STRINGISE_ENUM_CLASS(InitiationIntervalINTEL);
|
||||
STRINGISE_ENUM_CLASS(MaxConcurrencyINTEL);
|
||||
STRINGISE_ENUM_CLASS(PipelineEnableINTEL);
|
||||
STRINGISE_ENUM_CLASS(BufferLocationINTEL);
|
||||
STRINGISE_ENUM_CLASS(IOPipeStorageINTEL);
|
||||
STRINGISE_ENUM_CLASS(FunctionFloatingPointModeINTEL);
|
||||
@@ -1120,6 +1130,7 @@ rdcstr DoStringise(const rdcspv::Capability &el)
|
||||
STRINGISE_ENUM_CLASS(FragmentShaderPixelInterlockEXT);
|
||||
STRINGISE_ENUM_CLASS(DemoteToHelperInvocation);
|
||||
STRINGISE_ENUM_CLASS(RayTracingOpacityMicromapEXT);
|
||||
STRINGISE_ENUM_CLASS(ShaderInvocationReorderNV);
|
||||
STRINGISE_ENUM_CLASS(BindlessTextureNV);
|
||||
STRINGISE_ENUM_CLASS(SubgroupShuffleINTEL);
|
||||
STRINGISE_ENUM_CLASS(SubgroupBufferBlockIOINTEL);
|
||||
@@ -1153,10 +1164,13 @@ rdcstr DoStringise(const rdcspv::Capability &el)
|
||||
STRINGISE_ENUM_CLASS(FPGAMemoryAccessesINTEL);
|
||||
STRINGISE_ENUM_CLASS(FPGAClusterAttributesINTEL);
|
||||
STRINGISE_ENUM_CLASS(LoopFuseINTEL);
|
||||
STRINGISE_ENUM_CLASS(FPGADSPControlINTEL);
|
||||
STRINGISE_ENUM_CLASS(MemoryAccessAliasingINTEL);
|
||||
STRINGISE_ENUM_CLASS(FPGAInvocationPipeliningAttributesINTEL);
|
||||
STRINGISE_ENUM_CLASS(FPGABufferLocationINTEL);
|
||||
STRINGISE_ENUM_CLASS(ArbitraryPrecisionFixedPointINTEL);
|
||||
STRINGISE_ENUM_CLASS(USMStorageClassesINTEL);
|
||||
STRINGISE_ENUM_CLASS(RuntimeAlignedAttributeINTEL);
|
||||
STRINGISE_ENUM_CLASS(IOPipesINTEL);
|
||||
STRINGISE_ENUM_CLASS(BlockingPipesINTEL);
|
||||
STRINGISE_ENUM_CLASS(FPGARegINTEL);
|
||||
@@ -1609,6 +1623,39 @@ rdcstr DoStringise(const rdcspv::Op &el)
|
||||
STRINGISE_ENUM_CLASS(FragmentMaskFetchAMD);
|
||||
STRINGISE_ENUM_CLASS(FragmentFetchAMD);
|
||||
STRINGISE_ENUM_CLASS(ReadClockKHR);
|
||||
STRINGISE_ENUM_CLASS(HitObjectRecordHitMotionNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectRecordHitWithIndexMotionNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectRecordMissMotionNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetWorldToObjectNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetObjectToWorldNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetObjectRayDirectionNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetObjectRayOriginNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectTraceRayMotionNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetShaderRecordBufferHandleNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetShaderBindingTableRecordIndexNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectRecordEmptyNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectTraceRayNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectRecordHitNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectRecordHitWithIndexNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectRecordMissNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectExecuteShaderNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetCurrentTimeNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetAttributesNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetHitKindNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetPrimitiveIndexNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetGeometryIndexNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetInstanceIdNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetInstanceCustomIndexNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetWorldRayDirectionNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetWorldRayOriginNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetRayTMaxNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectGetRayTMinNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectIsEmptyNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectIsHitNV);
|
||||
STRINGISE_ENUM_CLASS(HitObjectIsMissNV);
|
||||
STRINGISE_ENUM_CLASS(ReorderThreadWithHitObjectNV);
|
||||
STRINGISE_ENUM_CLASS(ReorderThreadWithHintNV);
|
||||
STRINGISE_ENUM_CLASS(TypeHitObjectNV);
|
||||
STRINGISE_ENUM_CLASS(ImageSampleFootprintNV);
|
||||
STRINGISE_ENUM_CLASS(EmitMeshTasksEXT);
|
||||
STRINGISE_ENUM_CLASS(SetMeshOutputsEXT);
|
||||
@@ -1828,7 +1875,11 @@ rdcstr ParamToStr(const std::function<rdcstr(rdcspv::Id)> &idName, const rdcspv:
|
||||
if(el.flags & LoopControl::SpeculatedIterationsINTEL)
|
||||
ret += "SpeculatedIterationsINTEL" "(" + ToStr(el.speculatedIterationsINTEL) + ")" ", ";
|
||||
if(el.flags & LoopControl::NoFusionINTEL)
|
||||
ret += "NoFusionINTEL" "(" + ToStr(el.noFusionINTEL) + ")" ", ";
|
||||
ret += "NoFusionINTEL" ", ";
|
||||
if(el.flags & LoopControl::LoopCountINTEL)
|
||||
ret += "LoopCountINTEL" "(" + ToStr(el.loopCountINTEL) + ")" ", ";
|
||||
if(el.flags & LoopControl::MaxReinvocationDelayINTEL)
|
||||
ret += "MaxReinvocationDelayINTEL" "(" + ToStr(el.maxReinvocationDelayINTEL) + ")" ", ";
|
||||
|
||||
// remove trailing ", "
|
||||
if(ret.size() > 2)
|
||||
@@ -1925,6 +1976,8 @@ rdcstr ParamToStr(const std::function<rdcstr(rdcspv::Id)> &idName, const rdcspv:
|
||||
ret += "(" + ToStr(el.numSIMDWorkitemsINTEL) + ")"; break;
|
||||
case ExecutionMode::SchedulerTargetFmaxMhzINTEL:
|
||||
ret += "(" + ToStr(el.schedulerTargetFmaxMhzINTEL) + ")"; break;
|
||||
case ExecutionMode::StreamingInterfaceINTEL:
|
||||
ret += "(" + ToStr(el.streamingInterfaceINTEL) + ")"; break;
|
||||
case ExecutionMode::NamedBarrierCountINTEL:
|
||||
ret += "(" + ToStr(el.namedBarrierCountINTEL) + ")"; break;
|
||||
default:
|
||||
@@ -2015,10 +2068,18 @@ rdcstr ParamToStr(const std::function<rdcstr(rdcspv::Id)> &idName, const rdcspv:
|
||||
ret += "(" + ToStr(el.cacheSizeINTEL) + ")"; break;
|
||||
case Decoration::PrefetchINTEL:
|
||||
ret += "(" + ToStr(el.prefetchINTEL) + ")"; break;
|
||||
case Decoration::MathOpDSPModeINTEL:
|
||||
ret += "(" + ToStr(el.mathOpDSPModeINTEL.mode) + ", " + ToStr(el.mathOpDSPModeINTEL.propagate) + ")"; break;
|
||||
case Decoration::AliasScopeINTEL:
|
||||
ret += "(" + idName(el.aliasScopeINTEL) + ")"; break;
|
||||
case Decoration::NoAliasINTEL:
|
||||
ret += "(" + idName(el.noAliasINTEL) + ")"; break;
|
||||
case Decoration::InitiationIntervalINTEL:
|
||||
ret += "(" + ToStr(el.initiationIntervalINTEL) + ")"; break;
|
||||
case Decoration::MaxConcurrencyINTEL:
|
||||
ret += "(" + ToStr(el.maxConcurrencyINTEL) + ")"; break;
|
||||
case Decoration::PipelineEnableINTEL:
|
||||
ret += "(" + ToStr(el.pipelineEnableINTEL) + ")"; break;
|
||||
case Decoration::BufferLocationINTEL:
|
||||
ret += "(" + ToStr(el.bufferLocationINTEL) + ")"; break;
|
||||
case Decoration::IOPipeStorageINTEL:
|
||||
@@ -4136,6 +4197,230 @@ void OpDecoder::ForEachID(const ConstIter &it, const std::function<void(Id,bool)
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectRecordHitMotionNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
callback(Id::fromWord(it.word(4)), false);
|
||||
callback(Id::fromWord(it.word(5)), false);
|
||||
callback(Id::fromWord(it.word(6)), false);
|
||||
callback(Id::fromWord(it.word(7)), false);
|
||||
callback(Id::fromWord(it.word(8)), false);
|
||||
callback(Id::fromWord(it.word(9)), false);
|
||||
callback(Id::fromWord(it.word(10)), false);
|
||||
callback(Id::fromWord(it.word(11)), false);
|
||||
callback(Id::fromWord(it.word(12)), false);
|
||||
callback(Id::fromWord(it.word(13)), false);
|
||||
callback(Id::fromWord(it.word(14)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectRecordHitWithIndexMotionNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
callback(Id::fromWord(it.word(4)), false);
|
||||
callback(Id::fromWord(it.word(5)), false);
|
||||
callback(Id::fromWord(it.word(6)), false);
|
||||
callback(Id::fromWord(it.word(7)), false);
|
||||
callback(Id::fromWord(it.word(8)), false);
|
||||
callback(Id::fromWord(it.word(9)), false);
|
||||
callback(Id::fromWord(it.word(10)), false);
|
||||
callback(Id::fromWord(it.word(11)), false);
|
||||
callback(Id::fromWord(it.word(12)), false);
|
||||
callback(Id::fromWord(it.word(13)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectRecordMissMotionNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
callback(Id::fromWord(it.word(4)), false);
|
||||
callback(Id::fromWord(it.word(5)), false);
|
||||
callback(Id::fromWord(it.word(6)), false);
|
||||
callback(Id::fromWord(it.word(7)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetWorldToObjectNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetObjectToWorldNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetObjectRayDirectionNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetObjectRayOriginNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectTraceRayMotionNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
callback(Id::fromWord(it.word(4)), false);
|
||||
callback(Id::fromWord(it.word(5)), false);
|
||||
callback(Id::fromWord(it.word(6)), false);
|
||||
callback(Id::fromWord(it.word(7)), false);
|
||||
callback(Id::fromWord(it.word(8)), false);
|
||||
callback(Id::fromWord(it.word(9)), false);
|
||||
callback(Id::fromWord(it.word(10)), false);
|
||||
callback(Id::fromWord(it.word(11)), false);
|
||||
callback(Id::fromWord(it.word(12)), false);
|
||||
callback(Id::fromWord(it.word(13)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetShaderRecordBufferHandleNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetShaderBindingTableRecordIndexNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectRecordEmptyNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectTraceRayNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
callback(Id::fromWord(it.word(4)), false);
|
||||
callback(Id::fromWord(it.word(5)), false);
|
||||
callback(Id::fromWord(it.word(6)), false);
|
||||
callback(Id::fromWord(it.word(7)), false);
|
||||
callback(Id::fromWord(it.word(8)), false);
|
||||
callback(Id::fromWord(it.word(9)), false);
|
||||
callback(Id::fromWord(it.word(10)), false);
|
||||
callback(Id::fromWord(it.word(11)), false);
|
||||
callback(Id::fromWord(it.word(12)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectRecordHitNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
callback(Id::fromWord(it.word(4)), false);
|
||||
callback(Id::fromWord(it.word(5)), false);
|
||||
callback(Id::fromWord(it.word(6)), false);
|
||||
callback(Id::fromWord(it.word(7)), false);
|
||||
callback(Id::fromWord(it.word(8)), false);
|
||||
callback(Id::fromWord(it.word(9)), false);
|
||||
callback(Id::fromWord(it.word(10)), false);
|
||||
callback(Id::fromWord(it.word(11)), false);
|
||||
callback(Id::fromWord(it.word(12)), false);
|
||||
callback(Id::fromWord(it.word(13)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectRecordHitWithIndexNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
callback(Id::fromWord(it.word(4)), false);
|
||||
callback(Id::fromWord(it.word(5)), false);
|
||||
callback(Id::fromWord(it.word(6)), false);
|
||||
callback(Id::fromWord(it.word(7)), false);
|
||||
callback(Id::fromWord(it.word(8)), false);
|
||||
callback(Id::fromWord(it.word(9)), false);
|
||||
callback(Id::fromWord(it.word(10)), false);
|
||||
callback(Id::fromWord(it.word(11)), false);
|
||||
callback(Id::fromWord(it.word(12)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectRecordMissNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
callback(Id::fromWord(it.word(4)), false);
|
||||
callback(Id::fromWord(it.word(5)), false);
|
||||
callback(Id::fromWord(it.word(6)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectExecuteShaderNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetCurrentTimeNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetAttributesNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetHitKindNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetPrimitiveIndexNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetGeometryIndexNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetInstanceIdNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetInstanceCustomIndexNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetWorldRayDirectionNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetWorldRayOriginNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetRayTMaxNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectGetRayTMinNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectIsEmptyNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectIsHitNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::HitObjectIsMissNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::ReorderThreadWithHitObjectNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
if(2 < size) callback(Id::fromWord(it.word(2)), false);
|
||||
if(3 < size) callback(Id::fromWord(it.word(3)), false);
|
||||
break;
|
||||
case rdcspv::Op::ReorderThreadWithHintNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), false);
|
||||
break;
|
||||
case rdcspv::Op::TypeHitObjectNV:
|
||||
callback(Id::fromWord(it.word(1)), true);
|
||||
break;
|
||||
case rdcspv::Op::ImageSampleFootprintNV:
|
||||
callback(Id::fromWord(it.word(1)), false);
|
||||
callback(Id::fromWord(it.word(2)), true);
|
||||
@@ -7276,6 +7561,224 @@ rdcstr OpDecoder::Disassemble(const ConstIter &it, const std::function<rdcstr(Id
|
||||
ret += "ReadClockKHR(" + ToStr(Scope(constIntVal(decoded.scope))) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectRecordHitMotionNV:
|
||||
{
|
||||
OpHitObjectRecordHitMotionNV decoded(it);
|
||||
ret += "HitObjectRecordHitMotionNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.accelerationStructure) + ", " + ParamToStr(idName, decoded.instanceId) + ", " + ParamToStr(idName, decoded.primitiveId) + ", " + ParamToStr(idName, decoded.geometryIndex) + ", " + ParamToStr(idName, decoded.hitKind) + ", " + ParamToStr(idName, decoded.sBTRecordOffset) + ", " + ParamToStr(idName, decoded.sBTRecordStride) + ", " + ParamToStr(idName, decoded.origin) + ", " + ParamToStr(idName, decoded.tMin) + ", " + ParamToStr(idName, decoded.direction) + ", " + ParamToStr(idName, decoded.tMax) + ", " + ParamToStr(idName, decoded.currentTime) + ", " + ParamToStr(idName, decoded.hitObjectAttributes) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectRecordHitWithIndexMotionNV:
|
||||
{
|
||||
OpHitObjectRecordHitWithIndexMotionNV decoded(it);
|
||||
ret += "HitObjectRecordHitWithIndexMotionNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.accelerationStructure) + ", " + ParamToStr(idName, decoded.instanceId) + ", " + ParamToStr(idName, decoded.primitiveId) + ", " + ParamToStr(idName, decoded.geometryIndex) + ", " + ParamToStr(idName, decoded.hitKind) + ", " + ParamToStr(idName, decoded.sBTRecordIndex) + ", " + ParamToStr(idName, decoded.origin) + ", " + ParamToStr(idName, decoded.tMin) + ", " + ParamToStr(idName, decoded.direction) + ", " + ParamToStr(idName, decoded.tMax) + ", " + ParamToStr(idName, decoded.currentTime) + ", " + ParamToStr(idName, decoded.hitObjectAttributes) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectRecordMissMotionNV:
|
||||
{
|
||||
OpHitObjectRecordMissMotionNV decoded(it);
|
||||
ret += "HitObjectRecordMissMotionNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.sBTIndex) + ", " + ParamToStr(idName, decoded.origin) + ", " + ParamToStr(idName, decoded.tMin) + ", " + ParamToStr(idName, decoded.direction) + ", " + ParamToStr(idName, decoded.tMax) + ", " + ParamToStr(idName, decoded.currentTime) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetWorldToObjectNV:
|
||||
{
|
||||
OpHitObjectGetWorldToObjectNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetWorldToObjectNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetObjectToWorldNV:
|
||||
{
|
||||
OpHitObjectGetObjectToWorldNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetObjectToWorldNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetObjectRayDirectionNV:
|
||||
{
|
||||
OpHitObjectGetObjectRayDirectionNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetObjectRayDirectionNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetObjectRayOriginNV:
|
||||
{
|
||||
OpHitObjectGetObjectRayOriginNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetObjectRayOriginNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectTraceRayMotionNV:
|
||||
{
|
||||
OpHitObjectTraceRayMotionNV decoded(it);
|
||||
ret += "HitObjectTraceRayMotionNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.accelerationStructure) + ", " + ParamToStr(idName, decoded.rayFlags) + ", " + ParamToStr(idName, decoded.cullmask) + ", " + ParamToStr(idName, decoded.sBTRecordOffset) + ", " + ParamToStr(idName, decoded.sBTRecordStride) + ", " + ParamToStr(idName, decoded.missIndex) + ", " + ParamToStr(idName, decoded.origin) + ", " + ParamToStr(idName, decoded.tMin) + ", " + ParamToStr(idName, decoded.direction) + ", " + ParamToStr(idName, decoded.tMax) + ", " + ParamToStr(idName, decoded.time) + ", " + ParamToStr(idName, decoded.payload) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetShaderRecordBufferHandleNV:
|
||||
{
|
||||
OpHitObjectGetShaderRecordBufferHandleNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetShaderRecordBufferHandleNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetShaderBindingTableRecordIndexNV:
|
||||
{
|
||||
OpHitObjectGetShaderBindingTableRecordIndexNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetShaderBindingTableRecordIndexNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectRecordEmptyNV:
|
||||
{
|
||||
OpHitObjectRecordEmptyNV decoded(it);
|
||||
ret += "HitObjectRecordEmptyNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectTraceRayNV:
|
||||
{
|
||||
OpHitObjectTraceRayNV decoded(it);
|
||||
ret += "HitObjectTraceRayNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.accelerationStructure) + ", " + ParamToStr(idName, decoded.rayFlags) + ", " + ParamToStr(idName, decoded.cullmask) + ", " + ParamToStr(idName, decoded.sBTRecordOffset) + ", " + ParamToStr(idName, decoded.sBTRecordStride) + ", " + ParamToStr(idName, decoded.missIndex) + ", " + ParamToStr(idName, decoded.origin) + ", " + ParamToStr(idName, decoded.tMin) + ", " + ParamToStr(idName, decoded.direction) + ", " + ParamToStr(idName, decoded.tMax) + ", " + ParamToStr(idName, decoded.payload) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectRecordHitNV:
|
||||
{
|
||||
OpHitObjectRecordHitNV decoded(it);
|
||||
ret += "HitObjectRecordHitNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.accelerationStructure) + ", " + ParamToStr(idName, decoded.instanceId) + ", " + ParamToStr(idName, decoded.primitiveId) + ", " + ParamToStr(idName, decoded.geometryIndex) + ", " + ParamToStr(idName, decoded.hitKind) + ", " + ParamToStr(idName, decoded.sBTRecordOffset) + ", " + ParamToStr(idName, decoded.sBTRecordStride) + ", " + ParamToStr(idName, decoded.origin) + ", " + ParamToStr(idName, decoded.tMin) + ", " + ParamToStr(idName, decoded.direction) + ", " + ParamToStr(idName, decoded.tMax) + ", " + ParamToStr(idName, decoded.hitObjectAttributes) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectRecordHitWithIndexNV:
|
||||
{
|
||||
OpHitObjectRecordHitWithIndexNV decoded(it);
|
||||
ret += "HitObjectRecordHitWithIndexNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.accelerationStructure) + ", " + ParamToStr(idName, decoded.instanceId) + ", " + ParamToStr(idName, decoded.primitiveId) + ", " + ParamToStr(idName, decoded.geometryIndex) + ", " + ParamToStr(idName, decoded.hitKind) + ", " + ParamToStr(idName, decoded.sBTRecordIndex) + ", " + ParamToStr(idName, decoded.origin) + ", " + ParamToStr(idName, decoded.tMin) + ", " + ParamToStr(idName, decoded.direction) + ", " + ParamToStr(idName, decoded.tMax) + ", " + ParamToStr(idName, decoded.hitObjectAttributes) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectRecordMissNV:
|
||||
{
|
||||
OpHitObjectRecordMissNV decoded(it);
|
||||
ret += "HitObjectRecordMissNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.sBTIndex) + ", " + ParamToStr(idName, decoded.origin) + ", " + ParamToStr(idName, decoded.tMin) + ", " + ParamToStr(idName, decoded.direction) + ", " + ParamToStr(idName, decoded.tMax) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectExecuteShaderNV:
|
||||
{
|
||||
OpHitObjectExecuteShaderNV decoded(it);
|
||||
ret += "HitObjectExecuteShaderNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.payload) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetCurrentTimeNV:
|
||||
{
|
||||
OpHitObjectGetCurrentTimeNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetCurrentTimeNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetAttributesNV:
|
||||
{
|
||||
OpHitObjectGetAttributesNV decoded(it);
|
||||
ret += "HitObjectGetAttributesNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.hitObjectAttribute) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetHitKindNV:
|
||||
{
|
||||
OpHitObjectGetHitKindNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetHitKindNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetPrimitiveIndexNV:
|
||||
{
|
||||
OpHitObjectGetPrimitiveIndexNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetPrimitiveIndexNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetGeometryIndexNV:
|
||||
{
|
||||
OpHitObjectGetGeometryIndexNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetGeometryIndexNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetInstanceIdNV:
|
||||
{
|
||||
OpHitObjectGetInstanceIdNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetInstanceIdNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetInstanceCustomIndexNV:
|
||||
{
|
||||
OpHitObjectGetInstanceCustomIndexNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetInstanceCustomIndexNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetWorldRayDirectionNV:
|
||||
{
|
||||
OpHitObjectGetWorldRayDirectionNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetWorldRayDirectionNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetWorldRayOriginNV:
|
||||
{
|
||||
OpHitObjectGetWorldRayOriginNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetWorldRayOriginNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetRayTMaxNV:
|
||||
{
|
||||
OpHitObjectGetRayTMaxNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetRayTMaxNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectGetRayTMinNV:
|
||||
{
|
||||
OpHitObjectGetRayTMinNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectGetRayTMinNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectIsEmptyNV:
|
||||
{
|
||||
OpHitObjectIsEmptyNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectIsEmptyNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectIsHitNV:
|
||||
{
|
||||
OpHitObjectIsHitNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectIsHitNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::HitObjectIsMissNV:
|
||||
{
|
||||
OpHitObjectIsMissNV decoded(it);
|
||||
ret += declName(decoded.resultType, decoded.result) + " = ";
|
||||
ret += "HitObjectIsMissNV(" + ParamToStr(idName, decoded.hitObject) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::ReorderThreadWithHitObjectNV:
|
||||
{
|
||||
OpReorderThreadWithHitObjectNV decoded(it);
|
||||
ret += "ReorderThreadWithHitObjectNV(" + ParamToStr(idName, decoded.hitObject) + ", " + ParamToStr(idName, decoded.hint) + ", " + ParamToStr(idName, decoded.bits) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::ReorderThreadWithHintNV:
|
||||
{
|
||||
OpReorderThreadWithHintNV decoded(it);
|
||||
ret += "ReorderThreadWithHintNV(" + ParamToStr(idName, decoded.hint) + ", " + ParamToStr(idName, decoded.bits) + ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::TypeHitObjectNV:
|
||||
{
|
||||
OpTypeHitObjectNV decoded(it);
|
||||
ret += idName(decoded.result) + " = ";
|
||||
ret += "TypeHitObjectNV(" ")";
|
||||
break;
|
||||
}
|
||||
case rdcspv::Op::ImageSampleFootprintNV:
|
||||
{
|
||||
OpImageSampleFootprintNV decoded(it);
|
||||
@@ -8307,6 +8810,39 @@ OpDecoder::OpDecoder(const ConstIter &it)
|
||||
case rdcspv::Op::FragmentMaskFetchAMD: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::FragmentFetchAMD: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::ReadClockKHR: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectRecordHitMotionNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectRecordHitWithIndexMotionNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectRecordMissMotionNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectGetWorldToObjectNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetObjectToWorldNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetObjectRayDirectionNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetObjectRayOriginNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectTraceRayMotionNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectGetShaderRecordBufferHandleNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetShaderBindingTableRecordIndexNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectRecordEmptyNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectTraceRayNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectRecordHitNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectRecordHitWithIndexNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectRecordMissNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectExecuteShaderNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectGetCurrentTimeNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetAttributesNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::HitObjectGetHitKindNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetPrimitiveIndexNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetGeometryIndexNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetInstanceIdNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetInstanceCustomIndexNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetWorldRayDirectionNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetWorldRayOriginNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetRayTMaxNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectGetRayTMinNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectIsEmptyNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectIsHitNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::HitObjectIsMissNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::ReorderThreadWithHitObjectNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::ReorderThreadWithHintNV: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::TypeHitObjectNV: result = Id::fromWord(it.word(1)); resultType = Id(); break;
|
||||
case rdcspv::Op::ImageSampleFootprintNV: result = Id::fromWord(it.word(2)); resultType = Id::fromWord(it.word(1)); break;
|
||||
case rdcspv::Op::EmitMeshTasksEXT: result = Id(); resultType = Id(); break;
|
||||
case rdcspv::Op::SetMeshOutputsEXT: result = Id(); resultType = Id(); break;
|
||||
@@ -8582,6 +9118,7 @@ rdcstr DoStringise(const rdcspv::Generator &el)
|
||||
STRINGISE_ENUM_CLASS_NAMED(ShaderWriter, "ShaderWriter from DragonJoker - Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter");
|
||||
STRINGISE_ENUM_CLASS_NAMED(SPIRVSmith, "SPIRVSmith from Rayan Hatout - Contact Rayan Hatout rayan.hatout@gmail.com, Repo https://github.com/rayanht/SPIRVSmith");
|
||||
STRINGISE_ENUM_CLASS_NAMED(Shady, "Shady from Saarland University - Contact Hugo Devillers devillers@uni-saarland.de, Repo https://github.com/Hugobros3/shady");
|
||||
STRINGISE_ENUM_CLASS_NAMED(Taichi, "Taichi from Taichi Graphics - Contact Rendong Liang rendongliang@taichi.graphics, Repo https://github.com/taichi-dev/taichi");
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
@@ -124,6 +124,7 @@ enum class Generator : uint32_t
|
||||
ShaderWriter = 33,
|
||||
SPIRVSmith = 34,
|
||||
Shady = 35,
|
||||
Taichi = 36,
|
||||
};
|
||||
|
||||
enum class ImageOperands : uint32_t
|
||||
@@ -202,6 +203,8 @@ enum class LoopControl : uint32_t
|
||||
MaxInterleavingINTEL = 0x200000,
|
||||
SpeculatedIterationsINTEL = 0x400000,
|
||||
NoFusionINTEL = 0x800000,
|
||||
LoopCountINTEL = 0x1000000,
|
||||
MaxReinvocationDelayINTEL = 0x2000000,
|
||||
Max,
|
||||
Invalid = ~0U,
|
||||
};
|
||||
@@ -455,6 +458,7 @@ enum class ExecutionMode : uint32_t
|
||||
NoGlobalOffsetINTEL = 5895,
|
||||
NumSIMDWorkitemsINTEL = 5896,
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
StreamingInterfaceINTEL = 6154,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
Max,
|
||||
Invalid = ~0U,
|
||||
@@ -489,6 +493,7 @@ enum class StorageClass : uint32_t
|
||||
ShaderRecordBufferKHR = 5343,
|
||||
PhysicalStorageBuffer = 5349,
|
||||
PhysicalStorageBufferEXT = 5349,
|
||||
HitObjectAttributeNV = 5385,
|
||||
TaskPayloadWorkgroupEXT = 5402,
|
||||
CodeSectionINTEL = 5605,
|
||||
DeviceOnlyINTEL = 5936,
|
||||
@@ -704,6 +709,7 @@ enum class FunctionParameterAttribute : uint32_t
|
||||
NoCapture = 5,
|
||||
NoWrite = 6,
|
||||
NoReadWrite = 7,
|
||||
RuntimeAlignedINTEL = 5940,
|
||||
Max,
|
||||
Invalid = ~0U,
|
||||
};
|
||||
@@ -776,6 +782,7 @@ enum class Decoration : uint32_t
|
||||
RestrictPointerEXT = 5355,
|
||||
AliasedPointer = 5356,
|
||||
AliasedPointerEXT = 5356,
|
||||
HitObjectShaderRecordBufferNV = 5386,
|
||||
BindlessSamplerNV = 5398,
|
||||
BindlessImageNV = 5399,
|
||||
BoundSamplerNV = 5400,
|
||||
@@ -814,8 +821,12 @@ enum class Decoration : uint32_t
|
||||
PrefetchINTEL = 5902,
|
||||
StallEnableINTEL = 5905,
|
||||
FuseLoopsInFunctionINTEL = 5907,
|
||||
MathOpDSPModeINTEL = 5909,
|
||||
AliasScopeINTEL = 5914,
|
||||
NoAliasINTEL = 5915,
|
||||
InitiationIntervalINTEL = 5917,
|
||||
MaxConcurrencyINTEL = 5918,
|
||||
PipelineEnableINTEL = 5919,
|
||||
BufferLocationINTEL = 5921,
|
||||
IOPipeStorageINTEL = 5944,
|
||||
FunctionFloatingPointModeINTEL = 6080,
|
||||
@@ -1169,6 +1180,7 @@ enum class Capability : uint32_t
|
||||
DemoteToHelperInvocation = 5379,
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
ShaderInvocationReorderNV = 5383,
|
||||
BindlessTextureNV = 5390,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
@@ -1202,10 +1214,13 @@ enum class Capability : uint32_t
|
||||
FPGAMemoryAccessesINTEL = 5898,
|
||||
FPGAClusterAttributesINTEL = 5904,
|
||||
LoopFuseINTEL = 5906,
|
||||
FPGADSPControlINTEL = 5908,
|
||||
MemoryAccessAliasingINTEL = 5910,
|
||||
FPGAInvocationPipeliningAttributesINTEL = 5916,
|
||||
FPGABufferLocationINTEL = 5920,
|
||||
ArbitraryPrecisionFixedPointINTEL = 5922,
|
||||
USMStorageClassesINTEL = 5935,
|
||||
RuntimeAlignedAttributeINTEL = 5939,
|
||||
IOPipesINTEL = 5943,
|
||||
BlockingPipesINTEL = 5945,
|
||||
FPGARegINTEL = 5948,
|
||||
@@ -1360,7 +1375,8 @@ struct LoopControlAndParamDatas
|
||||
uint32_t loopCoalesceINTEL;
|
||||
uint32_t maxInterleavingINTEL;
|
||||
uint32_t speculatedIterationsINTEL;
|
||||
uint32_t noFusionINTEL;
|
||||
uint32_t loopCountINTEL;
|
||||
uint32_t maxReinvocationDelayINTEL;
|
||||
|
||||
operator LoopControl() const { return flags; }
|
||||
bool operator &(const LoopControl v) const { return bool(flags & v); }
|
||||
@@ -1398,8 +1414,12 @@ struct LoopControlAndParamDatas
|
||||
void unsetMaxInterleavingINTEL() { flags &= ~LoopControl::MaxInterleavingINTEL; }
|
||||
void setSpeculatedIterationsINTEL(uint32_t speculatedIterationsINTELParam) { flags |= LoopControl::SpeculatedIterationsINTEL; speculatedIterationsINTEL = speculatedIterationsINTELParam; }
|
||||
void unsetSpeculatedIterationsINTEL() { flags &= ~LoopControl::SpeculatedIterationsINTEL; }
|
||||
void setNoFusionINTEL(uint32_t noFusionINTELParam) { flags |= LoopControl::NoFusionINTEL; noFusionINTEL = noFusionINTELParam; }
|
||||
void setNoFusionINTEL() { flags |= LoopControl::NoFusionINTEL; }
|
||||
void unsetNoFusionINTEL() { flags &= ~LoopControl::NoFusionINTEL; }
|
||||
void setLoopCountINTEL(uint32_t loopCountINTELParam) { flags |= LoopControl::LoopCountINTEL; loopCountINTEL = loopCountINTELParam; }
|
||||
void unsetLoopCountINTEL() { flags &= ~LoopControl::LoopCountINTEL; }
|
||||
void setMaxReinvocationDelayINTEL(uint32_t maxReinvocationDelayINTELParam) { flags |= LoopControl::MaxReinvocationDelayINTEL; maxReinvocationDelayINTEL = maxReinvocationDelayINTELParam; }
|
||||
void unsetMaxReinvocationDelayINTEL() { flags &= ~LoopControl::MaxReinvocationDelayINTEL; }
|
||||
};
|
||||
|
||||
struct MemoryAccessAndParamDatas
|
||||
@@ -1509,6 +1529,7 @@ struct ExecutionModeAndParamData
|
||||
uint32_t maxWorkDimINTEL;
|
||||
uint32_t numSIMDWorkitemsINTEL;
|
||||
uint32_t schedulerTargetFmaxMhzINTEL;
|
||||
uint32_t streamingInterfaceINTEL;
|
||||
uint32_t namedBarrierCountINTEL;
|
||||
};
|
||||
|
||||
@@ -1528,6 +1549,12 @@ struct FunctionDenormModeINTELParams
|
||||
FPDenormMode fPDenormMode;
|
||||
};
|
||||
|
||||
struct MathOpDSPModeINTELParams
|
||||
{
|
||||
uint32_t mode;
|
||||
uint32_t propagate;
|
||||
};
|
||||
|
||||
struct FunctionFloatingPointModeINTELParams
|
||||
{
|
||||
uint32_t targetWidth;
|
||||
@@ -1578,8 +1605,12 @@ struct DecorationAndParamData
|
||||
uint32_t forcePow2DepthINTEL;
|
||||
uint32_t cacheSizeINTEL;
|
||||
uint32_t prefetchINTEL;
|
||||
MathOpDSPModeINTELParams mathOpDSPModeINTEL;
|
||||
Id aliasScopeINTEL;
|
||||
Id noAliasINTEL;
|
||||
uint32_t initiationIntervalINTEL;
|
||||
uint32_t maxConcurrencyINTEL;
|
||||
uint32_t pipelineEnableINTEL;
|
||||
uint32_t bufferLocationINTEL;
|
||||
uint32_t iOPipeStorageINTEL;
|
||||
FunctionFloatingPointModeINTELParams functionFloatingPointModeINTEL;
|
||||
@@ -1978,6 +2009,39 @@ enum class Op : uint16_t
|
||||
FragmentMaskFetchAMD = 5011,
|
||||
FragmentFetchAMD = 5012,
|
||||
ReadClockKHR = 5056,
|
||||
HitObjectRecordHitMotionNV = 5249,
|
||||
HitObjectRecordHitWithIndexMotionNV = 5250,
|
||||
HitObjectRecordMissMotionNV = 5251,
|
||||
HitObjectGetWorldToObjectNV = 5252,
|
||||
HitObjectGetObjectToWorldNV = 5253,
|
||||
HitObjectGetObjectRayDirectionNV = 5254,
|
||||
HitObjectGetObjectRayOriginNV = 5255,
|
||||
HitObjectTraceRayMotionNV = 5256,
|
||||
HitObjectGetShaderRecordBufferHandleNV = 5257,
|
||||
HitObjectGetShaderBindingTableRecordIndexNV = 5258,
|
||||
HitObjectRecordEmptyNV = 5259,
|
||||
HitObjectTraceRayNV = 5260,
|
||||
HitObjectRecordHitNV = 5261,
|
||||
HitObjectRecordHitWithIndexNV = 5262,
|
||||
HitObjectRecordMissNV = 5263,
|
||||
HitObjectExecuteShaderNV = 5264,
|
||||
HitObjectGetCurrentTimeNV = 5265,
|
||||
HitObjectGetAttributesNV = 5266,
|
||||
HitObjectGetHitKindNV = 5267,
|
||||
HitObjectGetPrimitiveIndexNV = 5268,
|
||||
HitObjectGetGeometryIndexNV = 5269,
|
||||
HitObjectGetInstanceIdNV = 5270,
|
||||
HitObjectGetInstanceCustomIndexNV = 5271,
|
||||
HitObjectGetWorldRayDirectionNV = 5272,
|
||||
HitObjectGetWorldRayOriginNV = 5273,
|
||||
HitObjectGetRayTMaxNV = 5274,
|
||||
HitObjectGetRayTMinNV = 5275,
|
||||
HitObjectIsEmptyNV = 5276,
|
||||
HitObjectIsHitNV = 5277,
|
||||
HitObjectIsMissNV = 5278,
|
||||
ReorderThreadWithHitObjectNV = 5279,
|
||||
ReorderThreadWithHintNV = 5280,
|
||||
TypeHitObjectNV = 5281,
|
||||
ImageSampleFootprintNV = 5283,
|
||||
EmitMeshTasksEXT = 5294,
|
||||
SetMeshOutputsEXT = 5295,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user