GL_EXT_control_flow_attributes2 support. (#3531)
The actual support has been available with GL_EXT_control_flow_attributes. This change set is to handle "#extension GL_EXT_control_flow_attributes2 : <val>"
This commit is contained in:
parent
ad7e719c3b
commit
bada5c87ec
5 changed files with 214 additions and 205 deletions
|
|
@ -1,5 +1,7 @@
|
|||
460.frag
|
||||
ERROR: 0:22: 'attribute' : required extension not requested: GL_EXT_control_flow_attributes
|
||||
ERROR: 0:22: 'attribute' : required extension not requested: Possible extensions include:
|
||||
GL_EXT_control_flow_attributes
|
||||
GL_EXT_control_flow_attributes2
|
||||
ERROR: 0:23: 'attribute' : required extension not requested: GL_EXT_control_flow_attributes
|
||||
ERROR: 0:30: 'dependency_length' : must be positive
|
||||
ERROR: 0:31: 'dependency_length' : must be positive
|
||||
|
|
|
|||
|
|
@ -264,6 +264,8 @@ void TParseVersions::initializeExtensionBehavior()
|
|||
extensionBehavior[E_GL_EXT_fragment_shader_barycentric] = EBhDisable;
|
||||
extensionBehavior[E_GL_EXT_expect_assume] = EBhDisable;
|
||||
|
||||
extensionBehavior[E_GL_EXT_control_flow_attributes2] = EBhDisable;
|
||||
|
||||
extensionBehavior[E_GL_KHR_cooperative_matrix] = EBhDisable;
|
||||
|
||||
// #line and #include
|
||||
|
|
@ -591,6 +593,8 @@ void TParseVersions::getPreamble(std::string& preamble)
|
|||
"#define GL_EXT_fragment_shader_barycentric 1\n"
|
||||
"#define GL_EXT_shader_quad_control 1\n"
|
||||
"#define GL_EXT_texture_array 1\n"
|
||||
|
||||
"#define GL_EXT_control_flow_attributes2 1\n"
|
||||
;
|
||||
|
||||
if (spvVersion.spv == 0) {
|
||||
|
|
|
|||
|
|
@ -221,6 +221,7 @@ const char* const E_GL_EXT_draw_instanced = "GL_EXT_draw_insta
|
|||
const char* const E_GL_EXT_texture_array = "GL_EXT_texture_array";
|
||||
const char* const E_GL_EXT_maximal_reconvergence = "GL_EXT_maximal_reconvergence";
|
||||
const char* const E_GL_EXT_expect_assume = "GL_EXT_expect_assume";
|
||||
const char* const E_GL_EXT_control_flow_attributes2 = "GL_EXT_control_flow_attributes2";
|
||||
|
||||
// Arrays of extensions for the above viewportEXTs duplications
|
||||
|
||||
|
|
|
|||
|
|
@ -3950,7 +3950,8 @@ iteration_statement
|
|||
$$ = $1;
|
||||
}
|
||||
| attribute iteration_statement_nonattributed {
|
||||
parseContext.requireExtensions($2->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");
|
||||
const char * extensions[2] = { E_GL_EXT_control_flow_attributes, E_GL_EXT_control_flow_attributes2 };
|
||||
parseContext.requireExtensions($2->getLoc(), 2, extensions, "attribute");
|
||||
parseContext.handleLoopAttributes(*$1, $2);
|
||||
$$ = $2;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue