glslang
glslang copied to clipboard
GL_EXT_control_flow_attributes2 support.
The actual support has been available with GL_EXT_control_flow_attributes. This change set is to handle
"#extension GL_EXT_control_flow_attributes2 :
Thanks. I thought about adding it, then decided not to. Anyways, it is added.
As for the second question, if I compile the test spv.1.4.LoopControl.frag with no extension enabled, I get
ERROR: spv.1.4.LoopControl.frag:10: 'attribute' : required extension not requested: GL_EXT_control_flow_attributes
I am afraid adding something specific for GL_EXT_control_flow_attributes2 would break shaders out there that may have used the attributes, though I am not sure if there are any that are using those attributes.
updated the grammar to allow shaders that enable GL_EXT_control_flow_attributes2 only.
Generated the grammar using bison 3.8.2.
For the test results, there is an error while running the test suite, and I don't see 460.frag get executed. The same error occurred with the main branch without any of my changes.
@arcady-lunarg Have you seen this error ?
2: [ FAILED ] Glsl/VulkanRelaxedTest.FromFile/0, where GetParam() = 48-byte object <A0-53 7F-F9 F4-55 00-00 C0-53 7F-F9 F4-55 00-00 C0-53 7F-F9 F4-55 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00> (416 ms) 2: [ RUN ] Glsl/VulkanRelaxedTest.FromFile/1 2: [ OK ] Glsl/VulkanRelaxedTest.FromFile/1 (11 ms) 2: [ RUN ] Glsl/VulkanRelaxedTest.FromFile/2 2: [ OK ] Glsl/VulkanRelaxedTest.FromFile/2 (122 ms) 2: [ RUN ] Glsl/VulkanRelaxedTest.FromFile/3 2: [ OK ] Glsl/VulkanRelaxedTest.FromFile/3 (17 ms) 2: [ RUN ] Glsl/VulkanRelaxedTest.FromFile/4 2: glslangtests: ../SPIRV/../glslang/MachineIndependent/../Include/../Include/Types.h:1795: virtual const TString& glslang::TType::getFieldName() const: Assertion `fieldName' failed.
I am getting this error with a clean build off of the main branch.
I am not seeing this failure, neither is the CI. That's really odd, are you sure you're doing a clean build from latest source and not picking up any changes? Also, if you make your branch editable by maintainers I can just push the updated test as a separate commit on top of yours.
I did the clean build with the latest source. Let me try it again. One difference I have from the main branch is I had to add "stdc++fs"
target_link_libraries(spirv-remap SPVRemapper ${LIBRARIES} -lstdc++fs)
Without it, the build fails on my Linux box.
Let me also make the branch editable by maintainers.
Clean re-build from the scratch resolved the issue.
I updated Test/baseResults/460.frag.out