glslang/Test/baseResults/hlsl.struct.frag.out
steve-lunarg 0de16da2c0 HLSL: phase 2c: use lValueErrorCheck in HLSL FE
This commit splits lValueErrorCheck into machine dependent and independent
parts.  The GLSL form in TParseContext inherits from and invokes the
machine dependent part in TParseContextBase.  The base form checks language
independent things.  This split does not change the set of errors tested
for: the test results are identical.

The new base class interface is now used from the HLSL FE to test lvalues.
There was one test diff due to this, where the test was writing to a uniform.
It still does the same indirections, but does not attempt a uniform write.
2016-10-12 12:39:44 -06:00

196 lines
11 KiB
Plaintext
Executable File

hlsl.struct.frag
WARNING: 0:26: 'register' : ignoring shader_profile
WARNING: 0:27: 'register' : ignoring shader_profile
WARNING: 0:30: 'register' : ignoring shader_profile
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:34 Function Definition: PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float)
0:34 Function Parameters:
0:34 'input' (layout(location=0 ) in 4-component vector of float)
0:34 's' (in structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Sequence
0:39 Compare Equal (temp bool)
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:40 i: direct index for structure (temp 4-component vector of float)
0:40 s2: direct index for structure (layout(offset=48 ) uniform structure{temp 4-component vector of float i})
0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(offset=48 ) uniform structure{temp 4-component vector of float i} s2, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
0:40 Constant:
0:40 1 (const uint)
0:40 Constant:
0:40 0 (const int)
0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:42 'input' (layout(location=0 ) in 4-component vector of float)
0:42 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(offset=48 ) uniform structure{temp 4-component vector of float i} s2, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a' (layout(location=1 ) smooth in 4-component vector of float)
0:? 'b' (layout(location=2 ) flat in bool)
0:? 'c' (layout(location=3 ) centroid noperspective in 1-component vector of float)
0:? 'd' (layout(location=4 ) centroid sample in 2-component vector of float)
0:? 'ff1' (in bool Face)
0:? 'ff2' (layout(location=5 offset=4 ) in bool)
0:? 'ff3' (layout(location=6 binding=0 offset=4 ) in bool)
0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:34 Function Definition: PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float)
0:34 Function Parameters:
0:34 'input' (layout(location=0 ) in 4-component vector of float)
0:34 's' (in structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Sequence
0:39 Compare Equal (temp bool)
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:39 's3' (temp structure{temp 3-component vector of bool b3})
0:40 i: direct index for structure (temp 4-component vector of float)
0:40 s2: direct index for structure (layout(offset=48 ) uniform structure{temp 4-component vector of float i})
0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(offset=48 ) uniform structure{temp 4-component vector of float i} s2, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
0:40 Constant:
0:40 1 (const uint)
0:40 Constant:
0:40 0 (const int)
0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:42 'input' (layout(location=0 ) in 4-component vector of float)
0:42 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(offset=48 ) uniform structure{temp 4-component vector of float i} s2, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a' (layout(location=1 ) smooth in 4-component vector of float)
0:? 'b' (layout(location=2 ) flat in bool)
0:? 'c' (layout(location=3 ) centroid noperspective in 1-component vector of float)
0:? 'd' (layout(location=4 ) centroid sample in 2-component vector of float)
0:? 'ff1' (in bool Face)
0:? 'ff2' (layout(location=5 offset=4 ) in bool)
0:? 'ff3' (layout(location=6 binding=0 offset=4 ) in bool)
0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 46
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 29 31 32 35 37 39 42 43 44 45
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 8 "FS"
MemberName 8(FS) 0 "b3"
Name 10 "s3"
Name 20 "myS"
MemberName 20(myS) 0 "b"
MemberName 20(myS) 1 "c"
MemberName 20(myS) 2 "a"
MemberName 20(myS) 3 "d"
Name 21 ""
MemberName 21 0 "i"
Name 22 "$Global"
MemberName 22($Global) 0 "s1"
MemberName 22($Global) 1 "s2"
MemberName 22($Global) 2 "ff5"
MemberName 22($Global) 3 "ff6"
Name 24 ""
Name 29 "ff4"
Name 31 "@entryPointOutput"
Name 32 "input"
Name 35 "a"
Name 37 "b"
Name 39 "c"
Name 42 "d"
Name 43 "ff1"
Name 44 "ff2"
Name 45 "ff3"
MemberDecorate 20(myS) 0 Offset 0
MemberDecorate 20(myS) 1 Offset 4
MemberDecorate 20(myS) 2 Offset 16
MemberDecorate 20(myS) 3 Offset 32
MemberDecorate 21 0 Offset 0
MemberDecorate 22($Global) 0 Offset 0
MemberDecorate 22($Global) 1 Offset 48
MemberDecorate 22($Global) 2 Offset 1620
MemberDecorate 22($Global) 3 Offset 1636
Decorate 22($Global) Block
Decorate 24 DescriptorSet 0
Decorate 29(ff4) Offset 4
Decorate 29(ff4) Location 7
Decorate 29(ff4) Binding 0
Decorate 31(@entryPointOutput) Location 0
Decorate 32(input) Location 0
Decorate 35(a) Location 1
Decorate 37(b) Flat
Decorate 37(b) Location 2
Decorate 39(c) NoPerspective
Decorate 39(c) Centroid
Decorate 39(c) Location 3
Decorate 42(d) Centroid
Decorate 42(d) Location 4
Decorate 43(ff1) BuiltIn FrontFacing
Decorate 44(ff2) Offset 4
Decorate 44(ff2) Location 5
Decorate 45(ff3) Offset 4
Decorate 45(ff3) Location 6
Decorate 45(ff3) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeBool
7: TypeVector 6(bool) 3
8(FS): TypeStruct 7(bvec3)
9: TypePointer Function 8(FS)
17: TypeInt 32 0
18: TypeFloat 32
19: TypeVector 18(float) 4
20(myS): TypeStruct 17(int) 17(int) 19(fvec4) 19(fvec4)
21: TypeStruct 19(fvec4)
22($Global): TypeStruct 20(myS) 21(struct) 18(float) 18(float)
23: TypePointer Uniform 22($Global)
24: 23(ptr) Variable Uniform
25: TypeInt 32 1
26: 25(int) Constant 1
27: 25(int) Constant 0
28: TypePointer Input 19(fvec4)
29(ff4): 28(ptr) Variable Input
30: TypePointer Output 19(fvec4)
31(@entryPointOutput): 30(ptr) Variable Output
32(input): 28(ptr) Variable Input
35(a): 28(ptr) Variable Input
36: TypePointer Input 6(bool)
37(b): 36(ptr) Variable Input
38: TypePointer Input 18(float)
39(c): 38(ptr) Variable Input
40: TypeVector 18(float) 2
41: TypePointer Input 40(fvec2)
42(d): 41(ptr) Variable Input
43(ff1): 36(ptr) Variable Input
44(ff2): 36(ptr) Variable Input
45(ff3): 36(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3
5: Label
10(s3): 9(ptr) Variable Function
11: 8(FS) Load 10(s3)
12: 8(FS) Load 10(s3)
13: 7(bvec3) CompositeExtract 11 0
14: 7(bvec3) CompositeExtract 12 0
15: 7(bvec3) LogicalEqual 13 14
16: 6(bool) All 15
33: 19(fvec4) Load 32(input)
Store 31(@entryPointOutput) 33
Return
FunctionEnd