glslang/gtests
Alejandro Piñeiro adba7dfc68 ParseHelper: assign global XfbBuffer to a block missing it
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
2018-11-10 11:35:50 +01:00
..
AST.FromFile.cpp Remove execute permissions 2018-08-07 03:16:20 +09:00
BuiltInResource.FromFile.cpp Gtests can be run on another source tree 2016-10-05 10:28:32 -04:00
CMakeLists.txt Rename PCH macro to glslang_pch (to avoid name collision) and update to latest spirv-tools 2018-11-07 09:35:31 -06:00
Config.FromFile.cpp Tests: specExamples.vert is used twice, it needs two different output names. 2018-02-21 18:42:10 -07:00
HexFloat.cpp Update HexFloat tests to use non-enum class enum values 2016-10-13 20:05:13 +02:00
Hlsl.FromFile.cpp Remove execute permissions 2018-08-07 03:16:20 +09:00
Initializer.h Infrastructure: Make shared symbol-table cache complete, delete work around. 2016-08-09 19:15:17 -06:00
Link.FromFile.cpp Linker: Walk the call graph to report an error on missing bodies. 2016-12-08 23:22:21 -07:00
Link.FromFile.Vk.cpp Merge pull request #1465 from otakuto/remove-execute-permissions 2018-08-31 08:14:47 -07:00
main.cpp SPV: Implement Vulkan 1.1 features and extensions. 2018-03-06 16:12:04 -07:00
pch.cpp Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
pch.h Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
Pp.FromFile.cpp Remove execute permissions 2018-08-07 03:16:20 +09:00
README.md Link in Google Test framework. 2016-03-31 10:31:30 -04:00
Remap.FromFile.cpp Remapper: handle embedded opcode in OpSpecConstantOp 2017-05-18 16:13:04 -06:00
Settings.cpp Gtests can be run on another source tree 2016-10-05 10:28:32 -04:00
Settings.h Gtests can be run on another source tree 2016-10-05 10:28:32 -04:00
Spv.FromFile.cpp ParseHelper: assign global XfbBuffer to a block missing it 2018-11-10 11:35:50 +01:00
TestFixture.cpp Add-support-for-SPV_NVX_raytracing 2018-09-19 13:07:43 -07:00
TestFixture.h SPV: Add option for controling when the SPIRV-Tools validator is used. 2018-08-23 15:29:08 -06:00

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.