mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-10 04:20:06 +00:00
SPIRV: Fix some disassembly issues
- OpExecutionModeId is not supported in disassembly. - Some execution modes are missing in disassembled strings.
This commit is contained in:
parent
517f39eee4
commit
2d66614c0a
@ -134,7 +134,7 @@ const char* MemoryString(int mem)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const int ExecutionModeCeiling = 33;
|
const int ExecutionModeCeiling = 40;
|
||||||
|
|
||||||
const char* ExecutionModeString(int mode)
|
const char* ExecutionModeString(int mode)
|
||||||
{
|
{
|
||||||
@ -173,7 +173,21 @@ const char* ExecutionModeString(int mode)
|
|||||||
case 31: return "ContractionOff";
|
case 31: return "ContractionOff";
|
||||||
case 32: return "Bad";
|
case 32: return "Bad";
|
||||||
|
|
||||||
case 4446: return "PostDepthCoverage";
|
case ExecutionModeInitializer: return "Initializer";
|
||||||
|
case ExecutionModeFinalizer: return "Finalizer";
|
||||||
|
case ExecutionModeSubgroupSize: return "SubgroupSize";
|
||||||
|
case ExecutionModeSubgroupsPerWorkgroup: return "SubgroupsPerWorkgroup";
|
||||||
|
case ExecutionModeSubgroupsPerWorkgroupId: return "SubgroupsPerWorkgroupId";
|
||||||
|
case ExecutionModeLocalSizeId: return "LocalSizeId";
|
||||||
|
case ExecutionModeLocalSizeHintId: return "LocalSizeHintId";
|
||||||
|
|
||||||
|
case ExecutionModePostDepthCoverage: return "PostDepthCoverage";
|
||||||
|
case ExecutionModeDenormPreserve: return "DenormPreserve";
|
||||||
|
case ExecutionModeDenormFlushToZero: return "DenormFlushToZero";
|
||||||
|
case ExecutionModeSignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
|
||||||
|
case ExecutionModeRoundingModeRTE: return "RoundingModeRTE";
|
||||||
|
case ExecutionModeRoundingModeRTZ: return "RoundingModeRTZ";
|
||||||
|
case ExecutionModeStencilRefReplacingEXT: return "StencilRefReplacingEXT";
|
||||||
|
|
||||||
case ExecutionModeOutputLinesNV: return "OutputLinesNV";
|
case ExecutionModeOutputLinesNV: return "OutputLinesNV";
|
||||||
case ExecutionModeOutputPrimitivesNV: return "OutputPrimitivesNV";
|
case ExecutionModeOutputPrimitivesNV: return "OutputPrimitivesNV";
|
||||||
@ -188,6 +202,11 @@ const char* ExecutionModeString(int mode)
|
|||||||
case ExecutionModeShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT";
|
case ExecutionModeShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT";
|
||||||
case ExecutionModeShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT";
|
case ExecutionModeShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT";
|
||||||
|
|
||||||
|
case ExecutionModeMaxWorkgroupSizeINTEL: return "MaxWorkgroupSizeINTEL";
|
||||||
|
case ExecutionModeMaxWorkDimINTEL: return "MaxWorkDimINTEL";
|
||||||
|
case ExecutionModeNoGlobalOffsetINTEL: return "NoGlobalOffsetINTEL";
|
||||||
|
case ExecutionModeNumSIMDWorkitemsINTEL: return "NumSIMDWorkitemsINTEL";
|
||||||
|
|
||||||
case ExecutionModeCeiling:
|
case ExecutionModeCeiling:
|
||||||
default: return "Bad";
|
default: return "Bad";
|
||||||
}
|
}
|
||||||
@ -1272,6 +1291,7 @@ const char* OpcodeString(int op)
|
|||||||
case 320: return "OpImageSparseRead";
|
case 320: return "OpImageSparseRead";
|
||||||
|
|
||||||
case OpModuleProcessed: return "OpModuleProcessed";
|
case OpModuleProcessed: return "OpModuleProcessed";
|
||||||
|
case OpExecutionModeId: return "OpExecutionModeId";
|
||||||
case OpDecorateId: return "OpDecorateId";
|
case OpDecorateId: return "OpDecorateId";
|
||||||
|
|
||||||
case 333: return "OpGroupNonUniformElect";
|
case 333: return "OpGroupNonUniformElect";
|
||||||
@ -1423,6 +1443,7 @@ void Parameterize()
|
|||||||
InstructionDesc[OpMemoryModel].setResultAndType(false, false);
|
InstructionDesc[OpMemoryModel].setResultAndType(false, false);
|
||||||
InstructionDesc[OpEntryPoint].setResultAndType(false, false);
|
InstructionDesc[OpEntryPoint].setResultAndType(false, false);
|
||||||
InstructionDesc[OpExecutionMode].setResultAndType(false, false);
|
InstructionDesc[OpExecutionMode].setResultAndType(false, false);
|
||||||
|
InstructionDesc[OpExecutionModeId].setResultAndType(false, false);
|
||||||
InstructionDesc[OpTypeVoid].setResultAndType(true, false);
|
InstructionDesc[OpTypeVoid].setResultAndType(true, false);
|
||||||
InstructionDesc[OpTypeBool].setResultAndType(true, false);
|
InstructionDesc[OpTypeBool].setResultAndType(true, false);
|
||||||
InstructionDesc[OpTypeInt].setResultAndType(true, false);
|
InstructionDesc[OpTypeInt].setResultAndType(true, false);
|
||||||
@ -1609,6 +1630,10 @@ void Parameterize()
|
|||||||
InstructionDesc[OpExecutionMode].operands.push(OperandExecutionMode, "'Mode'");
|
InstructionDesc[OpExecutionMode].operands.push(OperandExecutionMode, "'Mode'");
|
||||||
InstructionDesc[OpExecutionMode].operands.push(OperandOptionalLiteral, "See <<Execution_Mode,Execution Mode>>");
|
InstructionDesc[OpExecutionMode].operands.push(OperandOptionalLiteral, "See <<Execution_Mode,Execution Mode>>");
|
||||||
|
|
||||||
|
InstructionDesc[OpExecutionModeId].operands.push(OperandId, "'Entry Point'");
|
||||||
|
InstructionDesc[OpExecutionModeId].operands.push(OperandExecutionMode, "'Mode'");
|
||||||
|
InstructionDesc[OpExecutionModeId].operands.push(OperandVariableIds, "See <<Execution_Mode,Execution Mode>>");
|
||||||
|
|
||||||
InstructionDesc[OpTypeInt].operands.push(OperandLiteralNumber, "'Width'");
|
InstructionDesc[OpTypeInt].operands.push(OperandLiteralNumber, "'Width'");
|
||||||
InstructionDesc[OpTypeInt].operands.push(OperandLiteralNumber, "'Signedness'");
|
InstructionDesc[OpTypeInt].operands.push(OperandLiteralNumber, "'Signedness'");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user