Tests: Add some location-decoration tests, to aid PR #422.

This commit is contained in:
John Kessenich 2016-08-05 15:19:46 -06:00
parent 9f9bad09b4
commit bbd1b0ef76
3 changed files with 53 additions and 4 deletions

View File

@ -7,12 +7,12 @@ Linked tessellation control stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 17
// Id's are bound by 24
Capability Tessellation
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationControl 4 "main" 9 16
EntryPoint TessellationControl 4 "main" 9 16 20 23
ExecutionMode 4 OutputVertices 4
Source GLSL 450
Name 4 "main"
@ -25,12 +25,42 @@ Linked tessellation control stage:
MemberName 11(TheBlock) 1 "bMem2"
MemberName 11(TheBlock) 2 "s"
Name 16 "tcBlock"
Name 17 "S"
MemberName 17(S) 0 "sMem1"
MemberName 17(S) 1 "sMem2"
Name 18 "SingleBlock"
MemberName 18(SingleBlock) 0 "bMem1"
MemberName 18(SingleBlock) 1 "bMem2"
MemberName 18(SingleBlock) 2 "s"
Name 20 "singleBlock"
Name 21 "bn"
MemberName 21(bn) 0 "v1"
MemberName 21(bn) 1 "v2"
MemberName 21(bn) 2 "v3"
Name 23 ""
Decorate 9(patchOut) Patch
MemberDecorate 11(TheBlock) 0 Patch
MemberDecorate 11(TheBlock) 1 Patch
MemberDecorate 11(TheBlock) 2 Patch
Decorate 11(TheBlock) Block
Decorate 16(tcBlock) Location 12
MemberDecorate 18(SingleBlock) 0 Patch
MemberDecorate 18(SingleBlock) 0 Location 2
MemberDecorate 18(SingleBlock) 1 Patch
MemberDecorate 18(SingleBlock) 1 Location 3
MemberDecorate 18(SingleBlock) 2 Patch
MemberDecorate 18(SingleBlock) 2 Location 4
Decorate 18(SingleBlock) Block
Decorate 20(singleBlock) Location 2
MemberDecorate 21(bn) 0 Patch
MemberDecorate 21(bn) 0 Location 20
MemberDecorate 21(bn) 0 Component 0
MemberDecorate 21(bn) 1 Patch
MemberDecorate 21(bn) 1 Location 24
MemberDecorate 21(bn) 2 Patch
MemberDecorate 21(bn) 2 Location 25
MemberDecorate 21(bn) 2 Component 0
Decorate 21(bn) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -44,6 +74,13 @@ Linked tessellation control stage:
14: TypeArray 11(TheBlock) 13
15: TypePointer Output 14
16(tcBlock): 15(ptr) Variable Output
17(S): TypeStruct 6(float) 6(float)
18(SingleBlock): TypeStruct 6(float) 6(float) 17(S)
19: TypePointer Output 18(SingleBlock)
20(singleBlock): 19(ptr) Variable Output
21(bn): TypeStruct 7(fvec4) 7(fvec4) 7(fvec4)
22: TypePointer Output 21(bn)
23: 22(ptr) Variable Output
4(main): 2 Function None 3
5: Label
Return

View File

@ -18,3 +18,15 @@ layout(location = 12) patch out TheBlock {
void main()
{
}
layout(location = 2) patch out SingleBlock {
highp float bMem1; // should not see a location decoration
highp float bMem2;
S s; // should see a patch decoration
} singleBlock;
layout(location = 20) patch out bn {
vec4 v1; // location 20
layout(location = 24) vec4 v2; // location 24
vec4 v3; // location 25
};

View File

@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "SPIRV99.1383"
#define GLSLANG_DATE "04-Aug-2016"
#define GLSLANG_REVISION "SPIRV99.1384"
#define GLSLANG_DATE "05-Aug-2016"