adba7dfc68
If a block has assigned a XfbOffset it is assumed that it would inherit the current global XfbBuffer. This commit fixes two use cases: 1) Getting the members of a Block with a XfbOffset to be assigned an offset, as explained on GLSL 4.60 spec, section "4.4.2 Output Layout Qualifiers", subsection "Transform Feedback Layout Qualifiers". 2) Compute properly an error on overlapping ranges if a block is assigned a XfbOffset and one of it members is assigned a explicit one. This gets working because when the members of a block get assigned a Offset/Buffer at fixBlockXfbOffsets, then the block is deassigned the Offsets, so ranges are computed only with the block members. BTW, this is already done when redeclaring block builtins. Fixes #1535 |
||
---|---|---|
.. | ||
AST.FromFile.cpp | ||
BuiltInResource.FromFile.cpp | ||
CMakeLists.txt | ||
Config.FromFile.cpp | ||
HexFloat.cpp | ||
Hlsl.FromFile.cpp | ||
Initializer.h | ||
Link.FromFile.cpp | ||
Link.FromFile.Vk.cpp | ||
main.cpp | ||
pch.cpp | ||
pch.h | ||
Pp.FromFile.cpp | ||
README.md | ||
Remap.FromFile.cpp | ||
Settings.cpp | ||
Settings.h | ||
Spv.FromFile.cpp | ||
TestFixture.cpp | ||
TestFixture.h |
Glslang Tests based on the Google Test Framework
This directory contains Google Test based test fixture and test cases for glslang.
Apart from typical unit tests, necessary utility methods are added into
the GlslangTests
fixture to provide the ability to do
file-based integration tests. Various *.FromFile.cpp
files lists names
of files containing input shader code in the Test/
directory. Utility
methods will load the input shader source, compile them, and compare with
the corresponding expected output in the Test/baseResults/
directory.
How to run the tests
Please make sure you have a copy of Google Test checked out under
the External
directory before building. After building, just run the
ctest
command or the gtests/glslangtests
binary in your build directory.
The gtests/glslangtests
binary also provides an --update-mode
command
line option, which, if supplied, will overwrite the golden files under
the Test/baseResults/
directory with real output from that invocation.
This serves as an easy way to update golden files.