glslang/Test/baseResults/hlsl.logical.binary.frag.out
John Kessenich d3f1122a44 Whole stack: Fix stale types in the AST linker object nodes, fixing #557.
Rationalizes the entire tracking of the linker object nodes, effecting
GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before
their type snapshot for linker objects.

Should only effect things when the rest of the AST contained no reference to
the symbol, because normal AST nodes were not stale. Also will only effect such
objects when their types were edited.
2016-11-05 10:22:33 -06:00

221 lines
12 KiB
Plaintext

hlsl.logical.binary.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:12 Function Parameters:
0:? Sequence
0:13 Test condition and select (temp void)
0:13 Condition
0:13 logical-and (temp bool)
0:13 Convert int to bool (temp bool)
0:13 ival: direct index for structure (layout(offset=0 ) uniform int)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:13 Constant:
0:13 0 (const uint)
0:13 Convert int to bool (temp bool)
0:13 Convert float to int (temp int)
0:13 fval: direct index for structure (layout(offset=32 ) uniform float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:13 Constant:
0:13 2 (const uint)
0:13 true case is null
0:14 Test condition and select (temp void)
0:14 Condition
0:14 logical-or (temp bool)
0:14 Convert int to bool (temp bool)
0:14 ival: direct index for structure (layout(offset=0 ) uniform int)
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:14 Constant:
0:14 0 (const uint)
0:14 Convert int to bool (temp bool)
0:14 Convert float to int (temp int)
0:14 fval: direct index for structure (layout(offset=32 ) uniform float)
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:14 Constant:
0:14 2 (const uint)
0:14 true case is null
0:17 move second child to first child (temp 4-component vector of float)
0:17 Color: direct index for structure (temp 4-component vector of float)
0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:18 Sequence
0:18 Sequence
0:18 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:18 Color: direct index for structure (temp 4-component vector of float)
0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:18 Constant:
0:18 0 (const int)
0:18 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:12 Function Parameters:
0:? Sequence
0:13 Test condition and select (temp void)
0:13 Condition
0:13 logical-and (temp bool)
0:13 Convert int to bool (temp bool)
0:13 ival: direct index for structure (layout(offset=0 ) uniform int)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:13 Constant:
0:13 0 (const uint)
0:13 Convert int to bool (temp bool)
0:13 Convert float to int (temp int)
0:13 fval: direct index for structure (layout(offset=32 ) uniform float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:13 Constant:
0:13 2 (const uint)
0:13 true case is null
0:14 Test condition and select (temp void)
0:14 Condition
0:14 logical-or (temp bool)
0:14 Convert int to bool (temp bool)
0:14 ival: direct index for structure (layout(offset=0 ) uniform int)
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:14 Constant:
0:14 0 (const uint)
0:14 Convert int to bool (temp bool)
0:14 Convert float to int (temp int)
0:14 fval: direct index for structure (layout(offset=32 ) uniform float)
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
0:14 Constant:
0:14 2 (const uint)
0:14 true case is null
0:17 move second child to first child (temp 4-component vector of float)
0:17 Color: direct index for structure (temp 4-component vector of float)
0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:18 Sequence
0:18 Sequence
0:18 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:18 Color: direct index for structure (temp 4-component vector of float)
0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:18 Constant:
0:18 0 (const int)
0:18 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 57
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 53
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 11 "$Global"
MemberName 11($Global) 0 "ival"
MemberName 11($Global) 1 "ival4"
MemberName 11($Global) 2 "fval"
MemberName 11($Global) 3 "fval4"
Name 13 ""
Name 45 "PS_OUTPUT"
MemberName 45(PS_OUTPUT) 0 "Color"
Name 47 "psout"
Name 53 "Color"
MemberDecorate 11($Global) 0 Offset 0
MemberDecorate 11($Global) 1 Offset 16
MemberDecorate 11($Global) 2 Offset 32
MemberDecorate 11($Global) 3 Offset 48
Decorate 11($Global) Block
Decorate 13 DescriptorSet 0
Decorate 53(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeBool
7: TypeInt 32 1
8: TypeVector 7(int) 4
9: TypeFloat 32
10: TypeVector 9(float) 4
11($Global): TypeStruct 7(int) 8(ivec4) 9(float) 10(fvec4)
12: TypePointer Uniform 11($Global)
13: 12(ptr) Variable Uniform
14: 7(int) Constant 0
15: TypePointer Uniform 7(int)
18: TypeInt 32 0
19: 18(int) Constant 0
23: 7(int) Constant 2
24: TypePointer Uniform 9(float)
45(PS_OUTPUT): TypeStruct 10(fvec4)
46: TypePointer Function 45(PS_OUTPUT)
48: 9(float) Constant 1065353216
49: 10(fvec4) ConstantComposite 48 48 48 48
50: TypePointer Function 10(fvec4)
52: TypePointer Output 10(fvec4)
53(Color): 52(ptr) Variable Output
4(main): 2 Function None 3
5: Label
47(psout): 46(ptr) Variable Function
16: 15(ptr) AccessChain 13 14
17: 7(int) Load 16
20: 6(bool) INotEqual 17 19
SelectionMerge 22 None
BranchConditional 20 21 22
21: Label
25: 24(ptr) AccessChain 13 23
26: 9(float) Load 25
27: 7(int) ConvertFToS 26
28: 6(bool) INotEqual 27 19
Branch 22
22: Label
29: 6(bool) Phi 20 5 28 21
SelectionMerge 31 None
BranchConditional 29 30 31
30: Label
Branch 31
31: Label
32: 15(ptr) AccessChain 13 14
33: 7(int) Load 32
34: 6(bool) INotEqual 33 19
35: 6(bool) LogicalNot 34
SelectionMerge 37 None
BranchConditional 35 36 37
36: Label
38: 24(ptr) AccessChain 13 23
39: 9(float) Load 38
40: 7(int) ConvertFToS 39
41: 6(bool) INotEqual 40 19
Branch 37
37: Label
42: 6(bool) Phi 34 31 41 36
SelectionMerge 44 None
BranchConditional 42 43 44
43: Label
Branch 44
44: Label
51: 50(ptr) AccessChain 47(psout) 14
Store 51 49
54: 50(ptr) AccessChain 47(psout) 14
55: 10(fvec4) Load 54
Store 53(Color) 55
Return
FunctionEnd