mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-14 13:51:04 +00:00
d3f1122a44
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.
281 lines
19 KiB
Plaintext
281 lines
19 KiB
Plaintext
hlsl.promote.binary.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
|
0:14 Function Parameters:
|
|
0:? Sequence
|
|
0:15 mod (temp float)
|
|
0:15 Convert int to float (temp float)
|
|
0:15 ival: direct index for structure (layout(offset=32 ) uniform int)
|
|
0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:15 Constant:
|
|
0:15 2 (const uint)
|
|
0:15 fval: direct index for structure (layout(offset=64 ) uniform float)
|
|
0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:15 Constant:
|
|
0:15 4 (const uint)
|
|
0:16 mod (temp 4-component vector of float)
|
|
0:16 Convert int to float (temp 4-component vector of float)
|
|
0:16 ival4: direct index for structure (layout(offset=48 ) uniform 4-component vector of int)
|
|
0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:16 Constant:
|
|
0:16 3 (const uint)
|
|
0:16 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float)
|
|
0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:16 Constant:
|
|
0:16 5 (const uint)
|
|
0:18 mod (temp float)
|
|
0:18 Convert bool to float (temp float)
|
|
0:18 bval: direct index for structure (layout(offset=0 ) uniform bool)
|
|
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:18 Constant:
|
|
0:18 0 (const uint)
|
|
0:18 fval: direct index for structure (layout(offset=64 ) uniform float)
|
|
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:18 Constant:
|
|
0:18 4 (const uint)
|
|
0:19 mod (temp 4-component vector of float)
|
|
0:19 Convert bool to float (temp 4-component vector of float)
|
|
0:19 bval4: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:19 Constant:
|
|
0:19 1 (const uint)
|
|
0:19 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float)
|
|
0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:19 Constant:
|
|
0:19 5 (const uint)
|
|
0:21 Sequence
|
|
0:21 move second child to first child (temp int)
|
|
0:21 'l_int' (temp int)
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:22 mod second child into first child (temp int)
|
|
0:22 'l_int' (temp int)
|
|
0:22 Convert float to int (temp int)
|
|
0:22 fval: direct index for structure (layout(offset=64 ) uniform float)
|
|
0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:22 Constant:
|
|
0:22 4 (const uint)
|
|
0:25 move second child to first child (temp 4-component vector of float)
|
|
0:25 Color: direct index for structure (temp 4-component vector of float)
|
|
0:25 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:25 Constant:
|
|
0:25 0 (const int)
|
|
0:25 Constant:
|
|
0:25 0.000000
|
|
0:25 0.000000
|
|
0:25 0.000000
|
|
0:25 0.000000
|
|
0:26 Sequence
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:26 Color: direct index for structure (temp 4-component vector of float)
|
|
0:26 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:26 Constant:
|
|
0:26 0 (const int)
|
|
0:26 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 bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
|
0:14 Function Parameters:
|
|
0:? Sequence
|
|
0:15 mod (temp float)
|
|
0:15 Convert int to float (temp float)
|
|
0:15 ival: direct index for structure (layout(offset=32 ) uniform int)
|
|
0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:15 Constant:
|
|
0:15 2 (const uint)
|
|
0:15 fval: direct index for structure (layout(offset=64 ) uniform float)
|
|
0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:15 Constant:
|
|
0:15 4 (const uint)
|
|
0:16 mod (temp 4-component vector of float)
|
|
0:16 Convert int to float (temp 4-component vector of float)
|
|
0:16 ival4: direct index for structure (layout(offset=48 ) uniform 4-component vector of int)
|
|
0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:16 Constant:
|
|
0:16 3 (const uint)
|
|
0:16 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float)
|
|
0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:16 Constant:
|
|
0:16 5 (const uint)
|
|
0:18 mod (temp float)
|
|
0:18 Convert bool to float (temp float)
|
|
0:18 bval: direct index for structure (layout(offset=0 ) uniform bool)
|
|
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:18 Constant:
|
|
0:18 0 (const uint)
|
|
0:18 fval: direct index for structure (layout(offset=64 ) uniform float)
|
|
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:18 Constant:
|
|
0:18 4 (const uint)
|
|
0:19 mod (temp 4-component vector of float)
|
|
0:19 Convert bool to float (temp 4-component vector of float)
|
|
0:19 bval4: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:19 Constant:
|
|
0:19 1 (const uint)
|
|
0:19 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float)
|
|
0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:19 Constant:
|
|
0:19 5 (const uint)
|
|
0:21 Sequence
|
|
0:21 move second child to first child (temp int)
|
|
0:21 'l_int' (temp int)
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:22 mod second child into first child (temp int)
|
|
0:22 'l_int' (temp int)
|
|
0:22 Convert float to int (temp int)
|
|
0:22 fval: direct index for structure (layout(offset=64 ) uniform float)
|
|
0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
0:22 Constant:
|
|
0:22 4 (const uint)
|
|
0:25 move second child to first child (temp 4-component vector of float)
|
|
0:25 Color: direct index for structure (temp 4-component vector of float)
|
|
0:25 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:25 Constant:
|
|
0:25 0 (const int)
|
|
0:25 Constant:
|
|
0:25 0.000000
|
|
0:25 0.000000
|
|
0:25 0.000000
|
|
0:25 0.000000
|
|
0:26 Sequence
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:26 Color: direct index for structure (temp 4-component vector of float)
|
|
0:26 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:26 Constant:
|
|
0:26 0 (const int)
|
|
0:26 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 bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 78
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 74
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 12 "$Global"
|
|
MemberName 12($Global) 0 "bval"
|
|
MemberName 12($Global) 1 "bval4"
|
|
MemberName 12($Global) 2 "ival"
|
|
MemberName 12($Global) 3 "ival4"
|
|
MemberName 12($Global) 4 "fval"
|
|
MemberName 12($Global) 5 "fval4"
|
|
Name 14 ""
|
|
Name 62 "l_int"
|
|
Name 68 "PS_OUTPUT"
|
|
MemberName 68(PS_OUTPUT) 0 "Color"
|
|
Name 70 "psout"
|
|
Name 74 "Color"
|
|
MemberDecorate 12($Global) 0 Offset 0
|
|
MemberDecorate 12($Global) 1 Offset 16
|
|
MemberDecorate 12($Global) 2 Offset 32
|
|
MemberDecorate 12($Global) 3 Offset 48
|
|
MemberDecorate 12($Global) 4 Offset 64
|
|
MemberDecorate 12($Global) 5 Offset 80
|
|
Decorate 12($Global) Block
|
|
Decorate 14 DescriptorSet 0
|
|
Decorate 74(Color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypeVector 6(int) 4
|
|
8: TypeInt 32 1
|
|
9: TypeVector 8(int) 4
|
|
10: TypeFloat 32
|
|
11: TypeVector 10(float) 4
|
|
12($Global): TypeStruct 6(int) 7(ivec4) 8(int) 9(ivec4) 10(float) 11(fvec4)
|
|
13: TypePointer Uniform 12($Global)
|
|
14: 13(ptr) Variable Uniform
|
|
15: 8(int) Constant 2
|
|
16: TypePointer Uniform 8(int)
|
|
20: 8(int) Constant 4
|
|
21: TypePointer Uniform 10(float)
|
|
25: 8(int) Constant 3
|
|
26: TypePointer Uniform 9(ivec4)
|
|
30: 8(int) Constant 5
|
|
31: TypePointer Uniform 11(fvec4)
|
|
35: 8(int) Constant 0
|
|
36: TypePointer Uniform 6(int)
|
|
39: TypeBool
|
|
40: 6(int) Constant 0
|
|
42: 10(float) Constant 0
|
|
43: 10(float) Constant 1065353216
|
|
48: 8(int) Constant 1
|
|
49: TypePointer Uniform 7(ivec4)
|
|
52: TypeVector 39(bool) 4
|
|
53: 7(ivec4) ConstantComposite 40 40 40 40
|
|
55: 11(fvec4) ConstantComposite 42 42 42 42
|
|
56: 11(fvec4) ConstantComposite 43 43 43 43
|
|
61: TypePointer Function 8(int)
|
|
68(PS_OUTPUT): TypeStruct 11(fvec4)
|
|
69: TypePointer Function 68(PS_OUTPUT)
|
|
71: TypePointer Function 11(fvec4)
|
|
73: TypePointer Output 11(fvec4)
|
|
74(Color): 73(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
62(l_int): 61(ptr) Variable Function
|
|
70(psout): 69(ptr) Variable Function
|
|
17: 16(ptr) AccessChain 14 15
|
|
18: 8(int) Load 17
|
|
19: 10(float) ConvertSToF 18
|
|
22: 21(ptr) AccessChain 14 20
|
|
23: 10(float) Load 22
|
|
24: 10(float) FMod 19 23
|
|
27: 26(ptr) AccessChain 14 25
|
|
28: 9(ivec4) Load 27
|
|
29: 11(fvec4) ConvertSToF 28
|
|
32: 31(ptr) AccessChain 14 30
|
|
33: 11(fvec4) Load 32
|
|
34: 11(fvec4) FMod 29 33
|
|
37: 36(ptr) AccessChain 14 35
|
|
38: 6(int) Load 37
|
|
41: 39(bool) INotEqual 38 40
|
|
44: 10(float) Select 41 43 42
|
|
45: 21(ptr) AccessChain 14 20
|
|
46: 10(float) Load 45
|
|
47: 10(float) FMod 44 46
|
|
50: 49(ptr) AccessChain 14 48
|
|
51: 7(ivec4) Load 50
|
|
54: 52(bvec4) INotEqual 51 53
|
|
57: 11(fvec4) Select 54 56 55
|
|
58: 31(ptr) AccessChain 14 30
|
|
59: 11(fvec4) Load 58
|
|
60: 11(fvec4) FMod 57 59
|
|
Store 62(l_int) 48
|
|
63: 21(ptr) AccessChain 14 20
|
|
64: 10(float) Load 63
|
|
65: 8(int) ConvertFToS 64
|
|
66: 8(int) Load 62(l_int)
|
|
67: 8(int) SMod 66 65
|
|
Store 62(l_int) 67
|
|
72: 71(ptr) AccessChain 70(psout) 35
|
|
Store 72 55
|
|
75: 71(ptr) AccessChain 70(psout) 35
|
|
76: 11(fvec4) Load 75
|
|
Store 74(Color) 76
|
|
Return
|
|
FunctionEnd
|