summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-08-11 13:11:15 -0700
committerGitHub <noreply@github.com>2023-08-11 13:11:15 -0700
commite689d5ee8e9724fee018aa14be24f9679ec5c851 (patch)
treeb7aa24fddd41fe4e898a48984b23eae330964a62
parent37223160be2543861bb795dc2d2d4cb6ac9843cb (diff)
Make sure glsl source in spirv is included when compiling with -g3 (#3099)
* Make sure glsl source in spirv is included when compiling with -g3. * Exclude vulkan tests on github linux CI. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
m---------external/spirv-headers0
m---------external/spirv-tools0
-rw-r--r--github_test.sh2
-rw-r--r--source/slang-glslang/slang-glslang.cpp47
-rw-r--r--source/slang/slang-lookup-spvop.cpp1418
-rw-r--r--tests/bugs/spirv-debug-info.slang15
6 files changed, 760 insertions, 722 deletions
diff --git a/external/spirv-headers b/external/spirv-headers
-Subproject aa331ab0ffcb3a67021caa1a0c1c9017712f2f3
+Subproject 124a9665e464ef98b8b718d572d5f329311061e
diff --git a/external/spirv-tools b/external/spirv-tools
-Subproject 1551b6f6c66a10c050eae437f23bf4197344b13
+Subproject 8994351e58e45e1f067733966628383c50341de
diff --git a/github_test.sh b/github_test.sh
index 274250a7d..3ce8f8314 100644
--- a/github_test.sh
+++ b/github_test.sh
@@ -37,4 +37,4 @@ fi
SLANG_TEST=${OUTPUTDIR}slang-test
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OUTPUTDIR
-${SLANG_TEST} -bindir ${OUTPUTDIR} -travis -category ${SLANG_TEST_CATEGORY} ${SLANG_TEST_FLAGS}
+${SLANG_TEST} -bindir ${OUTPUTDIR} -travis -category ${SLANG_TEST_CATEGORY} ${SLANG_TEST_FLAGS} -api all-vk
diff --git a/source/slang-glslang/slang-glslang.cpp b/source/slang-glslang/slang-glslang.cpp
index 92a8d753b..bbf154a69 100644
--- a/source/slang-glslang/slang-glslang.cpp
+++ b/source/slang-glslang/slang-glslang.cpp
@@ -591,13 +591,35 @@ static int glslang_compileGLSLToSPIRV(const glslang_CompileRequest_1_2& request)
int sourceTextLength = (int)(sourceTextEnd - sourceText);
shader->setPreamble("#extension GL_GOOGLE_cpp_style_line_directive : require\n");
-
shader->setStringsWithLengthsAndNames(
&sourceText,
&sourceTextLength,
&request.sourcePath,
1);
+ // Options for compilation of glsl to Spv
+
+ // spvOptions ctors with default options (this it the same as passing nullptr to GlslangToSpv)
+ glslang::SpvOptions spvOptions;
+
+ const SlangDebugInfoLevel debugLevel = (SlangDebugInfoLevel)request.debugInfoType;
+
+ // Enable generation of debug info, if any debug level other than none is requested
+ if (debugLevel != SLANG_DEBUG_INFO_LEVEL_NONE)
+ {
+ spvOptions.generateDebugInfo = true;
+ spvOptions.emitNonSemanticShaderDebugInfo = true;
+ shader->setDebugInfo(true);
+ }
+
+ if (debugLevel == SLANG_DEBUG_INFO_LEVEL_MAXIMAL)
+ {
+ spvOptions.emitNonSemanticShaderDebugSource = true;
+ spvOptions.disableOptimizer = true;
+ request.optimizationLevel = SLANG_OPTIMIZATION_LEVEL_NONE;
+ }
+
+ // Link program
{
const EShMessages messages = EShMessages(EShMsgSpvRules | EShMsgVulkanRules);
@@ -625,30 +647,15 @@ static int glslang_compileGLSLToSPIRV(const glslang_CompileRequest_1_2& request)
}
}
- // Options for compilation of glsl to Spv
-
- // spvOptions ctors with default options (this it the same as passing nullptr to GlslangToSpv)
- glslang::SpvOptions spvOptions;
-
- const SlangDebugInfoLevel debugLevel = (SlangDebugInfoLevel)request.debugInfoType;
-
- // Enable generation of debug info, if any debug level other than none is requested
- if (debugLevel != SLANG_DEBUG_INFO_LEVEL_NONE)
- {
- spvOptions.generateDebugInfo = true;
- spvOptions.emitNonSemanticShaderDebugInfo = true;
- }
-
- if (debugLevel == SLANG_DEBUG_INFO_LEVEL_MAXIMAL)
- {
- spvOptions.emitNonSemanticShaderDebugSource = true;
- }
-
for(int stage = 0; stage < EShLangCount; ++stage)
{
auto stageIntermediate = program->getIntermediate((EShLanguage)stage);
if(!stageIntermediate)
continue;
+ if (debugLevel == SLANG_DEBUG_INFO_LEVEL_MAXIMAL)
+ {
+ stageIntermediate->addSourceText(sourceText, sourceTextLength);
+ }
std::vector<unsigned int> spirv;
spv::SpvBuildLogger logger;
diff --git a/source/slang/slang-lookup-spvop.cpp b/source/slang/slang-lookup-spvop.cpp
index 527fcdb24..c10a25997 100644
--- a/source/slang/slang-lookup-spvop.cpp
+++ b/source/slang/slang-lookup-spvop.cpp
@@ -12,51 +12,52 @@
namespace Slang
{
-static const unsigned tableSalt[703] ={
- 2, 5, 0, 6, 0, 0, 1, 4, 1, 1, 3, 2, 3, 0, 0, 0,
- 2, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 4, 0, 0, 0,
- 0, 1, 1, 3, 3, 1, 1, 0, 6, 0, 0, 0, 0, 4, 1, 5,
- 2, 6, 6, 0, 2, 2, 3, 0, 0, 1, 3, 0, 4, 1, 7, 3,
- 9, 1, 2, 2, 0, 2, 1, 0, 0, 1, 3, 1, 1, 1, 0, 0,
- 5, 0, 3, 4, 9, 0, 0, 1, 0, 0, 6, 1, 0, 2, 4, 0,
- 0, 0, 0, 3, 5, 1, 0, 1, 2, 6, 10, 0, 0, 0, 5, 1,
- 0, 1, 2, 0, 2, 3, 1, 0, 2, 0, 0, 2, 2, 1, 1, 4,
- 1, 1, 0, 1, 2, 4, 3, 4, 6, 0, 1, 0, 0, 2, 2, 1,
- 3, 0, 4, 0, 1, 4, 1, 0, 2, 0, 0, 1, 0, 1, 4, 1,
- 0, 3, 3, 0, 4, 2, 1, 0, 2, 0, 3, 0, 2, 0, 2, 3,
- 4, 2, 3, 5, 1, 0, 1, 12, 2, 1, 0, 1, 4, 5, 3, 1,
- 0, 0, 0, 1, 3, 2, 1, 0, 1, 0, 10, 1, 3, 10, 0, 1,
- 0, 0, 0, 1, 0, 1, 3, 0, 1, 0, 3, 0, 3, 6, 1, 0,
- 1, 0, 2, 7, 0, 5, 1, 1, 0, 0, 0, 3, 1, 15, 2, 3,
- 7, 7, 2, 1, 0, 0, 4, 3, 3, 0, 3, 5, 2, 1, 0, 2,
- 1, 5, 0, 0, 1, 6, 2, 3, 3, 0, 0, 1, 8, 0, 0, 2,
- 4, 1, 4, 1, 5, 4, 1, 2, 10, 2, 0, 0, 2, 2, 4, 1,
- 2, 0, 3, 1, 13, 3, 5, 1, 8, 2, 3, 0, 0, 4, 3, 0,
- 0, 2, 5, 0, 7, 1, 1, 0, 2, 1, 0, 7, 1, 4, 0, 8,
- 3, 1, 1, 1, 1, 1, 0, 0, 0, 11, 1, 1, 2, 1, 0, 0,
- 0, 15, 0, 6, 0, 1, 1, 0, 0, 9, 8, 1, 0, 14, 0, 0,
- 0, 10, 0, 3, 0, 1, 4, 0, 2, 1, 2, 10, 0, 6, 1, 1,
- 0, 7, 0, 11, 0, 1, 2, 6, 0, 0, 0, 4, 10, 2, 8, 4,
- 1, 0, 2, 0, 4, 0, 9, 1, 3, 1, 0, 2, 0, 0, 8, 0,
- 2, 0, 0, 0, 5, 2, 0, 2, 5, 6, 1, 0, 3, 0, 0, 2,
- 0, 0, 0, 4, 5, 0, 2, 3, 6, 2, 14, 0, 0, 0, 1, 1,
- 15, 14, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 2, 0, 0, 3,
- 16, 0, 1, 10, 7, 2, 0, 0, 4, 0, 0, 2, 5, 1, 2, 0,
- 3, 1, 0, 0, 1, 16, 0, 0, 0, 4, 1, 0, 0, 2, 3, 1,
- 11, 2, 2, 1, 8, 0, 2, 0, 9, 3, 0, 0, 1, 3, 1, 0,
- 18, 1, 6, 8, 21, 19, 2, 0, 7, 1, 0, 2, 9, 1, 0, 0,
- 3, 0, 6, 0, 3, 7, 0, 0, 15, 0, 2, 3, 0, 4, 0, 4,
- 2, 8, 1, 9, 0, 0, 1, 9, 1, 0, 2, 4, 7, 1, 0, 5,
- 0, 0, 2, 6, 0, 0, 40, 8, 5, 4, 5, 1, 14, 0, 7, 2,
- 19, 2, 0, 21, 1, 9, 5, 2, 25, 0, 7, 24, 0, 0, 0, 0,
- 4, 9, 3, 6, 7, 0, 14, 1, 18, 1, 83, 0, 5, 0, 0, 0,
- 0, 1, 43, 0, 4, 0, 3, 0, 7, 0, 14, 0, 2, 0, 1, 3,
- 0, 14, 0, 30, 0, 0, 2, 0, 0, 0, 0, 78, 0, 49, 3, 1,
- 0, 3, 0, 7, 0, 32, 1, 10, 43, 0, 0, 95, 21, 3, 0, 2,
- 0, 0, 16, 9, 17, 5, 52, 0, 16, 3, 0, 11, 1, 27, 1, 190,
- 81, 3, 0, 72, 3, 84, 23, 0, 9, 0, 5, 50, 0, 19, 376, 0,
- 3, 102, 3, 4, 27, 9, 0, 16, 0, 0, 100, 1, 3, 2, 0, 0,
- 0, 0, 0, 9, 0, 0, 31, 35, 10, 6, 0, 0, 54, 0, 203
+static const unsigned tableSalt[718] ={
+ 0, 0, 1, 5, 1, 0, 2, 0, 1, 6, 0, 1, 3, 0, 4, 1,
+ 1, 1, 1, 0, 0, 0, 0, 3, 2, 1, 2, 1, 1, 5, 0, 0,
+ 1, 1, 1, 1, 0, 0, 0, 0, 1, 9, 1, 0, 0, 1, 0, 2,
+ 1, 1, 0, 1, 3, 1, 3, 1, 1, 0, 0, 0, 0, 0, 2, 5,
+ 0, 1, 1, 0, 1, 1, 1, 1, 4, 1, 6, 2, 2, 6, 2, 1,
+ 1, 2, 1, 0, 1, 6, 4, 2, 0, 1, 0, 1, 1, 1, 4, 3,
+ 2, 4, 0, 0, 0, 2, 2, 1, 2, 0, 0, 2, 0, 5, 5, 0,
+ 6, 0, 0, 0, 8, 5, 2, 1, 5, 1, 0, 0, 10, 0, 0, 2,
+ 1, 0, 0, 2, 4, 0, 1, 2, 3, 0, 3, 0, 2, 5, 0, 2,
+ 0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 0, 0, 6, 1, 0, 1,
+ 1, 2, 1, 0, 1, 1, 0, 1, 10, 2, 0, 6, 0, 0, 1, 6,
+ 0, 0, 9, 0, 4, 8, 0, 3, 3, 2, 0, 8, 2, 8, 0, 1,
+ 3, 0, 0, 0, 3, 4, 5, 6, 0, 6, 6, 2, 1, 0, 1, 1,
+ 5, 1, 1, 2, 2, 1, 2, 5, 1, 1, 4, 5, 1, 0, 0, 0,
+ 2, 0, 0, 3, 1, 4, 0, 10, 5, 1, 1, 0, 2, 4, 0, 3,
+ 5, 1, 1, 5, 4, 1, 7, 1, 0, 1, 0, 4, 5, 0, 0, 4,
+ 3, 4, 2, 0, 1, 0, 3, 4, 1, 3, 0, 0, 0, 1, 1, 0,
+ 0, 1, 0, 1, 0, 0, 2, 0, 3, 1, 1, 0, 0, 4, 0, 0,
+ 6, 0, 6, 0, 0, 2, 1, 29, 2, 0, 1, 6, 0, 0, 6, 6,
+ 1, 0, 0, 1, 13, 0, 2, 4, 3, 6, 1, 2, 2, 7, 0, 0,
+ 13, 0, 0, 2, 0, 0, 0, 0, 1, 1, 0, 2, 1, 5, 1, 0,
+ 2, 3, 0, 4, 5, 6, 0, 1, 2, 4, 2, 1, 1, 3, 0, 0,
+ 1, 1, 1, 2, 10, 0, 0, 0, 0, 0, 12, 0, 0, 6, 3, 0,
+ 6, 1, 6, 1, 4, 2, 1, 1, 0, 1, 0, 22, 0, 0, 15, 2,
+ 2, 0, 1, 10, 3, 3, 5, 1, 20, 0, 6, 3, 0, 5, 5, 0,
+ 0, 2, 0, 2, 0, 0, 6, 3, 1, 0, 0, 8, 0, 16, 8, 8,
+ 1, 1, 3, 3, 8, 5, 8, 13, 4, 0, 9, 5, 0, 0, 4, 5,
+ 14, 1, 0, 0, 0, 2, 0, 1, 2, 23, 0, 0, 6, 2, 2, 0,
+ 1, 7, 4, 0, 3, 0, 4, 1, 0, 4, 7, 0, 0, 6, 0, 4,
+ 0, 10, 3, 7, 18, 1, 7, 4, 2, 2, 8, 0, 0, 15, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 5, 1, 5, 0, 3, 1,
+ 0, 0, 3, 2, 3, 0, 0, 2, 0, 0, 3, 30, 15, 36, 1, 0,
+ 1, 1, 7, 19, 0, 2, 7, 8, 0, 0, 2, 49, 0, 13, 20, 7,
+ 10, 1, 5, 8, 4, 22, 4, 28, 0, 1, 11, 17, 1, 2, 4, 27,
+ 0, 0, 0, 1, 11, 8, 0, 3, 5, 3, 5, 1, 17, 1, 0, 0,
+ 5, 17, 0, 0, 14, 6, 0, 13, 0, 6, 21, 21, 2, 0, 0, 14,
+ 0, 0, 44, 5, 1, 12, 26, 6, 0, 6, 10, 0, 24, 0, 0, 7,
+ 5, 0, 0, 0, 0, 0, 0, 1, 2, 46, 0, 8, 0, 1, 66, 0,
+ 0, 15, 0, 0, 7, 0, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 10, 0, 0, 0, 4, 0, 82, 4, 0, 26, 0, 0, 0,
+ 9, 5, 0, 0, 0, 0, 67, 0, 43, 2, 0, 0, 21, 0, 0, 0,
+ 2, 49, 1, 0, 0, 4, 10, 10, 11, 1, 0, 74, 5, 33, 46, 0,
+ 0, 169, 0, 12, 49, 3, 4, 0, 1, 38, 87, 0, 0, 16, 0, 127,
+ 0, 0, 0, 66, 101, 148, 0, 5, 0, 9, 0, 1, 103, 161, 122, 5,
+ 0, 22, 0, 0, 1, 0, 69, 0, 6, 0, 882, 0, 0, 34
};
struct KV
@@ -65,711 +66,726 @@ struct KV
SpvOp value;
};
-static const KV words[703] =
+static const KV words[718] =
{
- {"OpSUDot", SpvOpSUDot},
- {"OpDPdyCoarse", SpvOpDPdyCoarse},
- {"OpArbitraryFloatExpm1INTEL", SpvOpArbitraryFloatExpm1INTEL},
- {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL},
- {"OpGroupNonUniformShuffleUp", SpvOpGroupNonUniformShuffleUp},
- {"OpArbitraryFloatCastINTEL", SpvOpArbitraryFloatCastINTEL},
- {"OpTerminateRayKHR", SpvOpTerminateRayKHR},
- {"OpFunctionCall", SpvOpFunctionCall},
- {"OpIsHelperInvocationEXT", SpvOpIsHelperInvocationEXT},
- {"OpArbitraryFloatCosPiINTEL", SpvOpArbitraryFloatCosPiINTEL},
- {"OpImageFetch", SpvOpImageFetch},
- {"OpBitReverse", SpvOpBitReverse},
- {"OpVmeImageINTEL", SpvOpVmeImageINTEL},
- {"OpArbitraryFloatSqrtINTEL", SpvOpArbitraryFloatSqrtINTEL},
- {"OpExtension", SpvOpExtension},
- {"OpGroupAny", SpvOpGroupAny},
- {"OpExecutionMode", SpvOpExecutionMode},
- {"OpSampledImage", SpvOpSampledImage},
- {"OpUnreachable", SpvOpUnreachable},
- {"OpSubgroupAvcMceGetInterMinorShapeINTEL", SpvOpSubgroupAvcMceGetInterMinorShapeINTEL},
- {"OpImageSampleProjImplicitLod", SpvOpImageSampleProjImplicitLod},
- {"OpFixedSinCosPiINTEL", SpvOpFixedSinCosPiINTEL},
- {"OpSatConvertUToS", SpvOpSatConvertUToS},
- {"OpHitObjectGetObjectToWorldNV", SpvOpHitObjectGetObjectToWorldNV},
- {"OpMemoryModel", SpvOpMemoryModel},
- {"OpImageQuerySamples", SpvOpImageQuerySamples},
- {"OpEntryPoint", SpvOpEntryPoint},
- {"OpFUnordGreaterThan", SpvOpFUnordGreaterThan},
- {"OpImageSampleFootprintNV", SpvOpImageSampleFootprintNV},
- {"OpULessThan", SpvOpULessThan},
- {"OpGroupBitwiseAndKHR", SpvOpGroupBitwiseAndKHR},
- {"OpArbitraryFloatACosINTEL", SpvOpArbitraryFloatACosINTEL},
- {"OpIgnoreIntersectionNV", SpvOpIgnoreIntersectionNV},
- {"OpHitObjectGetGeometryIndexNV", SpvOpHitObjectGetGeometryIndexNV},
- {"OpSubgroupAvcMceConvertToImeResultINTEL", SpvOpSubgroupAvcMceConvertToImeResultINTEL},
- {"OpGroupNonUniformLogicalXor", SpvOpGroupNonUniformLogicalXor},
- {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL},
- {"OpSMod", SpvOpSMod},
- {"OpImageQueryLevels", SpvOpImageQueryLevels},
- {"OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL", SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL},
- {"OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL", SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL},
- {"OpGroupNonUniformAny", SpvOpGroupNonUniformAny},
- {"OpHitObjectGetHitKindNV", SpvOpHitObjectGetHitKindNV},
- {"OpArbitraryFloatATanPiINTEL", SpvOpArbitraryFloatATanPiINTEL},
- {"OpString", SpvOpString},
- {"OpFUnordLessThanEqual", SpvOpFUnordLessThanEqual},
- {"OpUDotAccSatKHR", SpvOpUDotAccSatKHR},
+ {"OpImageGather", SpvOpImageGather},
+ {"OpVectorInsertDynamic", SpvOpVectorInsertDynamic},
+ {"OpSetUserEventStatus", SpvOpSetUserEventStatus},
+ {"OpMatrixTimesScalar", SpvOpMatrixTimesScalar},
+ {"OpTypePointer", SpvOpTypePointer},
+ {"OpTypeBufferSurfaceINTEL", SpvOpTypeBufferSurfaceINTEL},
+ {"OpSubgroupBlockReadINTEL", SpvOpSubgroupBlockReadINTEL},
+ {"OpVectorTimesMatrix", SpvOpVectorTimesMatrix},
+ {"OpCaptureEventProfilingInfo", SpvOpCaptureEventProfilingInfo},
+ {"OpUDiv", SpvOpUDiv},
+ {"OpBranch", SpvOpBranch},
+ {"OpImageSampleWeightedQCOM", SpvOpImageSampleWeightedQCOM},
+ {"OpAtomicFAddEXT", SpvOpAtomicFAddEXT},
+ {"OpArbitraryFloatACosPiINTEL", SpvOpArbitraryFloatACosPiINTEL},
+ {"OpSubgroupImageMediaBlockWriteINTEL", SpvOpSubgroupImageMediaBlockWriteINTEL},
+ {"OpTypeOpaque", SpvOpTypeOpaque},
+ {"OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL},
+ {"OpPhi", SpvOpPhi},
+ {"OpRayQueryGetWorldRayDirectionKHR", SpvOpRayQueryGetWorldRayDirectionKHR},
+ {"OpSizeOf", SpvOpSizeOf},
+ {"OpConvertBF16ToFINTEL", SpvOpConvertBF16ToFINTEL},
+ {"OpFOrdGreaterThan", SpvOpFOrdGreaterThan},
+ {"OpSubgroupAvcRefSetBidirectionalMixDisableINTEL", SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL},
+ {"OpArbitraryFloatATanINTEL", SpvOpArbitraryFloatATanINTEL},
+ {"OpSubgroupAvcMceSetInterShapePenaltyINTEL", SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL},
{"OpHitObjectRecordEmptyNV", SpvOpHitObjectRecordEmptyNV},
- {"OpEndStreamPrimitive", SpvOpEndStreamPrimitive},
- {"OpSDot", SpvOpSDot},
- {"OpSubgroupShuffleUpINTEL", SpvOpSubgroupShuffleUpINTEL},
- {"OpMemberName", SpvOpMemberName},
- {"OpSubgroupBallotKHR", SpvOpSubgroupBallotKHR},
- {"OpGroupLogicalOrKHR", SpvOpGroupLogicalOrKHR},
- {"OpFNegate", SpvOpFNegate},
- {"OpEmitVertex", SpvOpEmitVertex},
- {"OpUAddSatINTEL", SpvOpUAddSatINTEL},
- {"OpAtomicOr", SpvOpAtomicOr},
- {"OpGroupNonUniformQuadBroadcast", SpvOpGroupNonUniformQuadBroadcast},
- {"OpFixedCosINTEL", SpvOpFixedCosINTEL},
- {"OpReserveReadPipePackets", SpvOpReserveReadPipePackets},
- {"OpNop", SpvOpNop},
- {"OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL", SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL},
- {"OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL},
- {"OpHitObjectGetRayTMaxNV", SpvOpHitObjectGetRayTMaxNV},
- {"OpNot", SpvOpNot},
- {"OpLogicalNotEqual", SpvOpLogicalNotEqual},
- {"OpCooperativeMatrixMulAddNV", SpvOpCooperativeMatrixMulAddNV},
- {"OpImageSparseGather", SpvOpImageSparseGather},
+ {"OpControlBarrier", SpvOpControlBarrier},
+ {"OpFixedRecipINTEL", SpvOpFixedRecipINTEL},
+ {"OpReorderThreadWithHitObjectNV", SpvOpReorderThreadWithHitObjectNV},
+ {"OpTypeAvcImeResultDualReferenceStreamoutINTEL", SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL},
+ {"OpSubgroupAvcSicConvertToMcePayloadINTEL", SpvOpSubgroupAvcSicConvertToMcePayloadINTEL},
+ {"OpSLessThan", SpvOpSLessThan},
+ {"OpFixedSqrtINTEL", SpvOpFixedSqrtINTEL},
+ {"OpSatConvertSToU", SpvOpSatConvertSToU},
+ {"OpReturn", SpvOpReturn},
+ {"OpAssumeTrueKHR", SpvOpAssumeTrueKHR},
+ {"OpTraceMotionNV", SpvOpTraceMotionNV},
+ {"OpFOrdEqual", SpvOpFOrdEqual},
+ {"OpSUDotAccSat", SpvOpSUDotAccSat},
+ {"OpTypeMatrix", SpvOpTypeMatrix},
+ {"OpTypeEvent", SpvOpTypeEvent},
+ {"OpHitObjectGetGeometryIndexNV", SpvOpHitObjectGetGeometryIndexNV},
{"OpDecorateId", SpvOpDecorateId},
+ {"OpAliasScopeListDeclINTEL", SpvOpAliasScopeListDeclINTEL},
+ {"OpGenericCastToPtrExplicit", SpvOpGenericCastToPtrExplicit},
+ {"OpCompositeExtract", SpvOpCompositeExtract},
+ {"OpSubgroupAvcSicGetPackedIpeLumaModesINTEL", SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL},
+ {"OpSelect", SpvOpSelect},
+ {"OpGenericPtrMemSemantics", SpvOpGenericPtrMemSemantics},
+ {"OpExtInst", SpvOpExtInst},
+ {"OpLessOrGreater", SpvOpLessOrGreater},
+ {"OpImageSampleDrefExplicitLod", SpvOpImageSampleDrefExplicitLod},
+ {"OpTypeNamedBarrier", SpvOpTypeNamedBarrier},
+ {"OpSubgroupAvcRefEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL},
{"OpImageQueryLod", SpvOpImageQueryLod},
- {"OpDPdxCoarse", SpvOpDPdxCoarse},
- {"OpStore", SpvOpStore},
- {"OpTypeRuntimeArray", SpvOpTypeRuntimeArray},
- {"OpSubgroupAnyKHR", SpvOpSubgroupAnyKHR},
- {"OpConvertSToF", SpvOpConvertSToF},
- {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL},
- {"OpFOrdLessThan", SpvOpFOrdLessThan},
- {"OpGroupSMinNonUniformAMD", SpvOpGroupSMinNonUniformAMD},
- {"OpFixedSinCosINTEL", SpvOpFixedSinCosINTEL},
- {"OpGroupSMax", SpvOpGroupSMax},
- {"OpSpecConstant", SpvOpSpecConstant},
+ {"OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR", SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR},
+ {"OpConstantFalse", SpvOpConstantFalse},
+ {"OpImageDrefGather", SpvOpImageDrefGather},
+ {"OpReportIntersectionKHR", SpvOpReportIntersectionKHR},
+ {"OpSUDot", SpvOpSUDot},
{"OpConstant", SpvOpConstant},
- {"OpGroupAsyncCopy", SpvOpGroupAsyncCopy},
- {"OpFragmentMaskFetchAMD", SpvOpFragmentMaskFetchAMD},
- {"OpULessThanEqual", SpvOpULessThanEqual},
- {"OpSetMeshOutputsEXT", SpvOpSetMeshOutputsEXT},
- {"OpHitObjectGetPrimitiveIndexNV", SpvOpHitObjectGetPrimitiveIndexNV},
- {"OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL", SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL},
- {"OpExecuteCallableNV", SpvOpExecuteCallableNV},
- {"OpImageSampleProjExplicitLod", SpvOpImageSampleProjExplicitLod},
- {"OpOrdered", SpvOpOrdered},
- {"OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL", SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL},
- {"OpUMod", SpvOpUMod},
- {"OpFUnordGreaterThanEqual", SpvOpFUnordGreaterThanEqual},
- {"OpDemoteToHelperInvocation", SpvOpDemoteToHelperInvocation},
- {"OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL},
- {"OpAll", SpvOpAll},
- {"OpPhi", SpvOpPhi},
- {"OpCreatePipeFromPipeStorage", SpvOpCreatePipeFromPipeStorage},
- {"OpRayQueryGetRayTMinKHR", SpvOpRayQueryGetRayTMinKHR},
+ {"OpULessThan", SpvOpULessThan},
+ {"OpConstantFunctionPointerINTEL", SpvOpConstantFunctionPointerINTEL},
{"OpFOrdNotEqual", SpvOpFOrdNotEqual},
- {"OpSpecConstantComposite", SpvOpSpecConstantComposite},
- {"OpGroupFAdd", SpvOpGroupFAdd},
- {"OpLifetimeStop", SpvOpLifetimeStop},
- {"OpRayQueryGetIntersectionObjectRayDirectionKHR", SpvOpRayQueryGetIntersectionObjectRayDirectionKHR},
- {"OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL", SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL},
- {"OpEmitStreamVertex", SpvOpEmitStreamVertex},
- {"OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL},
{"OpConstantComposite", SpvOpConstantComposite},
- {"OpArbitraryFloatGEINTEL", SpvOpArbitraryFloatGEINTEL},
- {"OpUCountLeadingZerosINTEL", SpvOpUCountLeadingZerosINTEL},
- {"OpSizeOf", SpvOpSizeOf},
- {"OpISub", SpvOpISub},
- {"OpConvertFToU", SpvOpConvertFToU},
- {"OpHitObjectRecordMissNV", SpvOpHitObjectRecordMissNV},
- {"OpSubgroupAvcSicGetMotionVectorMaskINTEL", SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL},
- {"OpTypeCooperativeMatrixNV", SpvOpTypeCooperativeMatrixNV},
- {"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL", SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL},
- {"OpSMulExtended", SpvOpSMulExtended},
- {"OpCopyMemory", SpvOpCopyMemory},
- {"OpSubgroupFirstInvocationKHR", SpvOpSubgroupFirstInvocationKHR},
- {"OpSubgroupAvcImeSetDualReferenceINTEL", SpvOpSubgroupAvcImeSetDualReferenceINTEL},
- {"OpHitObjectGetObjectRayOriginNV", SpvOpHitObjectGetObjectRayOriginNV},
- {"OpSubgroupAvcImeGetBorderReachedINTEL", SpvOpSubgroupAvcImeGetBorderReachedINTEL},
- {"OpAliasDomainDeclINTEL", SpvOpAliasDomainDeclINTEL},
- {"OpRayQueryGetIntersectionPrimitiveIndexKHR", SpvOpRayQueryGetIntersectionPrimitiveIndexKHR},
- {"OpArbitraryFloatLog1pINTEL", SpvOpArbitraryFloatLog1pINTEL},
- {"OpSubgroupAvcImeStripDualReferenceStreamoutINTEL", SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL},
- {"OpSubgroupAvcSicConfigureIpeLumaINTEL", SpvOpSubgroupAvcSicConfigureIpeLumaINTEL},
- {"OpLoopControlINTEL", SpvOpLoopControlINTEL},
- {"OpGenericCastToPtr", SpvOpGenericCastToPtr},
- {"OpAtomicUMin", SpvOpAtomicUMin},
- {"OpGroupNonUniformShuffle", SpvOpGroupNonUniformShuffle},
- {"OpSubgroupImageBlockWriteINTEL", SpvOpSubgroupImageBlockWriteINTEL},
- {"OpAtomicLoad", SpvOpAtomicLoad},
- {"OpGroupReserveWritePipePackets", SpvOpGroupReserveWritePipePackets},
- {"OpIsNan", SpvOpIsNan},
- {"OpImage", SpvOpImage},
- {"OpTypeImage", SpvOpTypeImage},
+ {"OpNamedBarrierInitialize", SpvOpNamedBarrierInitialize},
+ {"OpSubgroupAvcMceGetInterMajorShapeINTEL", SpvOpSubgroupAvcMceGetInterMajorShapeINTEL},
+ {"OpAtomicIIncrement", SpvOpAtomicIIncrement},
+ {"OpImageBlockMatchSADQCOM", SpvOpImageBlockMatchSADQCOM},
+ {"OpGroupNonUniformBroadcastFirst", SpvOpGroupNonUniformBroadcastFirst},
+ {"OpArbitraryFloatSqrtINTEL", SpvOpArbitraryFloatSqrtINTEL},
+ {"OpSubgroupAvcSicEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL},
+ {"OpSubgroupAvcMceConvertToImePayloadINTEL", SpvOpSubgroupAvcMceConvertToImePayloadINTEL},
+ {"OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL},
+ {"OpFSub", SpvOpFSub},
+ {"OpImageSparseFetch", SpvOpImageSparseFetch},
+ {"OpSubgroupAvcMceGetInterMinorShapeINTEL", SpvOpSubgroupAvcMceGetInterMinorShapeINTEL},
+ {"OpArbitraryFloatPowNINTEL", SpvOpArbitraryFloatPowNINTEL},
{"OpGetNumPipePackets", SpvOpGetNumPipePackets},
- {"OpDPdxFine", SpvOpDPdxFine},
- {"OpSubgroupAvcMceSetInterShapePenaltyINTEL", SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL},
- {"OpSpecConstantCompositeContinuedINTEL", SpvOpSpecConstantCompositeContinuedINTEL},
- {"OpDecorationGroup", SpvOpDecorationGroup},
- {"OpBitFieldUExtract", SpvOpBitFieldUExtract},
- {"OpSubgroupAvcSicGetIpeLumaShapeINTEL", SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL},
- {"OpSubgroupAvcImeSetMaxMotionVectorCountINTEL", SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL},
+ {"OpFwidth", SpvOpFwidth},
+ {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL},
+ {"OpInBoundsPtrAccessChain", SpvOpInBoundsPtrAccessChain},
+ {"OpArbitraryFloatATanPiINTEL", SpvOpArbitraryFloatATanPiINTEL},
+ {"OpGroupNonUniformBallotBitCount", SpvOpGroupNonUniformBallotBitCount},
+ {"OpDecorateString", SpvOpDecorateString},
+ {"OpImageQueryOrder", SpvOpImageQueryOrder},
+ {"OpImageSparseSampleProjImplicitLod", SpvOpImageSparseSampleProjImplicitLod},
+ {"OpTypeAvcImeResultSingleReferenceStreamoutINTEL", SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL},
+ {"OpCopyMemory", SpvOpCopyMemory},
+ {"OpUnordered", SpvOpUnordered},
+ {"OpGroupAsyncCopy", SpvOpGroupAsyncCopy},
+ {"OpTraceRayKHR", SpvOpTraceRayKHR},
+ {"OpBitReverse", SpvOpBitReverse},
+ {"OpGroupNonUniformLogicalOr", SpvOpGroupNonUniformLogicalOr},
{"OpIsValidEvent", SpvOpIsValidEvent},
- {"OpReservedReadPipe", SpvOpReservedReadPipe},
- {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL},
- {"OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL},
- {"OpVectorTimesMatrix", SpvOpVectorTimesMatrix},
- {"OpGroupNonUniformBitwiseOr", SpvOpGroupNonUniformBitwiseOr},
- {"OpArbitraryFloatSinCosINTEL", SpvOpArbitraryFloatSinCosINTEL},
- {"OpRayQueryGetIntersectionInstanceCustomIndexKHR", SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR},
- {"OpReserveWritePipePackets", SpvOpReserveWritePipePackets},
- {"OpWritePipeBlockingINTEL", SpvOpWritePipeBlockingINTEL},
+ {"OpHitObjectGetRayTMaxNV", SpvOpHitObjectGetRayTMaxNV},
+ {"OpTraceRayMotionNV", SpvOpTraceRayMotionNV},
+ {"OpCapability", SpvOpCapability},
+ {"OpGroupLogicalXorKHR", SpvOpGroupLogicalXorKHR},
+ {"OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL", SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL},
+ {"OpSubgroupImageMediaBlockReadINTEL", SpvOpSubgroupImageMediaBlockReadINTEL},
+ {"OpImageSparseRead", SpvOpImageSparseRead},
+ {"OpSubgroupAvcImeSetWeightedSadINTEL", SpvOpSubgroupAvcImeSetWeightedSadINTEL},
+ {"OpSubgroupShuffleUpINTEL", SpvOpSubgroupShuffleUpINTEL},
+ {"OpExecutionMode", SpvOpExecutionMode},
+ {"OpImageSparseGather", SpvOpImageSparseGather},
{"OpSLessThanEqual", SpvOpSLessThanEqual},
- {"OpUGreaterThanEqual", SpvOpUGreaterThanEqual},
- {"OpTypeSampler", SpvOpTypeSampler},
- {"OpSubgroupAvcMceGetBestInterDistortionsINTEL", SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL},
- {"OpGroupNonUniformBallotFindLSB", SpvOpGroupNonUniformBallotFindLSB},
- {"OpHitObjectRecordHitNV", SpvOpHitObjectRecordHitNV},
- {"OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL", SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL},
- {"OpSubgroupBlockWriteINTEL", SpvOpSubgroupBlockWriteINTEL},
- {"OpHitObjectGetShaderBindingTableRecordIndexNV", SpvOpHitObjectGetShaderBindingTableRecordIndexNV},
- {"OpSelectionMerge", SpvOpSelectionMerge},
- {"OpGroupIAdd", SpvOpGroupIAdd},
- {"OpReleaseEvent", SpvOpReleaseEvent},
- {"OpSGreaterThan", SpvOpSGreaterThan},
- {"OpSubgroupAvcRefConvertToMcePayloadINTEL", SpvOpSubgroupAvcRefConvertToMcePayloadINTEL},
- {"OpRayQueryConfirmIntersectionKHR", SpvOpRayQueryConfirmIntersectionKHR},
- {"OpIgnoreIntersectionKHR", SpvOpIgnoreIntersectionKHR},
- {"OpMemoryBarrier", SpvOpMemoryBarrier},
- {"OpTypeAvcRefResultINTEL", SpvOpTypeAvcRefResultINTEL},
- {"OpImageRead", SpvOpImageRead},
- {"OpSConvert", SpvOpSConvert},
- {"OpBitFieldInsert", SpvOpBitFieldInsert},
- {"OpImageSampleProjDrefImplicitLod", SpvOpImageSampleProjDrefImplicitLod},
- {"OpArbitraryFloatRecipINTEL", SpvOpArbitraryFloatRecipINTEL},
- {"OpIsFinite", SpvOpIsFinite},
+ {"OpHitObjectGetShaderRecordBufferHandleNV", SpvOpHitObjectGetShaderRecordBufferHandleNV},
+ {"OpImageFetch", SpvOpImageFetch},
+ {"OpGroupAny", SpvOpGroupAny},
+ {"OpUDotKHR", SpvOpUDotKHR},
+ {"OpSubgroupAvcFmeInitializeINTEL", SpvOpSubgroupAvcFmeInitializeINTEL},
+ {"OpRayQueryGenerateIntersectionKHR", SpvOpRayQueryGenerateIntersectionKHR},
+ {"OpIsNormal", SpvOpIsNormal},
+ {"OpSubgroupAvcImeConvertToMcePayloadINTEL", SpvOpSubgroupAvcImeConvertToMcePayloadINTEL},
+ {"OpSourceContinued", SpvOpSourceContinued},
+ {"OpAtomicStore", SpvOpAtomicStore},
+ {"OpAtomicFlagTestAndSet", SpvOpAtomicFlagTestAndSet},
+ {"OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL},
+ {"OpAtomicSMax", SpvOpAtomicSMax},
+ {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL},
+ {"OpAtomicIAdd", SpvOpAtomicIAdd},
+ {"OpGroupNonUniformShuffleXor", SpvOpGroupNonUniformShuffleXor},
+ {"OpConstantNull", SpvOpConstantNull},
+ {"OpArbitraryFloatATan2INTEL", SpvOpArbitraryFloatATan2INTEL},
+ {"OpArbitraryFloatSinPiINTEL", SpvOpArbitraryFloatSinPiINTEL},
+ {"OpTypeAccelerationStructureKHR", SpvOpTypeAccelerationStructureKHR},
+ {"OpTypeVmeImageINTEL", SpvOpTypeVmeImageINTEL},
+ {"OpTypeStructContinuedINTEL", SpvOpTypeStructContinuedINTEL},
{"OpLogicalNot", SpvOpLogicalNot},
+ {"OpCopyMemorySized", SpvOpCopyMemorySized},
+ {"OpCompositeConstruct", SpvOpCompositeConstruct},
+ {"OpRayQueryGetIntersectionInstanceIdKHR", SpvOpRayQueryGetIntersectionInstanceIdKHR},
+ {"OpSubgroupAvcImeRefWindowSizeINTEL", SpvOpSubgroupAvcImeRefWindowSizeINTEL},
+ {"OpEndStreamPrimitive", SpvOpEndStreamPrimitive},
{"OpBranchConditional", SpvOpBranchConditional},
- {"OpSatConvertSToU", SpvOpSatConvertSToU},
- {"OpGroupNonUniformBallotBitCount", SpvOpGroupNonUniformBallotBitCount},
- {"OpCompositeInsert", SpvOpCompositeInsert},
- {"OpFDiv", SpvOpFDiv},
- {"OpReadPipeBlockingINTEL", SpvOpReadPipeBlockingINTEL},
- {"OpGroupSMin", SpvOpGroupSMin},
- {"OpAbsUSubINTEL", SpvOpAbsUSubINTEL},
- {"OpAsmCallINTEL", SpvOpAsmCallINTEL},
- {"OpINotEqual", SpvOpINotEqual},
- {"OpImageSampleDrefImplicitLod", SpvOpImageSampleDrefImplicitLod},
- {"OpAtomicXor", SpvOpAtomicXor},
- {"OpArbitraryFloatSubINTEL", SpvOpArbitraryFloatSubINTEL},
- {"OpAsmINTEL", SpvOpAsmINTEL},
- {"OpArbitraryFloatATan2INTEL", SpvOpArbitraryFloatATan2INTEL},
- {"OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL", SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL},
- {"OpExpectKHR", SpvOpExpectKHR},
- {"OpHitObjectGetWorldToObjectNV", SpvOpHitObjectGetWorldToObjectNV},
- {"OpTypeAvcImeSingleReferenceStreaminINTEL", SpvOpTypeAvcImeSingleReferenceStreaminINTEL},
- {"OpUMul32x16INTEL", SpvOpUMul32x16INTEL},
- {"OpRayQueryGetIntersectionBarycentricsKHR", SpvOpRayQueryGetIntersectionBarycentricsKHR},
- {"OpRayQueryGetIntersectionWorldToObjectKHR", SpvOpRayQueryGetIntersectionWorldToObjectKHR},
- {"OpTypeFloat", SpvOpTypeFloat},
- {"OpConvertUToF", SpvOpConvertUToF},
- {"OpVariableLengthArrayINTEL", SpvOpVariableLengthArrayINTEL},
- {"OpFixedLogINTEL", SpvOpFixedLogINTEL},
- {"OpSource", SpvOpSource},
- {"OpArbitraryFloatCastFromIntINTEL", SpvOpArbitraryFloatCastFromIntINTEL},
- {"OpImageSparseSampleDrefExplicitLod", SpvOpImageSparseSampleDrefExplicitLod},
+ {"OpOrdered", SpvOpOrdered},
+ {"OpIAverageINTEL", SpvOpIAverageINTEL},
{"OpConvertSampledImageToUNV", SpvOpConvertSampledImageToUNV},
- {"OpAtomicExchange", SpvOpAtomicExchange},
- {"OpGetKernelWorkGroupSize", SpvOpGetKernelWorkGroupSize},
- {"OpModuleProcessed", SpvOpModuleProcessed},
- {"OpLine", SpvOpLine},
- {"OpSubgroupAvcMceGetInterReferenceIdsINTEL", SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL},
- {"OpGroupNonUniformQuadSwap", SpvOpGroupNonUniformQuadSwap},
- {"OpShiftLeftLogical", SpvOpShiftLeftLogical},
- {"OpSubgroupAvcImeEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL},
- {"OpGetKernelNDrangeSubGroupCount", SpvOpGetKernelNDrangeSubGroupCount},
- {"OpIMul", SpvOpIMul},
- {"OpAny", SpvOpAny},
- {"OpShiftRightArithmetic", SpvOpShiftRightArithmetic},
- {"OpAtomicCompareExchangeWeak", SpvOpAtomicCompareExchangeWeak},
- {"OpTypeAvcImePayloadINTEL", SpvOpTypeAvcImePayloadINTEL},
- {"OpConvertUToPtr", SpvOpConvertUToPtr},
- {"OpHitObjectGetRayTMinNV", SpvOpHitObjectGetRayTMinNV},
- {"OpSDotAccSatKHR", SpvOpSDotAccSatKHR},
- {"OpReturn", SpvOpReturn},
- {"OpImageSparseFetch", SpvOpImageSparseFetch},
- {"OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL", SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL},
- {"OpIAddCarry", SpvOpIAddCarry},
- {"OpFixedSinPiINTEL", SpvOpFixedSinPiINTEL},
- {"OpSubgroupShuffleXorINTEL", SpvOpSubgroupShuffleXorINTEL},
- {"OpBranch", SpvOpBranch},
- {"OpAtomicFMaxEXT", SpvOpAtomicFMaxEXT},
- {"OpImageSparseRead", SpvOpImageSparseRead},
- {"OpGroupNonUniformBitwiseXor", SpvOpGroupNonUniformBitwiseXor},
- {"OpCopyLogical", SpvOpCopyLogical},
- {"OpSubgroupAvcMceConvertToSicResultINTEL", SpvOpSubgroupAvcMceConvertToSicResultINTEL},
- {"OpAbsISubINTEL", SpvOpAbsISubINTEL},
- {"OpImageSparseSampleProjDrefImplicitLod", SpvOpImageSparseSampleProjDrefImplicitLod},
- {"OpIsValidReserveId", SpvOpIsValidReserveId},
+ {"OpIEqual", SpvOpIEqual},
+ {"OpFunctionCall", SpvOpFunctionCall},
+ {"OpColorAttachmentReadEXT", SpvOpColorAttachmentReadEXT},
+ {"OpHitObjectGetHitKindNV", SpvOpHitObjectGetHitKindNV},
+ {"OpFUnordEqual", SpvOpFUnordEqual},
+ {"OpFixedCosPiINTEL", SpvOpFixedCosPiINTEL},
+ {"OpSource", SpvOpSource},
+ {"OpGroupNonUniformAll", SpvOpGroupNonUniformAll},
{"OpTypeBool", SpvOpTypeBool},
- {"OpFixedSinINTEL", SpvOpFixedSinINTEL},
- {"OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL},
- {"OpImageSparseSampleExplicitLod", SpvOpImageSparseSampleExplicitLod},
- {"OpSubgroupAvcMceGetInterMotionVectorCountINTEL", SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL},
+ {"OpSampledImage", SpvOpSampledImage},
+ {"OpAtomicLoad", SpvOpAtomicLoad},
+ {"OpTypeAvcSicResultINTEL", SpvOpTypeAvcSicResultINTEL},
+ {"OpSubgroupAvcImeSetDualReferenceINTEL", SpvOpSubgroupAvcImeSetDualReferenceINTEL},
+ {"OpGroupFAdd", SpvOpGroupFAdd},
+ {"OpSpecConstantTrue", SpvOpSpecConstantTrue},
+ {"OpArbitraryFloatRecipINTEL", SpvOpArbitraryFloatRecipINTEL},
+ {"OpBitwiseXor", SpvOpBitwiseXor},
+ {"OpRayQueryGetIntersectionInstanceCustomIndexKHR", SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR},
+ {"OpStencilAttachmentReadEXT", SpvOpStencilAttachmentReadEXT},
+ {"OpFUnordLessThanEqual", SpvOpFUnordLessThanEqual},
+ {"OpAsmCallINTEL", SpvOpAsmCallINTEL},
+ {"OpInBoundsAccessChain", SpvOpInBoundsAccessChain},
+ {"OpAbsISubINTEL", SpvOpAbsISubINTEL},
+ {"OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL", SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL},
+ {"OpFUnordNotEqual", SpvOpFUnordNotEqual},
+ {"OpSubgroupImageBlockWriteINTEL", SpvOpSubgroupImageBlockWriteINTEL},
+ {"OpCommitReadPipe", SpvOpCommitReadPipe},
+ {"OpSubgroupAvcSicConfigureSkcINTEL", SpvOpSubgroupAvcSicConfigureSkcINTEL},
+ {"OpTypeSampledImage", SpvOpTypeSampledImage},
+ {"OpCompositeInsert", SpvOpCompositeInsert},
+ {"OpSubgroupAvcImeGetBorderReachedINTEL", SpvOpSubgroupAvcImeGetBorderReachedINTEL},
+ {"OpGroupNonUniformRotateKHR", SpvOpGroupNonUniformRotateKHR},
{"OpArbitraryFloatExp2INTEL", SpvOpArbitraryFloatExp2INTEL},
- {"OpFRem", SpvOpFRem},
- {"OpSubgroupAvcRefEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL},
- {"OpImageWrite", SpvOpImageWrite},
- {"OpAsmTargetINTEL", SpvOpAsmTargetINTEL},
- {"OpHitObjectGetObjectRayDirectionNV", SpvOpHitObjectGetObjectRayDirectionNV},
- {"OpGroupLogicalXorKHR", SpvOpGroupLogicalXorKHR},
- {"OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL", SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL},
- {"OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL", SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL},
- {"OpGroupNonUniformBitwiseAnd", SpvOpGroupNonUniformBitwiseAnd},
- {"OpTraceRayMotionNV", SpvOpTraceRayMotionNV},
- {"OpRetainEvent", SpvOpRetainEvent},
- {"OpFOrdEqual", SpvOpFOrdEqual},
- {"OpAtomicIAdd", SpvOpAtomicIAdd},
- {"OpTypeReserveId", SpvOpTypeReserveId},
- {"OpReorderThreadWithHitObjectNV", SpvOpReorderThreadWithHitObjectNV},
- {"OpRayQueryGetIntersectionTKHR", SpvOpRayQueryGetIntersectionTKHR},
+ {"OpGetKernelNDrangeMaxSubGroupSize", SpvOpGetKernelNDrangeMaxSubGroupSize},
+ {"OpSubgroupAvcMceConvertToImeResultINTEL", SpvOpSubgroupAvcMceConvertToImeResultINTEL},
+ {"OpBitwiseAnd", SpvOpBitwiseAnd},
+ {"OpUMul32x16INTEL", SpvOpUMul32x16INTEL},
+ {"OpConstantCompositeContinuedINTEL", SpvOpConstantCompositeContinuedINTEL},
{"OpImageQuerySizeLod", SpvOpImageQuerySizeLod},
+ {"OpArrayLength", SpvOpArrayLength},
+ {"OpTypeAvcImeResultINTEL", SpvOpTypeAvcImeResultINTEL},
+ {"OpTypeHitObjectNV", SpvOpTypeHitObjectNV},
+ {"OpImageSampleImplicitLod", SpvOpImageSampleImplicitLod},
+ {"OpMemoryNamedBarrier", SpvOpMemoryNamedBarrier},
{"OpReportIntersectionNV", SpvOpReportIntersectionNV},
- {"OpQuantizeToF16", SpvOpQuantizeToF16},
- {"OpHitObjectGetCurrentTimeNV", SpvOpHitObjectGetCurrentTimeNV},
- {"OpSubgroupAvcSicConfigureSkcINTEL", SpvOpSubgroupAvcSicConfigureSkcINTEL},
- {"OpHitObjectTraceRayNV", SpvOpHitObjectTraceRayNV},
+ {"OpSubgroupAvcImeSetMaxMotionVectorCountINTEL", SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL},
+ {"OpGroupNonUniformLogicalAnd", SpvOpGroupNonUniformLogicalAnd},
+ {"OpArbitraryFloatGEINTEL", SpvOpArbitraryFloatGEINTEL},
+ {"OpINotEqual", SpvOpINotEqual},
+ {"OpUndef", SpvOpUndef},
+ {"OpGroupNonUniformShuffleDown", SpvOpGroupNonUniformShuffleDown},
+ {"OpSubgroupAvcMceGetBestInterDistortionsINTEL", SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL},
+ {"OpSDotKHR", SpvOpSDotKHR},
+ {"OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL},
+ {"OpArbitraryFloatMulINTEL", SpvOpArbitraryFloatMulINTEL},
+ {"OpWritePipe", SpvOpWritePipe},
+ {"OpGroupNonUniformSMax", SpvOpGroupNonUniformSMax},
+ {"OpAtomicExchange", SpvOpAtomicExchange},
+ {"OpSubgroupAvcSicGetInterRawSadsINTEL", SpvOpSubgroupAvcSicGetInterRawSadsINTEL},
+ {"OpAliasDomainDeclINTEL", SpvOpAliasDomainDeclINTEL},
+ {"OpRayQueryGetIntersectionObjectRayDirectionKHR", SpvOpRayQueryGetIntersectionObjectRayDirectionKHR},
+ {"OpConvertImageToUNV", SpvOpConvertImageToUNV},
+ {"OpGroupLogicalAndKHR", SpvOpGroupLogicalAndKHR},
+ {"OpImageWrite", SpvOpImageWrite},
+ {"OpArbitraryFloatAddINTEL", SpvOpArbitraryFloatAddINTEL},
+ {"OpHitObjectRecordHitMotionNV", SpvOpHitObjectRecordHitMotionNV},
+ {"OpImageSampleProjDrefExplicitLod", SpvOpImageSampleProjDrefExplicitLod},
+ {"OpGroupSMin", SpvOpGroupSMin},
+ {"OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL},
+ {"OpRayQueryTerminateKHR", SpvOpRayQueryTerminateKHR},
+ {"OpConvertUToSamplerNV", SpvOpConvertUToSamplerNV},
+ {"OpConvertFToBF16INTEL", SpvOpConvertFToBF16INTEL},
+ {"OpGroupNonUniformBallotFindMSB", SpvOpGroupNonUniformBallotFindMSB},
+ {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL},
+ {"OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL", SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL},
+ {"OpShiftLeftLogical", SpvOpShiftLeftLogical},
+ {"OpIsValidReserveId", SpvOpIsValidReserveId},
+ {"OpRayQueryGetIntersectionCandidateAABBOpaqueKHR", SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR},
+ {"OpArbitraryFloatACosINTEL", SpvOpArbitraryFloatACosINTEL},
+ {"OpGroupNonUniformBitwiseOr", SpvOpGroupNonUniformBitwiseOr},
+ {"OpGroupNonUniformSMin", SpvOpGroupNonUniformSMin},
+ {"OpBitFieldUExtract", SpvOpBitFieldUExtract},
+ {"OpGroupNonUniformBallot", SpvOpGroupNonUniformBallot},
+ {"OpSubgroupFirstInvocationKHR", SpvOpSubgroupFirstInvocationKHR},
+ {"OpLoad", SpvOpLoad},
+ {"OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL", SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL},
+ {"OpAtomicCompareExchange", SpvOpAtomicCompareExchange},
{"OpSubgroupAvcImeGetDualReferenceStreaminINTEL", SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL},
+ {"OpHitObjectRecordMissMotionNV", SpvOpHitObjectRecordMissMotionNV},
+ {"OpAtomicUMin", SpvOpAtomicUMin},
+ {"OpGroupCommitWritePipe", SpvOpGroupCommitWritePipe},
+ {"OpFunctionParameter", SpvOpFunctionParameter},
+ {"OpSubgroupShuffleXorINTEL", SpvOpSubgroupShuffleXorINTEL},
+ {"OpArbitraryFloatLTINTEL", SpvOpArbitraryFloatLTINTEL},
+ {"OpTranspose", SpvOpTranspose},
+ {"OpSubgroupAvcSicConvertToMceResultINTEL", SpvOpSubgroupAvcSicConvertToMceResultINTEL},
+ {"OpTypeCooperativeMatrixKHR", SpvOpTypeCooperativeMatrixKHR},
+ {"OpTypeAvcRefResultINTEL", SpvOpTypeAvcRefResultINTEL},
+ {"OpArbitraryFloatCosINTEL", SpvOpArbitraryFloatCosINTEL},
+ {"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL", SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL},
+ {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL},
+ {"OpIgnoreIntersectionNV", SpvOpIgnoreIntersectionNV},
+ {"OpArbitraryFloatCbrtINTEL", SpvOpArbitraryFloatCbrtINTEL},
+ {"OpSUDotAccSatKHR", SpvOpSUDotAccSatKHR},
+ {"OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL},
+ {"OpSubgroupAvcSicInitializeINTEL", SpvOpSubgroupAvcSicInitializeINTEL},
+ {"OpISub", SpvOpISub},
{"OpSwitch", SpvOpSwitch},
- {"OpTerminateRayNV", SpvOpTerminateRayNV},
+ {"OpReorderThreadWithHintNV", SpvOpReorderThreadWithHintNV},
+ {"OpArbitraryFloatDivINTEL", SpvOpArbitraryFloatDivINTEL},
+ {"OpArbitraryFloatEQINTEL", SpvOpArbitraryFloatEQINTEL},
{"OpFunctionEnd", SpvOpFunctionEnd},
+ {"OpSubgroupAvcSicGetMotionVectorMaskINTEL", SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL},
+ {"OpKill", SpvOpKill},
+ {"OpIsInf", SpvOpIsInf},
+ {"OpIAdd", SpvOpIAdd},
+ {"OpSubgroupAvcMceConvertToSicResultINTEL", SpvOpSubgroupAvcMceConvertToSicResultINTEL},
+ {"OpIgnoreIntersectionKHR", SpvOpIgnoreIntersectionKHR},
+ {"OpGetKernelMaxNumSubgroups", SpvOpGetKernelMaxNumSubgroups},
+ {"OpModuleProcessed", SpvOpModuleProcessed},
+ {"OpTypeArray", SpvOpTypeArray},
+ {"OpUDot", SpvOpUDot},
+ {"OpArbitraryFloatExp10INTEL", SpvOpArbitraryFloatExp10INTEL},
+ {"OpEmitVertex", SpvOpEmitVertex},
+ {"OpTypeRuntimeArray", SpvOpTypeRuntimeArray},
+ {"OpImageSparseSampleDrefExplicitLod", SpvOpImageSparseSampleDrefExplicitLod},
{"OpImageQuerySize", SpvOpImageQuerySize},
- {"OpArbitraryFloatCosINTEL", SpvOpArbitraryFloatCosINTEL},
+ {"OpGroupBitwiseAndKHR", SpvOpGroupBitwiseAndKHR},
+ {"OpTypeAvcImeSingleReferenceStreaminINTEL", SpvOpTypeAvcImeSingleReferenceStreaminINTEL},
+ {"OpHitObjectTraceRayMotionNV", SpvOpHitObjectTraceRayMotionNV},
+ {"OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL},
+ {"OpGroupNonUniformShuffleUp", SpvOpGroupNonUniformShuffleUp},
+ {"OpFConvert", SpvOpFConvert},
+ {"OpImageTexelPointer", SpvOpImageTexelPointer},
+ {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL},
+ {"OpGroupNonUniformBitwiseAnd", SpvOpGroupNonUniformBitwiseAnd},
+ {"OpArbitraryFloatASinINTEL", SpvOpArbitraryFloatASinINTEL},
+ {"OpRayQueryGetIntersectionFrontFaceKHR", SpvOpRayQueryGetIntersectionFrontFaceKHR},
+ {"OpImageBlockMatchSSDQCOM", SpvOpImageBlockMatchSSDQCOM},
+ {"OpGroupIAddNonUniformAMD", SpvOpGroupIAddNonUniformAMD},
+ {"OpCreatePipeFromPipeStorage", SpvOpCreatePipeFromPipeStorage},
+ {"OpGroupNonUniformQuadBroadcast", SpvOpGroupNonUniformQuadBroadcast},
+ {"OpSubgroupAvcImeStripDualReferenceStreamoutINTEL", SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL},
+ {"OpGroupAll", SpvOpGroupAll},
+ {"OpAtomicSMin", SpvOpAtomicSMin},
+ {"OpAll", SpvOpAll},
+ {"OpFixedRsqrtINTEL", SpvOpFixedRsqrtINTEL},
+ {"OpHitObjectRecordHitNV", SpvOpHitObjectRecordHitNV},
+ {"OpRayQueryGetIntersectionWorldToObjectKHR", SpvOpRayQueryGetIntersectionWorldToObjectKHR},
+ {"OpSubgroupBlockWriteINTEL", SpvOpSubgroupBlockWriteINTEL},
+ {"OpSubgroupAvcBmeInitializeINTEL", SpvOpSubgroupAvcBmeInitializeINTEL},
+ {"OpHitObjectGetInstanceIdNV", SpvOpHitObjectGetInstanceIdNV},
+ {"OpGetDefaultQueue", SpvOpGetDefaultQueue},
+ {"OpCopyLogical", SpvOpCopyLogical},
+ {"OpDepthAttachmentReadEXT", SpvOpDepthAttachmentReadEXT},
+ {"OpSubgroupAvcSicSetBilinearFilterEnableINTEL", SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL},
+ {"OpGroupWaitEvents", SpvOpGroupWaitEvents},
+ {"OpIsHelperInvocationEXT", SpvOpIsHelperInvocationEXT},
+ {"OpSGreaterThan", SpvOpSGreaterThan},
+ {"OpHitObjectGetPrimitiveIndexNV", SpvOpHitObjectGetPrimitiveIndexNV},
+ {"OpGetKernelWorkGroupSize", SpvOpGetKernelWorkGroupSize},
+ {"OpArbitraryFloatExpm1INTEL", SpvOpArbitraryFloatExpm1INTEL},
+ {"OpConstantSampler", SpvOpConstantSampler},
+ {"OpArbitraryFloatPowRINTEL", SpvOpArbitraryFloatPowRINTEL},
+ {"OpSDiv", SpvOpSDiv},
+ {"OpCooperativeMatrixStoreNV", SpvOpCooperativeMatrixStoreNV},
+ {"OpImageSparseTexelsResident", SpvOpImageSparseTexelsResident},
+ {"OpEntryPoint", SpvOpEntryPoint},
+ {"OpUConvert", SpvOpUConvert},
+ {"OpArbitraryFloatSubINTEL", SpvOpArbitraryFloatSubINTEL},
+ {"OpSubgroupAvcSicGetIpeChromaModeINTEL", SpvOpSubgroupAvcSicGetIpeChromaModeINTEL},
+ {"OpSubgroupShuffleINTEL", SpvOpSubgroupShuffleINTEL},
+ {"OpShiftRightLogical", SpvOpShiftRightLogical},
+ {"OpSubgroupAvcSicConfigureIpeLumaINTEL", SpvOpSubgroupAvcSicConfigureIpeLumaINTEL},
{"OpBitCount", SpvOpBitCount},
- {"OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL},
- {"OpBeginInvocationInterlockEXT", SpvOpBeginInvocationInterlockEXT},
- {"OpTerminateInvocation", SpvOpTerminateInvocation},
- {"OpCooperativeMatrixLengthNV", SpvOpCooperativeMatrixLengthNV},
- {"OpPtrDiff", SpvOpPtrDiff},
- {"OpGroupBroadcast", SpvOpGroupBroadcast},
- {"OpHitObjectGetAttributesNV", SpvOpHitObjectGetAttributesNV},
- {"OpGroupNonUniformLogicalAnd", SpvOpGroupNonUniformLogicalAnd},
- {"OpAliasScopeListDeclINTEL", SpvOpAliasScopeListDeclINTEL},
- {"OpIAddSatINTEL", SpvOpIAddSatINTEL},
- {"OpControlBarrierWaitINTEL", SpvOpControlBarrierWaitINTEL},
- {"OpReservedWritePipe", SpvOpReservedWritePipe},
- {"OpSubgroupImageMediaBlockWriteINTEL", SpvOpSubgroupImageMediaBlockWriteINTEL},
+ {"OpTypeAvcImeDualReferenceStreaminINTEL", SpvOpTypeAvcImeDualReferenceStreaminINTEL},
+ {"OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL", SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL},
+ {"OpImageSampleDrefImplicitLod", SpvOpImageSampleDrefImplicitLod},
+ {"OpSubgroupAvcMceGetMotionVectorsINTEL", SpvOpSubgroupAvcMceGetMotionVectorsINTEL},
+ {"OpArbitraryFloatLog10INTEL", SpvOpArbitraryFloatLog10INTEL},
+ {"OpMatrixTimesVector", SpvOpMatrixTimesVector},
+ {"OpSNegate", SpvOpSNegate},
+ {"OpMemberDecorate", SpvOpMemberDecorate},
+ {"OpEndPrimitive", SpvOpEndPrimitive},
+ {"OpExecuteCallableKHR", SpvOpExecuteCallableKHR},
+ {"OpFwidthFine", SpvOpFwidthFine},
+ {"OpAbsUSubINTEL", SpvOpAbsUSubINTEL},
+ {"OpGetKernelLocalSizeForSubgroupCount", SpvOpGetKernelLocalSizeForSubgroupCount},
+ {"OpPtrCastToCrossWorkgroupINTEL", SpvOpPtrCastToCrossWorkgroupINTEL},
+ {"OpHitObjectGetRayTMinNV", SpvOpHitObjectGetRayTMinNV},
+ {"OpFOrdGreaterThanEqual", SpvOpFOrdGreaterThanEqual},
+ {"OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL", SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL},
+ {"OpUAddSatINTEL", SpvOpUAddSatINTEL},
+ {"OpAsmINTEL", SpvOpAsmINTEL},
{"OpGroupNonUniformFMin", SpvOpGroupNonUniformFMin},
- {"OpSubgroupAvcMceConvertToImePayloadINTEL", SpvOpSubgroupAvcMceConvertToImePayloadINTEL},
- {"OpSubgroupAvcSicConfigureIpeLumaChromaINTEL", SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL},
- {"OpGetDefaultQueue", SpvOpGetDefaultQueue},
- {"OpGroupIAddNonUniformAMD", SpvOpGroupIAddNonUniformAMD},
- {"OpGroupNonUniformFMul", SpvOpGroupNonUniformFMul},
- {"OpGenericCastToPtrExplicit", SpvOpGenericCastToPtrExplicit},
- {"OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR", SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR},
- {"OpRayQueryGetRayFlagsKHR", SpvOpRayQueryGetRayFlagsKHR},
- {"OpGroupReserveReadPipePackets", SpvOpGroupReserveReadPipePackets},
- {"OpGroupNonUniformSMax", SpvOpGroupNonUniformSMax},
- {"OpAccessChain", SpvOpAccessChain},
+ {"OpCooperativeMatrixMulAddKHR", SpvOpCooperativeMatrixMulAddKHR},
+ {"OpGroupIAdd", SpvOpGroupIAdd},
+ {"OpTypeVector", SpvOpTypeVector},
+ {"OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL},
+ {"OpArbitraryFloatCastFromIntINTEL", SpvOpArbitraryFloatCastFromIntINTEL},
+ {"OpHitObjectGetObjectRayDirectionNV", SpvOpHitObjectGetObjectRayDirectionNV},
+ {"OpSubgroupAvcMceGetInterDistortionsINTEL", SpvOpSubgroupAvcMceGetInterDistortionsINTEL},
+ {"OpBitFieldSExtract", SpvOpBitFieldSExtract},
+ {"OpSignBitSet", SpvOpSignBitSet},
+ {"OpFunctionPointerCallINTEL", SpvOpFunctionPointerCallINTEL},
{"OpConvertUToAccelerationStructureKHR", SpvOpConvertUToAccelerationStructureKHR},
- {"OpFUnordNotEqual", SpvOpFUnordNotEqual},
- {"OpBitwiseOr", SpvOpBitwiseOr},
- {"OpHitObjectRecordMissMotionNV", SpvOpHitObjectRecordMissMotionNV},
- {"OpTypePointer", SpvOpTypePointer},
- {"OpAtomicFAddEXT", SpvOpAtomicFAddEXT},
- {"OpControlBarrier", SpvOpControlBarrier},
- {"OpArbitraryFloatEQINTEL", SpvOpArbitraryFloatEQINTEL},
- {"OpAtomicFMinEXT", SpvOpAtomicFMinEXT},
- {"OpImageSparseTexelsResident", SpvOpImageSparseTexelsResident},
- {"OpArbitraryFloatPowRINTEL", SpvOpArbitraryFloatPowRINTEL},
- {"OpFunctionParameter", SpvOpFunctionParameter},
- {"OpUCountTrailingZerosINTEL", SpvOpUCountTrailingZerosINTEL},
- {"OpTypeAccelerationStructureNV", SpvOpTypeAccelerationStructureNV},
- {"OpDPdyFine", SpvOpDPdyFine},
- {"OpConvertUToSamplerNV", SpvOpConvertUToSamplerNV},
- {"OpSubgroupAvcImeRefWindowSizeINTEL", SpvOpSubgroupAvcImeRefWindowSizeINTEL},
- {"OpRayQueryGetIntersectionFrontFaceKHR", SpvOpRayQueryGetIntersectionFrontFaceKHR},
- {"OpTypeArray", SpvOpTypeArray},
- {"OpGroupCommitReadPipe", SpvOpGroupCommitReadPipe},
- {"OpUnordered", SpvOpUnordered},
- {"OpArbitraryFloatPowINTEL", SpvOpArbitraryFloatPowINTEL},
- {"OpSubgroupAvcMceGetInterDirectionsINTEL", SpvOpSubgroupAvcMceGetInterDirectionsINTEL},
+ {"OpGenericCastToPtr", SpvOpGenericCastToPtr},
{"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL},
- {"OpSUDotAccSat", SpvOpSUDotAccSat},
- {"OpRayQueryGetIntersectionCandidateAABBOpaqueKHR", SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR},
- {"OpArbitraryFloatCastToIntINTEL", SpvOpArbitraryFloatCastToIntINTEL},
- {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL},
- {"OpLoad", SpvOpLoad},
- {"OpCopyMemorySized", SpvOpCopyMemorySized},
- {"OpLogicalAnd", SpvOpLogicalAnd},
- {"OpRayQueryGetWorldRayOriginKHR", SpvOpRayQueryGetWorldRayOriginKHR},
- {"OpGetKernelNDrangeMaxSubGroupSize", SpvOpGetKernelNDrangeMaxSubGroupSize},
- {"OpGroupBitwiseXorKHR", SpvOpGroupBitwiseXorKHR},
- {"OpSubgroupAvcMceGetInterDistortionsINTEL", SpvOpSubgroupAvcMceGetInterDistortionsINTEL},
- {"OpWritePackedPrimitiveIndices4x8NV", SpvOpWritePackedPrimitiveIndices4x8NV},
- {"OpTraceRayKHR", SpvOpTraceRayKHR},
- {"OpImageQueryFormat", SpvOpImageQueryFormat},
- {"OpSamplerImageAddressingModeNV", SpvOpSamplerImageAddressingModeNV},
- {"OpGroupNonUniformBallot", SpvOpGroupNonUniformBallot},
- {"OpName", SpvOpName},
- {"OpRayQueryGetIntersectionGeometryIndexKHR", SpvOpRayQueryGetIntersectionGeometryIndexKHR},
- {"OpTypeForwardPointer", SpvOpTypeForwardPointer},
- {"OpSubgroupAvcImeConvertToMcePayloadINTEL", SpvOpSubgroupAvcImeConvertToMcePayloadINTEL},
- {"OpConstantTrue", SpvOpConstantTrue},
- {"OpTraceMotionNV", SpvOpTraceMotionNV},
- {"OpGroupNonUniformInverseBallot", SpvOpGroupNonUniformInverseBallot},
{"OpAliasScopeDeclINTEL", SpvOpAliasScopeDeclINTEL},
- {"OpGroupUMax", SpvOpGroupUMax},
- {"OpSubgroupAvcMceGetInterMajorShapeINTEL", SpvOpSubgroupAvcMceGetInterMajorShapeINTEL},
- {"OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL", SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL},
- {"OpUAverageINTEL", SpvOpUAverageINTEL},
- {"OpCompositeConstruct", SpvOpCompositeConstruct},
- {"OpReorderThreadWithHintNV", SpvOpReorderThreadWithHintNV},
- {"OpSubgroupAvcMceConvertToSicPayloadINTEL", SpvOpSubgroupAvcMceConvertToSicPayloadINTEL},
- {"OpSubgroupAvcRefSetBilinearFilterEnableINTEL", SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL},
- {"OpSubgroupShuffleINTEL", SpvOpSubgroupShuffleINTEL},
- {"OpSubgroupAvcSicSetBilinearFilterEnableINTEL", SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL},
- {"OpArbitraryFloatCbrtINTEL", SpvOpArbitraryFloatCbrtINTEL},
- {"OpFOrdGreaterThan", SpvOpFOrdGreaterThan},
- {"OpSubgroupAvcSicConvertToMcePayloadINTEL", SpvOpSubgroupAvcSicConvertToMcePayloadINTEL},
- {"OpArbitraryFloatLog2INTEL", SpvOpArbitraryFloatLog2INTEL},
+ {"OpFMod", SpvOpFMod},
+ {"OpUMod", SpvOpUMod},
+ {"OpGroupFMulKHR", SpvOpGroupFMulKHR},
+ {"OpSubgroupAvcMceGetInterDirectionsINTEL", SpvOpSubgroupAvcMceGetInterDirectionsINTEL},
+ {"OpFragmentFetchAMD", SpvOpFragmentFetchAMD},
{"OpGroupDecorate", SpvOpGroupDecorate},
- {"OpArbitraryFloatSinPiINTEL", SpvOpArbitraryFloatSinPiINTEL},
- {"OpTypeAvcImeResultINTEL", SpvOpTypeAvcImeResultINTEL},
- {"OpDPdx", SpvOpDPdx},
- {"OpConvertPtrToU", SpvOpConvertPtrToU},
- {"OpFOrdGreaterThanEqual", SpvOpFOrdGreaterThanEqual},
- {"OpGroupNonUniformPartitionNV", SpvOpGroupNonUniformPartitionNV},
- {"OpGroupSMaxNonUniformAMD", SpvOpGroupSMaxNonUniformAMD},
- {"OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL},
- {"OpMemberDecorate", SpvOpMemberDecorate},
- {"OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL", SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL},
- {"OpUDotAccSat", SpvOpUDotAccSat},
+ {"OpCrossWorkgroupCastToPtrINTEL", SpvOpCrossWorkgroupCastToPtrINTEL},
+ {"OpConstantPipeStorage", SpvOpConstantPipeStorage},
+ {"OpGroupNonUniformFMul", SpvOpGroupNonUniformFMul},
+ {"OpNot", SpvOpNot},
+ {"OpArbitraryFloatLEINTEL", SpvOpArbitraryFloatLEINTEL},
+ {"OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL", SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL},
+ {"OpCooperativeMatrixLengthNV", SpvOpCooperativeMatrixLengthNV},
+ {"OpTypeImage", SpvOpTypeImage},
+ {"OpIAddSatINTEL", SpvOpIAddSatINTEL},
+ {"OpArbitraryFloatGTINTEL", SpvOpArbitraryFloatGTINTEL},
+ {"OpSMod", SpvOpSMod},
+ {"OpEnqueueKernel", SpvOpEnqueueKernel},
+ {"OpExtension", SpvOpExtension},
+ {"OpHitObjectIsEmptyNV", SpvOpHitObjectIsEmptyNV},
+ {"OpSubgroupAvcRefConvertToMceResultINTEL", SpvOpSubgroupAvcRefConvertToMceResultINTEL},
{"OpHitObjectIsMissNV", SpvOpHitObjectIsMissNV},
- {"OpGroupNonUniformElect", SpvOpGroupNonUniformElect},
- {"OpSourceExtension", SpvOpSourceExtension},
- {"OpDemoteToHelperInvocationEXT", SpvOpDemoteToHelperInvocationEXT},
- {"OpFixedExpINTEL", SpvOpFixedExpINTEL},
- {"OpGroupMemberDecorate", SpvOpGroupMemberDecorate},
- {"OpSubgroupAvcImeSetWeightedSadINTEL", SpvOpSubgroupAvcImeSetWeightedSadINTEL},
- {"OpGroupNonUniformIMul", SpvOpGroupNonUniformIMul},
- {"OpTypeSampledImage", SpvOpTypeSampledImage},
- {"OpExecutionModeId", SpvOpExecutionModeId},
+ {"OpFMul", SpvOpFMul},
+ {"OpStore", SpvOpStore},
+ {"OpFunction", SpvOpFunction},
+ {"OpSubgroupShuffleDownINTEL", SpvOpSubgroupShuffleDownINTEL},
+ {"OpRayQueryGetIntersectionTriangleVertexPositionsKHR", SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR},
+ {"OpFixedSinINTEL", SpvOpFixedSinINTEL},
+ {"OpTypeVoid", SpvOpTypeVoid},
+ {"OpFRem", SpvOpFRem},
+ {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL},
+ {"OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL},
+ {"OpQuantizeToF16", SpvOpQuantizeToF16},
+ {"OpReadClockKHR", SpvOpReadClockKHR},
{"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL", SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL},
- {"OpGroupAll", SpvOpGroupAll},
- {"OpHitObjectGetWorldRayDirectionNV", SpvOpHitObjectGetWorldRayDirectionNV},
- {"OpCrossWorkgroupCastToPtrINTEL", SpvOpCrossWorkgroupCastToPtrINTEL},
- {"OpRayQueryGetWorldRayDirectionKHR", SpvOpRayQueryGetWorldRayDirectionKHR},
- {"OpSubgroupAvcRefSetBidirectionalMixDisableINTEL", SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL},
- {"OpArbitraryFloatASinPiINTEL", SpvOpArbitraryFloatASinPiINTEL},
- {"OpHitObjectGetInstanceCustomIndexNV", SpvOpHitObjectGetInstanceCustomIndexNV},
- {"OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL},
- {"OpVectorExtractDynamic", SpvOpVectorExtractDynamic},
- {"OpImageSampleExplicitLod", SpvOpImageSampleExplicitLod},
- {"OpAtomicSMax", SpvOpAtomicSMax},
- {"OpGroupNonUniformUMin", SpvOpGroupNonUniformUMin},
- {"OpUDot", SpvOpUDot},
- {"OpSubgroupAvcSicInitializeINTEL", SpvOpSubgroupAvcSicInitializeINTEL},
- {"OpHitObjectRecordHitWithIndexMotionNV", SpvOpHitObjectRecordHitWithIndexMotionNV},
- {"OpIsNormal", SpvOpIsNormal},
- {"OpCopyObject", SpvOpCopyObject},
+ {"OpImageSparseDrefGather", SpvOpImageSparseDrefGather},
+ {"OpSpecConstantOp", SpvOpSpecConstantOp},
{"OpImageSparseSampleProjExplicitLod", SpvOpImageSparseSampleProjExplicitLod},
- {"OpConvertUToImageNV", SpvOpConvertUToImageNV},
- {"OpGroupNonUniformBroadcast", SpvOpGroupNonUniformBroadcast},
- {"OpSNegate", SpvOpSNegate},
- {"OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL", SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL},
- {"OpKill", SpvOpKill},
- {"OpBitcast", SpvOpBitcast},
- {"OpSUDotAccSatKHR", SpvOpSUDotAccSatKHR},
{"OpSubgroupAvcMceConvertToRefPayloadINTEL", SpvOpSubgroupAvcMceConvertToRefPayloadINTEL},
- {"OpTypeHitObjectNV", SpvOpTypeHitObjectNV},
- {"OpImageSparseSampleDrefImplicitLod", SpvOpImageSparseSampleDrefImplicitLod},
- {"OpFragmentFetchAMD", SpvOpFragmentFetchAMD},
- {"OpTypePipe", SpvOpTypePipe},
- {"OpCooperativeMatrixLoadNV", SpvOpCooperativeMatrixLoadNV},
- {"OpArbitraryFloatGTINTEL", SpvOpArbitraryFloatGTINTEL},
- {"OpControlBarrierArriveINTEL", SpvOpControlBarrierArriveINTEL},
- {"OpHitObjectIsHitNV", SpvOpHitObjectIsHitNV},
- {"OpHitObjectGetShaderRecordBufferHandleNV", SpvOpHitObjectGetShaderRecordBufferHandleNV},
- {"OpSpecConstantTrue", SpvOpSpecConstantTrue},
- {"OpLifetimeStart", SpvOpLifetimeStart},
- {"OpFunctionPointerCallINTEL", SpvOpFunctionPointerCallINTEL},
- {"OpGroupBitwiseOrKHR", SpvOpGroupBitwiseOrKHR},
- {"OpUGreaterThan", SpvOpUGreaterThan},
- {"OpSDiv", SpvOpSDiv},
- {"OpGroupNonUniformSMin", SpvOpGroupNonUniformSMin},
- {"OpArrayLength", SpvOpArrayLength},
- {"OpMemoryNamedBarrier", SpvOpMemoryNamedBarrier},
- {"OpEnqueueKernel", SpvOpEnqueueKernel},
- {"OpTypeAvcImeResultDualReferenceStreamoutINTEL", SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL},
- {"OpImageSampleProjDrefExplicitLod", SpvOpImageSampleProjDrefExplicitLod},
- {"OpTypeAccelerationStructureKHR", SpvOpTypeAccelerationStructureKHR},
- {"OpSubgroupReadInvocationKHR", SpvOpSubgroupReadInvocationKHR},
- {"OpRayQueryTerminateKHR", SpvOpRayQueryTerminateKHR},
- {"OpTypeFunction", SpvOpTypeFunction},
- {"OpGroupFMinNonUniformAMD", SpvOpGroupFMinNonUniformAMD},
- {"OpConstantFunctionPointerINTEL", SpvOpConstantFunctionPointerINTEL},
- {"OpSourceContinued", SpvOpSourceContinued},
- {"OpGroupNonUniformShuffleDown", SpvOpGroupNonUniformShuffleDown},
- {"OpHitObjectGetWorldRayOriginNV", SpvOpHitObjectGetWorldRayOriginNV},
- {"OpImageSparseSampleProjImplicitLod", SpvOpImageSparseSampleProjImplicitLod},
- {"OpSDotAccSat", SpvOpSDotAccSat},
- {"OpImageSampleImplicitLod", SpvOpImageSampleImplicitLod},
- {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL},
- {"OpGroupNonUniformBroadcastFirst", SpvOpGroupNonUniformBroadcastFirst},
- {"OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL", SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL},
- {"OpConvertImageToUNV", SpvOpConvertImageToUNV},
+ {"OpEmitStreamVertex", SpvOpEmitStreamVertex},
+ {"OpArbitraryFloatCosPiINTEL", SpvOpArbitraryFloatCosPiINTEL},
+ {"OpArbitraryFloatExpINTEL", SpvOpArbitraryFloatExpINTEL},
+ {"OpGroupBitwiseXorKHR", SpvOpGroupBitwiseXorKHR},
+ {"OpArbitraryFloatSinCosINTEL", SpvOpArbitraryFloatSinCosINTEL},
{"OpSubgroupAvcImeAdjustRefOffsetINTEL", SpvOpSubgroupAvcImeAdjustRefOffsetINTEL},
- {"OpGroupCommitWritePipe", SpvOpGroupCommitWritePipe},
- {"OpSetUserEventStatus", SpvOpSetUserEventStatus},
- {"OpGroupUMaxNonUniformAMD", SpvOpGroupUMaxNonUniformAMD},
- {"OpFixedCosPiINTEL", SpvOpFixedCosPiINTEL},
- {"OpLogicalOr", SpvOpLogicalOr},
- {"OpDecorateString", SpvOpDecorateString},
- {"OpDPdy", SpvOpDPdy},
- {"OpGroupNonUniformFAdd", SpvOpGroupNonUniformFAdd},
- {"OpUndef", SpvOpUndef},
- {"OpGroupFMax", SpvOpGroupFMax},
- {"OpFwidthFine", SpvOpFwidthFine},
- {"OpExtInst", SpvOpExtInst},
- {"OpGenericPtrMemSemantics", SpvOpGenericPtrMemSemantics},
- {"OpSubgroupAvcImeGetSingleReferenceStreaminINTEL", SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL},
- {"OpPtrCastToGeneric", SpvOpPtrCastToGeneric},
- {"OpTypeAvcImeResultSingleReferenceStreamoutINTEL", SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL},
- {"OpGroupNonUniformShuffleXor", SpvOpGroupNonUniformShuffleXor},
- {"OpArbitraryFloatMulINTEL", SpvOpArbitraryFloatMulINTEL},
- {"OpGroupNonUniformFMax", SpvOpGroupNonUniformFMax},
- {"OpGetKernelLocalSizeForSubgroupCount", SpvOpGetKernelLocalSizeForSubgroupCount},
- {"OpExecuteCallableKHR", SpvOpExecuteCallableKHR},
- {"OpGroupNonUniformAll", SpvOpGroupNonUniformAll},
- {"OpIAverageINTEL", SpvOpIAverageINTEL},
- {"OpMatrixTimesScalar", SpvOpMatrixTimesScalar},
- {"OpTypeAvcMcePayloadINTEL", SpvOpTypeAvcMcePayloadINTEL},
- {"OpFixedRsqrtINTEL", SpvOpFixedRsqrtINTEL},
- {"OpISubSatINTEL", SpvOpISubSatINTEL},
- {"OpTraceNV", SpvOpTraceNV},
- {"OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL},
- {"OpVectorInsertDynamic", SpvOpVectorInsertDynamic},
- {"OpConstantNull", SpvOpConstantNull},
- {"OpSubgroupBlockReadINTEL", SpvOpSubgroupBlockReadINTEL},
- {"OpFMul", SpvOpFMul},
- {"OpGroupNonUniformAllEqual", SpvOpGroupNonUniformAllEqual},
- {"OpMemberDecorateStringGOOGLE", SpvOpMemberDecorateStringGOOGLE},
- {"OpCompositeExtract", SpvOpCompositeExtract},
- {"OpFOrdLessThanEqual", SpvOpFOrdLessThanEqual},
- {"OpRayQueryProceedKHR", SpvOpRayQueryProceedKHR},
- {"OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL", SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL},
- {"OpSubgroupAvcMceSetAcOnlyHaarINTEL", SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL},
- {"OpDecorateStringGOOGLE", SpvOpDecorateStringGOOGLE},
- {"OpAtomicISub", SpvOpAtomicISub},
- {"OpSubgroupAvcSicGetIpeChromaModeINTEL", SpvOpSubgroupAvcSicGetIpeChromaModeINTEL},
- {"OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL},
- {"OpArbitraryFloatLog10INTEL", SpvOpArbitraryFloatLog10INTEL},
- {"OpGroupNonUniformRotateKHR", SpvOpGroupNonUniformRotateKHR},
- {"OpISubBorrow", SpvOpISubBorrow},
+ {"OpRayQueryInitializeKHR", SpvOpRayQueryInitializeKHR},
+ {"OpTerminateInvocation", SpvOpTerminateInvocation},
{"OpFUnordLessThan", SpvOpFUnordLessThan},
- {"OpArbitraryFloatExpINTEL", SpvOpArbitraryFloatExpINTEL},
- {"OpMatrixTimesMatrix", SpvOpMatrixTimesMatrix},
- {"OpTypeMatrix", SpvOpTypeMatrix},
- {"OpSubgroupAvcSicGetPackedIpeLumaModesINTEL", SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL},
- {"OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL},
- {"OpEndPrimitive", SpvOpEndPrimitive},
- {"OpGroupIMulKHR", SpvOpGroupIMulKHR},
- {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL},
- {"OpImageQueryOrder", SpvOpImageQueryOrder},
- {"OpGetMaxPipePackets", SpvOpGetMaxPipePackets},
+ {"OpMemoryModel", SpvOpMemoryModel},
+ {"OpWritePackedPrimitiveIndices4x8NV", SpvOpWritePackedPrimitiveIndices4x8NV},
+ {"OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL", SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL},
+ {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL},
+ {"OpMemoryBarrier", SpvOpMemoryBarrier},
+ {"OpAtomicUMax", SpvOpAtomicUMax},
+ {"OpVmeImageINTEL", SpvOpVmeImageINTEL},
+ {"OpSubgroupAllKHR", SpvOpSubgroupAllKHR},
+ {"OpOuterProduct", SpvOpOuterProduct},
{"OpArbitraryFloatSinINTEL", SpvOpArbitraryFloatSinINTEL},
- {"OpAssumeTrueKHR", SpvOpAssumeTrueKHR},
- {"OpRayQueryGetIntersectionTypeKHR", SpvOpRayQueryGetIntersectionTypeKHR},
- {"OpIsInf", SpvOpIsInf},
- {"OpUDotKHR", SpvOpUDotKHR},
- {"OpUConvert", SpvOpUConvert},
- {"OpCooperativeMatrixStoreNV", SpvOpCooperativeMatrixStoreNV},
- {"OpInBoundsPtrAccessChain", SpvOpInBoundsPtrAccessChain},
- {"OpImageDrefGather", SpvOpImageDrefGather},
- {"OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL},
- {"OpIEqual", SpvOpIEqual},
- {"OpImageSparseDrefGather", SpvOpImageSparseDrefGather},
- {"OpBitFieldSExtract", SpvOpBitFieldSExtract},
- {"OpLabel", SpvOpLabel},
- {"OpTypeNamedBarrier", SpvOpTypeNamedBarrier},
- {"OpArbitraryFloatAddINTEL", SpvOpArbitraryFloatAddINTEL},
+ {"OpSpecConstant", SpvOpSpecConstant},
+ {"OpGroupUMinNonUniformAMD", SpvOpGroupUMinNonUniformAMD},
+ {"OpArbitraryFloatHypotINTEL", SpvOpArbitraryFloatHypotINTEL},
{"OpVectorTimesScalar", SpvOpVectorTimesScalar},
- {"OpImageSampleDrefExplicitLod", SpvOpImageSampleDrefExplicitLod},
- {"OpGroupFMin", SpvOpGroupFMin},
- {"OpFixedSqrtINTEL", SpvOpFixedSqrtINTEL},
- {"OpSubgroupAllKHR", SpvOpSubgroupAllKHR},
- {"OpHitObjectRecordHitWithIndexNV", SpvOpHitObjectRecordHitWithIndexNV},
- {"OpGetKernelPreferredWorkGroupSizeMultiple", SpvOpGetKernelPreferredWorkGroupSizeMultiple},
- {"OpNoLine", SpvOpNoLine},
- {"OpImageSparseSampleImplicitLod", SpvOpImageSparseSampleImplicitLod},
- {"OpAtomicStore", SpvOpAtomicStore},
- {"OpSLessThan", SpvOpSLessThan},
- {"OpPtrCastToCrossWorkgroupINTEL", SpvOpPtrCastToCrossWorkgroupINTEL},
- {"OpGroupNonUniformBallotBitExtract", SpvOpGroupNonUniformBallotBitExtract},
- {"OpHitObjectIsEmptyNV", SpvOpHitObjectIsEmptyNV},
- {"OpGroupNonUniformUMax", SpvOpGroupNonUniformUMax},
- {"OpTypeStruct", SpvOpTypeStruct},
- {"OpArbitraryFloatSinCosPiINTEL", SpvOpArbitraryFloatSinCosPiINTEL},
- {"OpBitwiseAnd", SpvOpBitwiseAnd},
+ {"OpHitObjectGetObjectRayOriginNV", SpvOpHitObjectGetObjectRayOriginNV},
+ {"OpLogicalEqual", SpvOpLogicalEqual},
+ {"OpSubgroupReadInvocationKHR", SpvOpSubgroupReadInvocationKHR},
+ {"OpLabel", SpvOpLabel},
+ {"OpImageSparseSampleExplicitLod", SpvOpImageSparseSampleExplicitLod},
+ {"OpBuildNDRange", SpvOpBuildNDRange},
+ {"OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL},
+ {"OpGroupNonUniformBroadcast", SpvOpGroupNonUniformBroadcast},
+ {"OpCooperativeMatrixLoadKHR", SpvOpCooperativeMatrixLoadKHR},
{"OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL", SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL},
- {"OpTypeAvcMceResultINTEL", SpvOpTypeAvcMceResultINTEL},
- {"OpImageGather", SpvOpImageGather},
- {"OpRayQueryGetIntersectionObjectRayOriginKHR", SpvOpRayQueryGetIntersectionObjectRayOriginKHR},
- {"OpReadClockKHR", SpvOpReadClockKHR},
- {"OpSubgroupShuffleDownINTEL", SpvOpSubgroupShuffleDownINTEL},
- {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL},
- {"OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL},
- {"OpGroupWaitEvents", SpvOpGroupWaitEvents},
- {"OpArbitraryFloatLEINTEL", SpvOpArbitraryFloatLEINTEL},
- {"OpAtomicCompareExchange", SpvOpAtomicCompareExchange},
- {"OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL", SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL},
- {"OpArbitraryFloatRSqrtINTEL", SpvOpArbitraryFloatRSqrtINTEL},
- {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL},
- {"OpCaptureEventProfilingInfo", SpvOpCaptureEventProfilingInfo},
- {"OpAtomicSMin", SpvOpAtomicSMin},
- {"OpAtomicFlagTestAndSet", SpvOpAtomicFlagTestAndSet},
- {"OpSubgroupImageBlockReadINTEL", SpvOpSubgroupImageBlockReadINTEL},
- {"OpSubgroupAvcFmeInitializeINTEL", SpvOpSubgroupAvcFmeInitializeINTEL},
- {"OpArbitraryFloatPowNINTEL", SpvOpArbitraryFloatPowNINTEL},
- {"OpFPGARegINTEL", SpvOpFPGARegINTEL},
+ {"OpGroupNonUniformInverseBallot", SpvOpGroupNonUniformInverseBallot},
+ {"OpImageQueryFormat", SpvOpImageQueryFormat},
+ {"OpRayQueryProceedKHR", SpvOpRayQueryProceedKHR},
+ {"OpAtomicIDecrement", SpvOpAtomicIDecrement},
+ {"OpCooperativeMatrixLengthKHR", SpvOpCooperativeMatrixLengthKHR},
+ {"OpHitObjectGetWorldRayDirectionNV", SpvOpHitObjectGetWorldRayDirectionNV},
+ {"OpGroupFMin", SpvOpGroupFMin},
+ {"OpAtomicFMaxEXT", SpvOpAtomicFMaxEXT},
+ {"OpImageSampleFootprintNV", SpvOpImageSampleFootprintNV},
+ {"OpConvertUToPtr", SpvOpConvertUToPtr},
+ {"OpGroupNonUniformPartitionNV", SpvOpGroupNonUniformPartitionNV},
+ {"OpPtrCastToGeneric", SpvOpPtrCastToGeneric},
+ {"OpAtomicFMinEXT", SpvOpAtomicFMinEXT},
+ {"OpLifetimeStart", SpvOpLifetimeStart},
+ {"OpHitObjectRecordMissNV", SpvOpHitObjectRecordMissNV},
+ {"OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL", SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL},
+ {"OpReadPipe", SpvOpReadPipe},
+ {"OpSubgroupAvcMceSetInterDirectionPenaltyINTEL", SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL},
+ {"OpImageSampleProjDrefImplicitLod", SpvOpImageSampleProjDrefImplicitLod},
+ {"OpAny", SpvOpAny},
{"OpIMul32x16INTEL", SpvOpIMul32x16INTEL},
- {"OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL},
- {"OpSpecConstantOp", SpvOpSpecConstantOp},
+ {"OpImageRead", SpvOpImageRead},
+ {"OpEndInvocationInterlockEXT", SpvOpEndInvocationInterlockEXT},
+ {"OpUSubSatINTEL", SpvOpUSubSatINTEL},
+ {"OpSubgroupAvcImeEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL},
+ {"OpSubgroupAvcSicConfigureIpeLumaChromaINTEL", SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL},
+ {"OpPtrEqual", SpvOpPtrEqual},
+ {"OpArbitraryFloatLog2INTEL", SpvOpArbitraryFloatLog2INTEL},
+ {"OpSConvert", SpvOpSConvert},
+ {"OpSubgroupAvcImeInitializeINTEL", SpvOpSubgroupAvcImeInitializeINTEL},
+ {"OpDPdx", SpvOpDPdx},
+ {"OpGroupNonUniformUMin", SpvOpGroupNonUniformUMin},
+ {"OpUnreachable", SpvOpUnreachable},
+ {"OpTypePipeStorage", SpvOpTypePipeStorage},
+ {"OpRayQueryConfirmIntersectionKHR", SpvOpRayQueryConfirmIntersectionKHR},
+ {"OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL},
{"OpGroupUMin", SpvOpGroupUMin},
- {"OpSubgroupAllEqualKHR", SpvOpSubgroupAllEqualKHR},
- {"OpGroupNonUniformBallotFindMSB", SpvOpGroupNonUniformBallotFindMSB},
- {"OpConstantCompositeContinuedINTEL", SpvOpConstantCompositeContinuedINTEL},
- {"OpGroupFMulKHR", SpvOpGroupFMulKHR},
- {"OpArbitraryFloatASinINTEL", SpvOpArbitraryFloatASinINTEL},
- {"OpShiftRightLogical", SpvOpShiftRightLogical},
- {"OpGroupLogicalAndKHR", SpvOpGroupLogicalAndKHR},
- {"OpFwidthCoarse", SpvOpFwidthCoarse},
- {"OpTypeDeviceEvent", SpvOpTypeDeviceEvent},
- {"OpSubgroupAvcMceConvertToRefResultINTEL", SpvOpSubgroupAvcMceConvertToRefResultINTEL},
- {"OpConvertSamplerToUNV", SpvOpConvertSamplerToUNV},
- {"OpTypeAvcRefPayloadINTEL", SpvOpTypeAvcRefPayloadINTEL},
- {"OpAtomicFlagClear", SpvOpAtomicFlagClear},
- {"OpReportIntersectionKHR", SpvOpReportIntersectionKHR},
- {"OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL},
- {"OpPtrNotEqual", SpvOpPtrNotEqual},
- {"OpSaveMemoryINTEL", SpvOpSaveMemoryINTEL},
- {"OpArbitraryFloatExp10INTEL", SpvOpArbitraryFloatExp10INTEL},
- {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL},
- {"OpSubgroupAvcBmeInitializeINTEL", SpvOpSubgroupAvcBmeInitializeINTEL},
+ {"OpGroupFMax", SpvOpGroupFMax},
+ {"OpLogicalAnd", SpvOpLogicalAnd},
+ {"OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL", SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL},
+ {"OpFixedCosINTEL", SpvOpFixedCosINTEL},
+ {"OpFUnordGreaterThanEqual", SpvOpFUnordGreaterThanEqual},
+ {"OpMemberDecorateString", SpvOpMemberDecorateString},
+ {"OpGroupNonUniformIAdd", SpvOpGroupNonUniformIAdd},
+ {"OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL", SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL},
+ {"OpLoopMerge", SpvOpLoopMerge},
+ {"OpSubgroupAvcMceConvertToSicPayloadINTEL", SpvOpSubgroupAvcMceConvertToSicPayloadINTEL},
+ {"OpTypeAvcImePayloadINTEL", SpvOpTypeAvcImePayloadINTEL},
+ {"OpImageSampleExplicitLod", SpvOpImageSampleExplicitLod},
+ {"OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL},
+ {"OpReservedWritePipe", SpvOpReservedWritePipe},
+ {"OpGroupMemberDecorate", SpvOpGroupMemberDecorate},
{"OpPtrAccessChain", SpvOpPtrAccessChain},
- {"OpFwidth", SpvOpFwidth},
- {"OpSubgroupAvcImeInitializeINTEL", SpvOpSubgroupAvcImeInitializeINTEL},
- {"OpNamedBarrierInitialize", SpvOpNamedBarrierInitialize},
- {"OpBitwiseXor", SpvOpBitwiseXor},
- {"OpAtomicIDecrement", SpvOpAtomicIDecrement},
- {"OpTypeStructContinuedINTEL", SpvOpTypeStructContinuedINTEL},
- {"OpTypeOpaque", SpvOpTypeOpaque},
- {"OpTypeAvcSicResultINTEL", SpvOpTypeAvcSicResultINTEL},
- {"OpRayQueryGenerateIntersectionKHR", SpvOpRayQueryGenerateIntersectionKHR},
- {"OpConvertUToSampledImageNV", SpvOpConvertUToSampledImageNV},
- {"OpFUnordEqual", SpvOpFUnordEqual},
- {"OpSubgroupAvcRefConvertToMceResultINTEL", SpvOpSubgroupAvcRefConvertToMceResultINTEL},
- {"OpSelect", SpvOpSelect},
- {"OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL},
+ {"OpConvertUToF", SpvOpConvertUToF},
+ {"OpRayQueryGetIntersectionTKHR", SpvOpRayQueryGetIntersectionTKHR},
+ {"OpCooperativeMatrixMulAddNV", SpvOpCooperativeMatrixMulAddNV},
+ {"OpTypeAvcMcePayloadINTEL", SpvOpTypeAvcMcePayloadINTEL},
+ {"OpCooperativeMatrixLoadNV", SpvOpCooperativeMatrixLoadNV},
+ {"OpExecutionModeId", SpvOpExecutionModeId},
+ {"OpSRem", SpvOpSRem},
+ {"OpImageQueryLevels", SpvOpImageQueryLevels},
+ {"OpSubgroupAvcRefConvertToMcePayloadINTEL", SpvOpSubgroupAvcRefConvertToMcePayloadINTEL},
+ {"OpGroupReserveWritePipePackets", SpvOpGroupReserveWritePipePackets},
+ {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL},
+ {"OpSMulExtended", SpvOpSMulExtended},
+ {"OpISubSatINTEL", SpvOpISubSatINTEL},
+ {"OpDPdyFine", SpvOpDPdyFine},
+ {"OpGroupSMinNonUniformAMD", SpvOpGroupSMinNonUniformAMD},
+ {"OpGroupNonUniformBallotFindLSB", SpvOpGroupNonUniformBallotFindLSB},
+ {"OpImageQuerySamples", SpvOpImageQuerySamples},
+ {"OpGroupBroadcast", SpvOpGroupBroadcast},
+ {"OpImage", SpvOpImage},
+ {"OpTypePipe", SpvOpTypePipe},
+ {"OpFixedSinCosINTEL", SpvOpFixedSinCosINTEL},
+ {"OpRayQueryGetIntersectionObjectToWorldKHR", SpvOpRayQueryGetIntersectionObjectToWorldKHR},
+ {"OpRayQueryGetIntersectionBarycentricsKHR", SpvOpRayQueryGetIntersectionBarycentricsKHR},
+ {"OpLogicalOr", SpvOpLogicalOr},
+ {"OpNop", SpvOpNop},
+ {"OpImageSparseSampleProjDrefExplicitLod", SpvOpImageSparseSampleProjDrefExplicitLod},
+ {"OpTypeReserveId", SpvOpTypeReserveId},
+ {"OpImageSparseSampleImplicitLod", SpvOpImageSparseSampleImplicitLod},
+ {"OpImageSparseSampleProjDrefImplicitLod", SpvOpImageSparseSampleProjDrefImplicitLod},
+ {"OpImageSampleProjImplicitLod", SpvOpImageSampleProjImplicitLod},
+ {"OpLifetimeStop", SpvOpLifetimeStop},
+ {"OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL},
+ {"OpGetKernelNDrangeSubGroupCount", SpvOpGetKernelNDrangeSubGroupCount},
+ {"OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL},
+ {"OpGroupNonUniformAllEqual", SpvOpGroupNonUniformAllEqual},
{"OpSGreaterThanEqual", SpvOpSGreaterThanEqual},
- {"OpArbitraryFloatACosPiINTEL", SpvOpArbitraryFloatACosPiINTEL},
- {"OpGroupNonUniformIAdd", SpvOpGroupNonUniformIAdd},
- {"OpMemberDecorateString", SpvOpMemberDecorateString},
+ {"OpRayQueryGetIntersectionTypeKHR", SpvOpRayQueryGetIntersectionTypeKHR},
+ {"OpDPdxFine", SpvOpDPdxFine},
+ {"OpIsFinite", SpvOpIsFinite},
+ {"OpName", SpvOpName},
+ {"OpHitObjectGetObjectToWorldNV", SpvOpHitObjectGetObjectToWorldNV},
+ {"OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL", SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL},
+ {"OpEmitMeshTasksEXT", SpvOpEmitMeshTasksEXT},
+ {"OpGroupSMaxNonUniformAMD", SpvOpGroupSMaxNonUniformAMD},
+ {"OpUGreaterThanEqual", SpvOpUGreaterThanEqual},
+ {"OpUCountLeadingZerosINTEL", SpvOpUCountLeadingZerosINTEL},
+ {"OpAccessChain", SpvOpAccessChain},
+ {"OpCommitWritePipe", SpvOpCommitWritePipe},
+ {"OpFPGARegINTEL", SpvOpFPGARegINTEL},
+ {"OpUDotAccSat", SpvOpUDotAccSat},
+ {"OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL", SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL},
+ {"OpGroupNonUniformFAdd", SpvOpGroupNonUniformFAdd},
+ {"OpGroupNonUniformAny", SpvOpGroupNonUniformAny},
+ {"OpHitObjectRecordHitWithIndexNV", SpvOpHitObjectRecordHitWithIndexNV},
+ {"OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL},
+ {"OpGroupNonUniformShuffle", SpvOpGroupNonUniformShuffle},
+ {"OpExtInstImport", SpvOpExtInstImport},
+ {"OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL},
+ {"OpGetMaxPipePackets", SpvOpGetMaxPipePackets},
+ {"OpSubgroupAvcMceGetInterReferenceIdsINTEL", SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL},
{"OpTypeAvcSicPayloadINTEL", SpvOpTypeAvcSicPayloadINTEL},
- {"OpHitObjectGetInstanceIdNV", SpvOpHitObjectGetInstanceIdNV},
- {"OpConstantSampler", SpvOpConstantSampler},
- {"OpRayQueryGetIntersectionInstanceIdKHR", SpvOpRayQueryGetIntersectionInstanceIdKHR},
- {"OpEndInvocationInterlockEXT", SpvOpEndInvocationInterlockEXT},
- {"OpLogicalEqual", SpvOpLogicalEqual},
- {"OpGroupNonUniformLogicalOr", SpvOpGroupNonUniformLogicalOr},
- {"OpTypeRayQueryKHR", SpvOpTypeRayQueryKHR},
- {"OpRayQueryInitializeKHR", SpvOpRayQueryInitializeKHR},
+ {"OpAtomicAnd", SpvOpAtomicAnd},
+ {"OpGroupUMax", SpvOpGroupUMax},
+ {"OpEnqueueMarker", SpvOpEnqueueMarker},
{"OpRestoreMemoryINTEL", SpvOpRestoreMemoryINTEL},
- {"OpVariable", SpvOpVariable},
- {"OpAtomicIIncrement", SpvOpAtomicIIncrement},
- {"OpTypeBufferSurfaceINTEL", SpvOpTypeBufferSurfaceINTEL},
- {"OpTypeQueue", SpvOpTypeQueue},
- {"OpImageSparseSampleProjDrefExplicitLod", SpvOpImageSparseSampleProjDrefExplicitLod},
- {"OpUSubSatINTEL", SpvOpUSubSatINTEL},
- {"OpSubgroupAvcSicEvaluateIpeINTEL", SpvOpSubgroupAvcSicEvaluateIpeINTEL},
- {"OpHitObjectTraceRayMotionNV", SpvOpHitObjectTraceRayMotionNV},
- {"OpAtomicUMax", SpvOpAtomicUMax},
- {"OpEmitMeshTasksEXT", SpvOpEmitMeshTasksEXT},
- {"OpTranspose", SpvOpTranspose},
- {"OpHitObjectExecuteShaderNV", SpvOpHitObjectExecuteShaderNV},
- {"OpSubgroupAvcImeConvertToMceResultINTEL", SpvOpSubgroupAvcImeConvertToMceResultINTEL},
- {"OpArbitraryFloatLogINTEL", SpvOpArbitraryFloatLogINTEL},
+ {"OpRayQueryGetIntersectionObjectRayOriginKHR", SpvOpRayQueryGetIntersectionObjectRayOriginKHR},
{"OpFAdd", SpvOpFAdd},
- {"OpTypeInt", SpvOpTypeInt},
- {"OpFMod", SpvOpFMod},
- {"OpFSub", SpvOpFSub},
+ {"OpDecorationGroup", SpvOpDecorationGroup},
+ {"OpSUDotKHR", SpvOpSUDotKHR},
+ {"OpGroupUMaxNonUniformAMD", SpvOpGroupUMaxNonUniformAMD},
+ {"OpReleaseEvent", SpvOpReleaseEvent},
+ {"OpArbitraryFloatLogINTEL", SpvOpArbitraryFloatLogINTEL},
+ {"OpUDotAccSatKHR", SpvOpUDotAccSatKHR},
+ {"OpBitFieldInsert", SpvOpBitFieldInsert},
+ {"OpConvertSamplerToUNV", SpvOpConvertSamplerToUNV},
+ {"OpHitObjectRecordHitWithIndexMotionNV", SpvOpHitObjectRecordHitWithIndexMotionNV},
+ {"OpGroupNonUniformElect", SpvOpGroupNonUniformElect},
+ {"OpRayQueryGetRayFlagsKHR", SpvOpRayQueryGetRayFlagsKHR},
+ {"OpAtomicXor", SpvOpAtomicXor},
+ {"OpBitwiseOr", SpvOpBitwiseOr},
+ {"OpSatConvertUToS", SpvOpSatConvertUToS},
+ {"OpArbitraryFloatCastToIntINTEL", SpvOpArbitraryFloatCastToIntINTEL},
+ {"OpTypeQueue", SpvOpTypeQueue},
+ {"OpDecorateStringGOOGLE", SpvOpDecorateStringGOOGLE},
+ {"OpISubBorrow", SpvOpISubBorrow},
+ {"OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL", SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL},
+ {"OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL", SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL},
+ {"OpGroupNonUniformBallotBitExtract", SpvOpGroupNonUniformBallotBitExtract},
+ {"OpFOrdLessThan", SpvOpFOrdLessThan},
+ {"OpFixedLogINTEL", SpvOpFixedLogINTEL},
{"OpVectorShuffle", SpvOpVectorShuffle},
- {"OpCapability", SpvOpCapability},
- {"OpGroupUMinNonUniformAMD", SpvOpGroupUMinNonUniformAMD},
- {"OpGroupFMaxNonUniformAMD", SpvOpGroupFMaxNonUniformAMD},
- {"OpTypePipeStorage", SpvOpTypePipeStorage},
- {"OpSubgroupAvcImeSetSingleReferenceINTEL", SpvOpSubgroupAvcImeSetSingleReferenceINTEL},
- {"OpDecorate", SpvOpDecorate},
- {"OpTypeVmeImageINTEL", SpvOpTypeVmeImageINTEL},
- {"OpPtrEqual", SpvOpPtrEqual},
- {"OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL},
- {"OpLessOrGreater", SpvOpLessOrGreater},
- {"OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL", SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL},
- {"OpFunction", SpvOpFunction},
- {"OpSubgroupAvcSicConvertToMceResultINTEL", SpvOpSubgroupAvcSicConvertToMceResultINTEL},
- {"OpReturnValue", SpvOpReturnValue},
- {"OpFConvert", SpvOpFConvert},
- {"OpArbitraryFloatLTINTEL", SpvOpArbitraryFloatLTINTEL},
- {"OpExtInstImport", SpvOpExtInstImport},
- {"OpSubgroupImageMediaBlockReadINTEL", SpvOpSubgroupImageMediaBlockReadINTEL},
- {"OpTypeAvcImeDualReferenceStreaminINTEL", SpvOpTypeAvcImeDualReferenceStreaminINTEL},
- {"OpSDotKHR", SpvOpSDotKHR},
- {"OpHitObjectRecordHitMotionNV", SpvOpHitObjectRecordHitMotionNV},
- {"OpMatrixTimesVector", SpvOpMatrixTimesVector},
- {"OpConstantPipeStorage", SpvOpConstantPipeStorage},
- {"OpIAdd", SpvOpIAdd},
- {"OpAtomicAnd", SpvOpAtomicAnd},
- {"OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL", SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL},
+ {"OpArbitraryFloatRSqrtINTEL", SpvOpArbitraryFloatRSqrtINTEL},
+ {"OpHitObjectGetShaderBindingTableRecordIndexNV", SpvOpHitObjectGetShaderBindingTableRecordIndexNV},
+ {"OpTypeFunction", SpvOpTypeFunction},
+ {"OpReservedReadPipe", SpvOpReservedReadPipe},
+ {"OpImageSparseSampleDrefImplicitLod", SpvOpImageSparseSampleDrefImplicitLod},
+ {"OpDemoteToHelperInvocation", SpvOpDemoteToHelperInvocation},
+ {"OpSpecConstantComposite", SpvOpSpecConstantComposite},
+ {"OpFOrdLessThanEqual", SpvOpFOrdLessThanEqual},
+ {"OpGroupBitwiseOrKHR", SpvOpGroupBitwiseOrKHR},
+ {"OpMemberName", SpvOpMemberName},
+ {"OpGroupNonUniformBitwiseXor", SpvOpGroupNonUniformBitwiseXor},
+ {"OpGroupFAddNonUniformAMD", SpvOpGroupFAddNonUniformAMD},
+ {"OpMatrixTimesMatrix", SpvOpMatrixTimesMatrix},
+ {"OpSubgroupAvcRefSetBilinearFilterEnableINTEL", SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL},
+ {"OpTypeSampler", SpvOpTypeSampler},
+ {"OpGroupLogicalOrKHR", SpvOpGroupLogicalOrKHR},
+ {"OpHitObjectGetWorldToObjectNV", SpvOpHitObjectGetWorldToObjectNV},
+ {"OpMemberDecorateStringGOOGLE", SpvOpMemberDecorateStringGOOGLE},
+ {"OpTypeInt", SpvOpTypeInt},
+ {"OpSDotAccSatKHR", SpvOpSDotAccSatKHR},
{"OpUMulExtended", SpvOpUMulExtended},
- {"OpGetKernelMaxNumSubgroups", SpvOpGetKernelMaxNumSubgroups},
- {"OpUDiv", SpvOpUDiv},
- {"OpDot", SpvOpDot},
+ {"OpRayQueryGetIntersectionGeometryIndexKHR", SpvOpRayQueryGetIntersectionGeometryIndexKHR},
+ {"OpGroupReserveReadPipePackets", SpvOpGroupReserveReadPipePackets},
+ {"OpDemoteToHelperInvocationEXT", SpvOpDemoteToHelperInvocationEXT},
+ {"OpTerminateRayKHR", SpvOpTerminateRayKHR},
{"OpCreateUserEvent", SpvOpCreateUserEvent},
- {"OpSUDotKHR", SpvOpSUDotKHR},
+ {"OpFDiv", SpvOpFDiv},
+ {"OpSubgroupAvcMceGetInterMotionVectorCountINTEL", SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL},
+ {"OpSDot", SpvOpSDot},
+ {"OpArbitraryFloatCastINTEL", SpvOpArbitraryFloatCastINTEL},
+ {"OpImageBoxFilterQCOM", SpvOpImageBoxFilterQCOM},
+ {"OpSubgroupBallotKHR", SpvOpSubgroupBallotKHR},
+ {"OpSelectionMerge", SpvOpSelectionMerge},
+ {"OpConvertUToSampledImageNV", SpvOpConvertUToSampledImageNV},
+ {"OpConvertFToU", SpvOpConvertFToU},
+ {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL},
+ {"OpRetainEvent", SpvOpRetainEvent},
+ {"OpULessThanEqual", SpvOpULessThanEqual},
+ {"OpUAverageINTEL", SpvOpUAverageINTEL},
+ {"OpSDotAccSat", SpvOpSDotAccSat},
+ {"OpShiftRightArithmetic", SpvOpShiftRightArithmetic},
+ {"OpArbitraryFloatPowINTEL", SpvOpArbitraryFloatPowINTEL},
+ {"OpSubgroupAvcMceSetAcOnlyHaarINTEL", SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL},
+ {"OpTraceNV", SpvOpTraceNV},
+ {"OpArbitraryFloatSinCosPiINTEL", SpvOpArbitraryFloatSinCosPiINTEL},
+ {"OpSubgroupAvcSicGetIpeLumaShapeINTEL", SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL},
+ {"OpReadPipeBlockingINTEL", SpvOpReadPipeBlockingINTEL},
+ {"OpVariableLengthArrayINTEL", SpvOpVariableLengthArrayINTEL},
+ {"OpArbitraryFloatASinPiINTEL", SpvOpArbitraryFloatASinPiINTEL},
+ {"OpSubgroupImageBlockReadINTEL", SpvOpSubgroupImageBlockReadINTEL},
+ {"OpVectorExtractDynamic", SpvOpVectorExtractDynamic},
+ {"OpReserveReadPipePackets", SpvOpReserveReadPipePackets},
+ {"OpReserveWritePipePackets", SpvOpReserveWritePipePackets},
+ {"OpGroupNonUniformUMax", SpvOpGroupNonUniformUMax},
+ {"OpBeginInvocationInterlockEXT", SpvOpBeginInvocationInterlockEXT},
+ {"OpLoopControlINTEL", SpvOpLoopControlINTEL},
+ {"OpFixedSinCosPiINTEL", SpvOpFixedSinCosPiINTEL},
+ {"OpReturnValue", SpvOpReturnValue},
+ {"OpHitObjectGetAttributesNV", SpvOpHitObjectGetAttributesNV},
+ {"OpExpectKHR", SpvOpExpectKHR},
+ {"OpIsNan", SpvOpIsNan},
+ {"OpGroupIMulKHR", SpvOpGroupIMulKHR},
+ {"OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL", SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL},
+ {"OpPtrNotEqual", SpvOpPtrNotEqual},
+ {"OpSpecConstantFalse", SpvOpSpecConstantFalse},
+ {"OpFixedExpINTEL", SpvOpFixedExpINTEL},
+ {"OpTerminateRayNV", SpvOpTerminateRayNV},
+ {"OpUCountTrailingZerosINTEL", SpvOpUCountTrailingZerosINTEL},
+ {"OpAsmTargetINTEL", SpvOpAsmTargetINTEL},
+ {"OpSaveMemoryINTEL", SpvOpSaveMemoryINTEL},
+ {"OpRayQueryGetRayTMinKHR", SpvOpRayQueryGetRayTMinKHR},
+ {"OpTypeRayQueryKHR", SpvOpTypeRayQueryKHR},
+ {"OpSpecConstantCompositeContinuedINTEL", SpvOpSpecConstantCompositeContinuedINTEL},
+ {"OpConvertSToF", SpvOpConvertSToF},
+ {"OpCooperativeMatrixStoreKHR", SpvOpCooperativeMatrixStoreKHR},
+ {"OpRayQueryGetIntersectionPrimitiveIndexKHR", SpvOpRayQueryGetIntersectionPrimitiveIndexKHR},
+ {"OpHitObjectGetCurrentTimeNV", SpvOpHitObjectGetCurrentTimeNV},
+ {"OpRayQueryGetWorldRayOriginKHR", SpvOpRayQueryGetWorldRayOriginKHR},
+ {"OpHitObjectGetInstanceCustomIndexNV", SpvOpHitObjectGetInstanceCustomIndexNV},
+ {"OpSubgroupAnyKHR", SpvOpSubgroupAnyKHR},
+ {"OpTypeFloat", SpvOpTypeFloat},
+ {"OpIAddCarry", SpvOpIAddCarry},
+ {"OpSubgroupAvcImeSetSingleReferenceINTEL", SpvOpSubgroupAvcImeSetSingleReferenceINTEL},
+ {"OpAtomicISub", SpvOpAtomicISub},
+ {"OpAtomicOr", SpvOpAtomicOr},
+ {"OpGroupCommitReadPipe", SpvOpGroupCommitReadPipe},
+ {"OpSetMeshOutputsEXT", SpvOpSetMeshOutputsEXT},
+ {"OpDPdy", SpvOpDPdy},
+ {"OpDPdxCoarse", SpvOpDPdxCoarse},
+ {"OpLogicalNotEqual", SpvOpLogicalNotEqual},
+ {"OpTypeStruct", SpvOpTypeStruct},
+ {"OpIAverageRoundedINTEL", SpvOpIAverageRoundedINTEL},
+ {"OpHitObjectExecuteShaderNV", SpvOpHitObjectExecuteShaderNV},
+ {"OpTypeCooperativeMatrixNV", SpvOpTypeCooperativeMatrixNV},
+ {"OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL},
+ {"OpTypeDeviceEvent", SpvOpTypeDeviceEvent},
+ {"OpSubgroupAvcImeConvertToMceResultINTEL", SpvOpSubgroupAvcImeConvertToMceResultINTEL},
+ {"OpFragmentMaskFetchAMD", SpvOpFragmentMaskFetchAMD},
+ {"OpSamplerImageAddressingModeNV", SpvOpSamplerImageAddressingModeNV},
+ {"OpConvertUToImageNV", SpvOpConvertUToImageNV},
{"OpConvertFToS", SpvOpConvertFToS},
- {"OpSubgroupAvcMceSetInterDirectionPenaltyINTEL", SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL},
+ {"OpFUnordGreaterThan", SpvOpFUnordGreaterThan},
+ {"OpSourceExtension", SpvOpSourceExtension},
+ {"OpGroupSMax", SpvOpGroupSMax},
+ {"OpFixedSinPiINTEL", SpvOpFixedSinPiINTEL},
+ {"OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL", SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL},
+ {"OpGroupNonUniformIMul", SpvOpGroupNonUniformIMul},
+ {"OpNoLine", SpvOpNoLine},
+ {"OpDPdyCoarse", SpvOpDPdyCoarse},
+ {"OpControlBarrierArriveINTEL", SpvOpControlBarrierArriveINTEL},
+ {"OpFNegate", SpvOpFNegate},
+ {"OpTypeAvcRefPayloadINTEL", SpvOpTypeAvcRefPayloadINTEL},
+ {"OpCopyObject", SpvOpCopyObject},
+ {"OpTypeAvcMceResultINTEL", SpvOpTypeAvcMceResultINTEL},
+ {"OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL", SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL},
+ {"OpSubgroupAvcMceConvertToRefResultINTEL", SpvOpSubgroupAvcMceConvertToRefResultINTEL},
+ {"OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL", SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL},
+ {"OpExecuteCallableNV", SpvOpExecuteCallableNV},
{"OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL", SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL},
- {"OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL", SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL},
- {"OpEnqueueMarker", SpvOpEnqueueMarker},
- {"OpCommitReadPipe", SpvOpCommitReadPipe},
- {"OpSubgroupAvcSicGetInterRawSadsINTEL", SpvOpSubgroupAvcSicGetInterRawSadsINTEL},
- {"OpGroupFAddNonUniformAMD", SpvOpGroupFAddNonUniformAMD},
- {"OpTypeVoid", SpvOpTypeVoid},
- {"OpWritePipe", SpvOpWritePipe},
- {"OpIAverageRoundedINTEL", SpvOpIAverageRoundedINTEL},
- {"OpCommitWritePipe", SpvOpCommitWritePipe},
- {"OpSpecConstantFalse", SpvOpSpecConstantFalse},
- {"OpArbitraryFloatHypotINTEL", SpvOpArbitraryFloatHypotINTEL},
- {"OpTypeVector", SpvOpTypeVector},
- {"OpOuterProduct", SpvOpOuterProduct},
- {"OpLoopMerge", SpvOpLoopMerge},
- {"OpInBoundsAccessChain", SpvOpInBoundsAccessChain},
- {"OpFixedRecipINTEL", SpvOpFixedRecipINTEL},
- {"OpReadPipe", SpvOpReadPipe},
- {"OpSignBitSet", SpvOpSignBitSet},
+ {"OpControlBarrierWaitINTEL", SpvOpControlBarrierWaitINTEL},
+ {"OpHitObjectTraceRayNV", SpvOpHitObjectTraceRayNV},
+ {"OpDot", SpvOpDot},
+ {"OpUGreaterThan", SpvOpUGreaterThan},
+ {"OpArbitraryFloatLog1pINTEL", SpvOpArbitraryFloatLog1pINTEL},
+ {"OpVariable", SpvOpVariable},
+ {"OpDecorate", SpvOpDecorate},
+ {"OpFwidthCoarse", SpvOpFwidthCoarse},
+ {"OpGroupNonUniformFMax", SpvOpGroupNonUniformFMax},
+ {"OpTypeForwardPointer", SpvOpTypeForwardPointer},
+ {"OpBitcast", SpvOpBitcast},
+ {"OpPtrDiff", SpvOpPtrDiff},
+ {"OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL", SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL},
+ {"OpAtomicFlagClear", SpvOpAtomicFlagClear},
+ {"OpTypeAccelerationStructureNV", SpvOpTypeAccelerationStructureNV},
+ {"OpLine", SpvOpLine},
+ {"OpWritePipeBlockingINTEL", SpvOpWritePipeBlockingINTEL},
+ {"OpGroupNonUniformQuadSwap", SpvOpGroupNonUniformQuadSwap},
+ {"OpGroupNonUniformLogicalXor", SpvOpGroupNonUniformLogicalXor},
+ {"OpGroupFMinNonUniformAMD", SpvOpGroupFMinNonUniformAMD},
+ {"OpString", SpvOpString},
+ {"OpImageSampleProjExplicitLod", SpvOpImageSampleProjExplicitLod},
+ {"OpHitObjectIsHitNV", SpvOpHitObjectIsHitNV},
+ {"OpSubgroupAllEqualKHR", SpvOpSubgroupAllEqualKHR},
{"OpUAverageRoundedINTEL", SpvOpUAverageRoundedINTEL},
- {"OpSubgroupAvcMceGetMotionVectorsINTEL", SpvOpSubgroupAvcMceGetMotionVectorsINTEL},
- {"OpSubgroupAvcSicEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL},
- {"OpSRem", SpvOpSRem},
- {"OpImageTexelPointer", SpvOpImageTexelPointer},
- {"OpArbitraryFloatATanINTEL", SpvOpArbitraryFloatATanINTEL},
- {"OpBuildNDRange", SpvOpBuildNDRange},
- {"OpRayQueryGetIntersectionObjectToWorldKHR", SpvOpRayQueryGetIntersectionObjectToWorldKHR},
- {"OpConstantFalse", SpvOpConstantFalse},
- {"OpTypeEvent", SpvOpTypeEvent},
- {"OpArbitraryFloatDivINTEL", SpvOpArbitraryFloatDivINTEL},
+ {"OpSubgroupAvcImeGetSingleReferenceStreaminINTEL", SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL},
+ {"OpAtomicCompareExchangeWeak", SpvOpAtomicCompareExchangeWeak},
+ {"OpSubgroupAvcSicEvaluateIpeINTEL", SpvOpSubgroupAvcSicEvaluateIpeINTEL},
+ {"OpConvertPtrToU", SpvOpConvertPtrToU},
+ {"OpConstantTrue", SpvOpConstantTrue},
+ {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL},
+ {"OpHitObjectGetWorldRayOriginNV", SpvOpHitObjectGetWorldRayOriginNV},
+ {"OpIMul", SpvOpIMul},
+ {"OpGroupFMaxNonUniformAMD", SpvOpGroupFMaxNonUniformAMD},
+ {"OpGetKernelPreferredWorkGroupSizeMultiple", SpvOpGetKernelPreferredWorkGroupSizeMultiple},
};
static UInt32 hash(const UnownedStringSlice& str, UInt32 salt)
diff --git a/tests/bugs/spirv-debug-info.slang b/tests/bugs/spirv-debug-info.slang
new file mode 100644
index 000000000..b04a9ee24
--- /dev/null
+++ b/tests/bugs/spirv-debug-info.slang
@@ -0,0 +1,15 @@
+//TEST:SIMPLE:-target spirv -entry MainPs -stage fragment -profile glsl_450 -g3 -line-directive-mode none
+
+// make sure that the generated spirv has glsl source in it.
+//CHECK: #version 450
+struct PS_OUTPUT
+{
+ float4 vColor : SV_Target0 ;
+} ;
+
+PS_OUTPUT MainPs ( )
+{
+ PS_OUTPUT o ;
+ o . vColor = float4 ( 0 , 0 , 0 , 0 ) ;
+ return o ;
+} \ No newline at end of file