Add GL_EXT_expect_assume support
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
This commit is contained in:
parent
b4a6efcda2
commit
9fd0fcd737
14 changed files with 1259 additions and 0 deletions
|
|
@ -60,5 +60,6 @@ static const char* const E_SPV_KHR_ray_tracing_position_fetch = "SPV_KHR_ray_t
|
|||
static const char* const E_SPV_KHR_cooperative_matrix = "SPV_KHR_cooperative_matrix";
|
||||
static const char* const E_SPV_KHR_maximal_reconvergence = "SPV_KHR_maximal_reconvergence";
|
||||
static const char* const E_SPV_KHR_subgroup_rotate = "SPV_KHR_subgroup_rotate";
|
||||
static const char* const E_SPV_KHR_expect_assume = "SPV_KHR_expect_assume";
|
||||
|
||||
#endif // #ifndef GLSLextKHR_H
|
||||
|
|
|
|||
|
|
@ -2785,6 +2785,11 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
|
|||
|
||||
return false;
|
||||
|
||||
case glslang::EOpAssumeEXT:
|
||||
builder.addCapability(spv::CapabilityExpectAssumeKHR);
|
||||
builder.addExtension(spv::E_SPV_KHR_expect_assume);
|
||||
builder.createNoResultOp(spv::OpAssumeTrueKHR, operand);
|
||||
return false;
|
||||
case glslang::EOpEmitStreamVertex:
|
||||
builder.createNoResultOp(spv::OpEmitStreamVertex, operand);
|
||||
return false;
|
||||
|
|
@ -3246,6 +3251,12 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
|||
binOp = node->getOp();
|
||||
break;
|
||||
|
||||
case glslang::EOpExpectEXT:
|
||||
builder.addCapability(spv::CapabilityExpectAssumeKHR);
|
||||
builder.addExtension(spv::E_SPV_KHR_expect_assume);
|
||||
binOp = node->getOp();
|
||||
break;
|
||||
|
||||
case glslang::EOpIgnoreIntersectionNV:
|
||||
case glslang::EOpTerminateRayNV:
|
||||
case glslang::EOpTraceNV:
|
||||
|
|
@ -6591,6 +6602,10 @@ spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, OpD
|
|||
binOp = isUnsigned ? spv::OpUMul32x16INTEL : spv::OpIMul32x16INTEL;
|
||||
break;
|
||||
|
||||
case glslang::EOpExpectEXT:
|
||||
binOp = spv::OpExpectKHR;
|
||||
break;
|
||||
|
||||
case glslang::EOpLessThan:
|
||||
case glslang::EOpGreaterThan:
|
||||
case glslang::EOpLessThanEqual:
|
||||
|
|
|
|||
|
|
@ -1043,6 +1043,8 @@ const char* CapabilityString(int info)
|
|||
|
||||
case CapabilityIntegerFunctions2INTEL: return "CapabilityIntegerFunctions2INTEL";
|
||||
|
||||
case CapabilityExpectAssumeKHR: return "ExpectAssumeKHR";
|
||||
|
||||
case CapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT";
|
||||
case CapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT";
|
||||
case CapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue