Implement GL_EXT_maximal_reconvergence

This commit is contained in:
Jeff Bolz 2022-01-06 19:47:45 -06:00 committed by arcady-lunarg
parent 7eea61b5a3
commit 8066fa086b
16 changed files with 1452 additions and 1384 deletions

View file

@ -125,6 +125,8 @@ TAttributeType TParseContext::attributeFromName(const TString& name) const
return EatSubgroupUniformControlFlow;
else if (name == "export")
return EatExport;
else if (name == "maximal_reconvergence")
return EatMaximalReconvergence;
else
return EatNone;
}
@ -360,6 +362,10 @@ void TParseContext::handleFunctionAttributes(const TSourceLoc& loc, const TAttri
requireExtensions(loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
intermediate.setSubgroupUniformControlFlow();
break;
case EatMaximalReconvergence:
requireExtensions(loc, 1, &E_GL_EXT_maximal_reconvergence, "attribute");
intermediate.setMaximalReconvergence();
break;
default:
warn(loc, "attribute does not apply to a function", "", "");
break;