Commit 02467d8d by John Kessenich

HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.

This needs some render testing, but is destined to be part of master. This also leads to a variety of other simplifications. - IO are global symbols, so only need one list of linkage nodes (deferred) - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized - several parts of splitting/flattening are now localized
parent 18adbdbb
......@@ -2,7 +2,7 @@ hlsl.amend.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: f1( (temp void)
0:5 Function Definition: @f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:6 vector-scale (temp 4-component vector of float)
......@@ -14,6 +14,10 @@ gl_FragCoord origin is upper left
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 1 (const uint)
0:5 Function Definition: f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 Function Call: @f1( (temp void)
0:12 Function Definition: f2( (temp void)
0:12 Function Parameters:
0:? Sequence
......@@ -67,7 +71,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: f1( (temp void)
0:5 Function Definition: @f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:6 vector-scale (temp 4-component vector of float)
......@@ -79,6 +83,10 @@ gl_FragCoord origin is upper left
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 1 (const uint)
0:5 Function Definition: f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 Function Call: @f1( (temp void)
0:12 Function Definition: f2( (temp void)
0:12 Function Parameters:
0:? Sequence
......@@ -127,7 +135,7 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 47
// Id's are bound by 50
Capability Shader
1: ExtInstImport "GLSL.std.450"
......@@ -135,73 +143,79 @@ gl_FragCoord origin is upper left
EntryPoint Fragment 4 "f1"
ExecutionMode 4 OriginUpperLeft
Name 4 "f1"
Name 6 "f2("
Name 8 "f3("
Name 10 "f4("
Name 16 "$Global"
MemberName 16($Global) 0 "a"
MemberName 16($Global) 1 "b"
MemberName 16($Global) 2 "c"
MemberName 16($Global) 3 "d"
MemberName 16($Global) 4 "e"
Name 18 ""
MemberDecorate 16($Global) 0 Offset 0
MemberDecorate 16($Global) 1 Offset 16
MemberDecorate 16($Global) 2 Offset 32
MemberDecorate 16($Global) 3 Offset 44
MemberDecorate 16($Global) 4 Offset 48
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
Name 6 "@f1("
Name 8 "f2("
Name 10 "f3("
Name 12 "f4("
Name 18 "$Global"
MemberName 18($Global) 0 "a"
MemberName 18($Global) 1 "b"
MemberName 18($Global) 2 "c"
MemberName 18($Global) 3 "d"
MemberName 18($Global) 4 "e"
Name 20 ""
MemberDecorate 18($Global) 0 Offset 0
MemberDecorate 18($Global) 1 Offset 16
MemberDecorate 18($Global) 2 Offset 32
MemberDecorate 18($Global) 3 Offset 44
MemberDecorate 18($Global) 4 Offset 48
Decorate 18($Global) Block
Decorate 20 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
12: TypeFloat 32
13: TypeVector 12(float) 4
14: TypeVector 12(float) 3
15: TypeInt 32 1
16($Global): TypeStruct 13(fvec4) 12(float) 14(fvec3) 15(int) 15(int)
17: TypePointer Uniform 16($Global)
18: 17(ptr) Variable Uniform
19: 15(int) Constant 0
20: TypePointer Uniform 13(fvec4)
23: 15(int) Constant 1
24: TypePointer Uniform 12(float)
28: TypeInt 32 0
29: 28(int) Constant 0
35: 15(int) Constant 2
39: 15(int) Constant 3
40: TypePointer Uniform 15(int)
14: TypeFloat 32
15: TypeVector 14(float) 4
16: TypeVector 14(float) 3
17: TypeInt 32 1
18($Global): TypeStruct 15(fvec4) 14(float) 16(fvec3) 17(int) 17(int)
19: TypePointer Uniform 18($Global)
20: 19(ptr) Variable Uniform
21: 17(int) Constant 0
22: TypePointer Uniform 15(fvec4)
25: 17(int) Constant 1
26: TypePointer Uniform 14(float)
31: TypeInt 32 0
32: 31(int) Constant 0
38: 17(int) Constant 2
42: 17(int) Constant 3
43: TypePointer Uniform 17(int)
4(f1): 2 Function None 3
5: Label
21: 20(ptr) AccessChain 18 19
22: 13(fvec4) Load 21
25: 24(ptr) AccessChain 18 23
26: 12(float) Load 25
27: 13(fvec4) VectorTimesScalar 22 26
30: 2 FunctionCall 6(@f1()
Return
FunctionEnd
6(f2(): 2 Function None 3
6(@f1(): 2 Function None 3
7: Label
30: 24(ptr) AccessChain 18 19 29
31: 12(float) Load 30
32: 24(ptr) AccessChain 18 23
33: 12(float) Load 32
34: 12(float) FAdd 31 33
36: 24(ptr) AccessChain 18 35 29
37: 12(float) Load 36
38: 12(float) FAdd 34 37
23: 22(ptr) AccessChain 20 21
24: 15(fvec4) Load 23
27: 26(ptr) AccessChain 20 25
28: 14(float) Load 27
29: 15(fvec4) VectorTimesScalar 24 28
Return
FunctionEnd
8(f3(): 2 Function None 3
8(f2(): 2 Function None 3
9: Label
33: 26(ptr) AccessChain 20 21 32
34: 14(float) Load 33
35: 26(ptr) AccessChain 20 25
36: 14(float) Load 35
37: 14(float) FAdd 34 36
39: 26(ptr) AccessChain 20 38 32
40: 14(float) Load 39
41: 14(float) FAdd 37 40
Return
FunctionEnd
10(f4(): 2 Function None 3
10(f3(): 2 Function None 3
11: Label
41: 40(ptr) AccessChain 18 39
42: 15(int) Load 41
43: 12(float) ConvertSToF 42
44: 20(ptr) AccessChain 18 19
45: 13(fvec4) Load 44
46: 13(fvec4) VectorTimesScalar 45 43
Return
FunctionEnd
12(f4(): 2 Function None 3
13: Label
44: 43(ptr) AccessChain 20 42
45: 17(int) Load 44
46: 14(float) ConvertSToF 45
47: 22(ptr) AccessChain 20 21
48: 15(fvec4) Load 47
49: 15(fvec4) VectorTimesScalar 48 46
Return
FunctionEnd
......@@ -2,7 +2,7 @@ hlsl.attribute.expression.comp
Shader version: 450
local_size = (4, 6, 8)
0:? Sequence
0:9 Function Definition: main( (temp 4-component vector of float)
0:9 Function Definition: @main( (temp 4-component vector of float)
0:9 Function Parameters:
0:? Sequence
0:11 Sequence
......@@ -22,15 +22,18 @@ local_size = (4, 6, 8)
0:11 Loop Terminal Expression
0:11 Pre-Increment (temp int)
0:11 'x' (temp int)
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:14 Branch: Return
0:14 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
......@@ -42,7 +45,7 @@ Linked compute stage:
Shader version: 450
local_size = (4, 6, 8)
0:? Sequence
0:9 Function Definition: main( (temp 4-component vector of float)
0:9 Function Definition: @main( (temp 4-component vector of float)
0:9 Function Parameters:
0:? Sequence
0:11 Sequence
......@@ -62,77 +65,87 @@ local_size = (4, 6, 8)
0:11 Loop Terminal Expression
0:11 Pre-Increment (temp int)
0:11 'x' (temp int)
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:14 Branch: Return
0:14 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 34
// Id's are bound by 39
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 30
EntryPoint GLCompute 4 "main" 37
ExecutionMode 4 LocalSize 4 6 8
Name 4 "main"
Name 8 "x"
Name 16 "$Global"
MemberName 16($Global) 0 "bound"
Name 18 ""
Name 30 "@entryPointOutput"
MemberDecorate 16($Global) 0 Offset 0
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
Decorate 30(@entryPointOutput) Location 0
Name 9 "@main("
Name 13 "x"
Name 21 "$Global"
MemberName 21($Global) 0 "bound"
Name 23 ""
Name 37 "@entryPointOutput"
MemberDecorate 21($Global) 0 Offset 0
Decorate 21($Global) Block
Decorate 23 DescriptorSet 0
Decorate 37(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 0
16($Global): TypeStruct 6(int)
17: TypePointer Uniform 16($Global)
18: 17(ptr) Variable Uniform
19: TypePointer Uniform 6(int)
22: TypeBool
25: 6(int) Constant 1
27: TypeFloat 32
28: TypeVector 27(float) 4
29: TypePointer Output 28(fvec4)
30(@entryPointOutput): 29(ptr) Variable Output
31: 27(float) Constant 0
32: 28(fvec4) ConstantComposite 31 31 31 31
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypeInt 32 1
12: TypePointer Function 11(int)
14: 11(int) Constant 0
21($Global): TypeStruct 11(int)
22: TypePointer Uniform 21($Global)
23: 22(ptr) Variable Uniform
24: TypePointer Uniform 11(int)
27: TypeBool
30: 11(int) Constant 1
32: 6(float) Constant 0
33: 7(fvec4) ConstantComposite 32 32 32 32
36: TypePointer Output 7(fvec4)
37(@entryPointOutput): 36(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(x): 7(ptr) Variable Function
Store 8(x) 9
Branch 10
10: Label
LoopMerge 12 13 None
Branch 14
14: Label
15: 6(int) Load 8(x)
20: 19(ptr) AccessChain 18 9
21: 6(int) Load 20
23: 22(bool) SLessThan 15 21
BranchConditional 23 11 12
11: Label
Branch 13
13: Label
24: 6(int) Load 8(x)
26: 6(int) IAdd 24 25
Store 8(x) 26
Branch 10
12: Label
Store 30(@entryPointOutput) 32
38: 7(fvec4) FunctionCall 9(@main()
Store 37(@entryPointOutput) 38
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
13(x): 12(ptr) Variable Function
Store 13(x) 14
Branch 15
15: Label
LoopMerge 17 18 None
Branch 19
19: Label
20: 11(int) Load 13(x)
25: 24(ptr) AccessChain 23 14
26: 11(int) Load 25
28: 27(bool) SLessThan 20 26
BranchConditional 28 16 17
16: Label
Branch 18
18: Label
29: 11(int) Load 13(x)
31: 11(int) IAdd 29 30
Store 13(x) 31
Branch 15
17: Label
ReturnValue 33
FunctionEnd
......@@ -2,15 +2,23 @@ hlsl.attribute.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp void)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp void)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:11 Test condition and select (temp void)
0:11 Condition
0:11 Constant:
0:11 0 (const int)
0:11 true case is null
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp void)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
......@@ -21,44 +29,70 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp void)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp void)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:11 Test condition and select (temp void)
0:11 Condition
0:11 Constant:
0:11 0 (const int)
0:11 true case is null
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp void)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 14
// Id's are bound by 24
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 13
EntryPoint Fragment 4 "PixelShaderFunction" 19
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 13 "input"
Decorate 13(input) Location 0
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 17 "input"
Name 19 "input"
Name 21 "param"
Decorate 19(input) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: 6(int) Constant 0
10: TypeFloat 32
11: TypeVector 10(float) 4
12: TypePointer Input 11(fvec4)
13(input): 12(ptr) Variable Input
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 2 8(ptr)
13: TypeInt 32 1
14: 13(int) Constant 0
18: TypePointer Input 7(fvec4)
19(input): 18(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3
5: Label
SelectionMerge 9 None
BranchConditional 7 8 9
8: Label
Branch 9
9: Label
17(input): 8(ptr) Variable Function
21(param): 8(ptr) Variable Function
20: 7(fvec4) Load 19(input)
Store 17(input) 20
22: 7(fvec4) Load 17(input)
Store 21(param) 22
23: 2 FunctionCall 11(@PixelShaderFunction(vf4;) 21(param)
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 2 Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
SelectionMerge 16 None
BranchConditional 14 15 16
15: Label
Branch 16
16: Label
Return
FunctionEnd
......@@ -2,7 +2,7 @@ hlsl.basic.comp
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:4 Function Definition: main(i1;i1; (temp void)
0:4 Function Definition: @main(i1;i1; (temp void)
0:4 Function Parameters:
0:4 'dti' (in int GlobalInvocationID)
0:4 'gti' (in int LocalInvocationID)
......@@ -10,10 +10,22 @@ local_size = (1, 1, 1)
0:5 subtract (temp int)
0:5 'dti' (in int GlobalInvocationID)
0:5 'gti' (in int LocalInvocationID)
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 move second child to first child (temp int)
0:? 'dti' (temp int)
0:? 'dti' (in int GlobalInvocationID)
0:4 move second child to first child (temp int)
0:? 'gti' (temp int)
0:? 'gti' (in int LocalInvocationID)
0:4 Function Call: @main(i1;i1; (temp void)
0:? 'dti' (temp int)
0:? 'gti' (temp int)
0:? Linker Objects
0:? 'a' (shared 100-element array of 4-component vector of float)
0:? 'dti' (in int GlobalInvocationID)
0:? 'gti' (in int LocalInvocationID)
0:? 'a' (shared 100-element array of 4-component vector of float)
Linked compute stage:
......@@ -22,7 +34,7 @@ Linked compute stage:
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:4 Function Definition: main(i1;i1; (temp void)
0:4 Function Definition: @main(i1;i1; (temp void)
0:4 Function Parameters:
0:4 'dti' (in int GlobalInvocationID)
0:4 'gti' (in int LocalInvocationID)
......@@ -30,43 +42,83 @@ local_size = (1, 1, 1)
0:5 subtract (temp int)
0:5 'dti' (in int GlobalInvocationID)
0:5 'gti' (in int LocalInvocationID)
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 move second child to first child (temp int)
0:? 'dti' (temp int)
0:? 'dti' (in int GlobalInvocationID)
0:4 move second child to first child (temp int)
0:? 'gti' (temp int)
0:? 'gti' (in int LocalInvocationID)
0:4 Function Call: @main(i1;i1; (temp void)
0:? 'dti' (temp int)
0:? 'gti' (temp int)
0:? Linker Objects
0:? 'a' (shared 100-element array of 4-component vector of float)
0:? 'dti' (in int GlobalInvocationID)
0:? 'gti' (in int LocalInvocationID)
0:? 'a' (shared 100-element array of 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 20
// Id's are bound by 35
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 8 10
EntryPoint GLCompute 4 "main" 18 21
ExecutionMode 4 LocalSize 1 1 1
Name 4 "main"
Name 8 "dti"
Name 11 "@main(i1;i1;"
Name 9 "dti"
Name 10 "gti"
Name 19 "a"
Decorate 8(dti) BuiltIn GlobalInvocationId
Decorate 10(gti) BuiltIn LocalInvocationId
Name 16 "dti"
Name 18 "dti"
Name 20 "gti"
Name 21 "gti"
Name 23 "param"
Name 25 "param"
Name 34 "a"
Decorate 18(dti) BuiltIn GlobalInvocationId
Decorate 21(gti) BuiltIn LocalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Input 6(int)
8(dti): 7(ptr) Variable Input
10(gti): 7(ptr) Variable Input
13: TypeFloat 32
14: TypeVector 13(float) 4
15: TypeInt 32 0
16: 15(int) Constant 100
17: TypeArray 14(fvec4) 16
18: TypePointer Workgroup 17
19(a): 18(ptr) Variable Workgroup
7: TypePointer Function 6(int)
8: TypeFunction 2 7(ptr) 7(ptr)
17: TypePointer Input 6(int)
18(dti): 17(ptr) Variable Input
21(gti): 17(ptr) Variable Input
28: TypeFloat 32
29: TypeVector 28(float) 4
30: TypeInt 32 0
31: 30(int) Constant 100
32: TypeArray 29(fvec4) 31
33: TypePointer Workgroup 32
34(a): 33(ptr) Variable Workgroup
4(main): 2 Function None 3
5: Label
9: 6(int) Load 8(dti)
11: 6(int) Load 10(gti)
12: 6(int) ISub 9 11
16(dti): 7(ptr) Variable Function
20(gti): 7(ptr) Variable Function
23(param): 7(ptr) Variable Function
25(param): 7(ptr) Variable Function
19: 6(int) Load 18(dti)
Store 16(dti) 19
22: 6(int) Load 21(gti)
Store 20(gti) 22
24: 6(int) Load 16(dti)
Store 23(param) 24
26: 6(int) Load 20(gti)
Store 25(param) 26
27: 2 FunctionCall 11(@main(i1;i1;) 23(param) 25(param)
Return
FunctionEnd
11(@main(i1;i1;): 2 Function None 8
9(dti): 7(ptr) FunctionParameter
10(gti): 7(ptr) FunctionParameter
12: Label
13: 6(int) Load 9(dti)
14: 6(int) Load 10(gti)
15: 6(int) ISub 13 14
Return
FunctionEnd
......@@ -14,7 +14,7 @@ ERROR: 9 compilation errors. No code generated.
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
......@@ -151,24 +151,28 @@ ERROR: node is still EOpNull!
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 0 (const int)
0:43 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:43 Depth: direct index for structure (temp float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 1 (const int)
0:43 Branch: Return
0:43 Branch: Return with expression
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
......@@ -180,6 +184,8 @@ ERROR: node is still EOpNull!
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
......@@ -188,7 +194,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
......@@ -325,24 +331,28 @@ ERROR: node is still EOpNull!
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 0 (const int)
0:43 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:43 Depth: direct index for structure (temp float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 1 (const int)
0:43 Branch: Return
0:43 Branch: Return with expression
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
......@@ -354,5 +364,7 @@ ERROR: node is still EOpNull!
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
SPIR-V is not generated for failed compile or link
......@@ -2,26 +2,33 @@ hlsl.cast.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 Branch: Return with expression
0:3 add (temp 4-component vector of float)
0:3 add (temp 4-component vector of float)
0:3 add (temp 4-component vector of float)
0:3 Construct vec4 (temp 4-component vector of float)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 Convert int to float (temp 4-component vector of float)
0:3 Convert float to int (temp 4-component vector of int)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 Constant:
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 Branch: Return
0:3 Construct vec4 (temp 4-component vector of float)
0:3 'input' (in 4-component vector of float)
0:3 Convert int to float (temp 4-component vector of float)
0:3 Convert float to int (temp 4-component vector of int)
0:3 'input' (in 4-component vector of float)
0:3 Constant:
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
......@@ -33,69 +40,94 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 Branch: Return with expression
0:3 add (temp 4-component vector of float)
0:3 add (temp 4-component vector of float)
0:3 add (temp 4-component vector of float)
0:3 Construct vec4 (temp 4-component vector of float)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 Convert int to float (temp 4-component vector of float)
0:3 Convert float to int (temp 4-component vector of int)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 Constant:
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 Branch: Return
0:3 Construct vec4 (temp 4-component vector of float)
0:3 'input' (in 4-component vector of float)
0:3 Convert int to float (temp 4-component vector of float)
0:3 Convert float to int (temp 4-component vector of int)
0:3 'input' (in 4-component vector of float)
0:3 Constant:
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 28
// Id's are bound by 39
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11
EntryPoint Fragment 4 "PixelShaderFunction" 32 35
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 11 "input"
Decorate 9(@entryPointOutput) Location 0
Decorate 11(input) Location 0
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 30 "input"
Name 32 "input"
Name 35 "@entryPointOutput"
Name 36 "param"
Decorate 32(input) Location 0
Decorate 35(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypePointer Input 7(fvec4)
11(input): 10(ptr) Variable Input
19: TypeInt 32 1
20: TypeVector 19(int) 4
24: 6(float) Constant 1067014160
25: 7(fvec4) ConstantComposite 24 24 24 24
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
20: TypeInt 32 1
21: TypeVector 20(int) 4
25: 6(float) Constant 1067014160
26: 7(fvec4) ConstantComposite 25 25 25 25
31: TypePointer Input 7(fvec4)
32(input): 31(ptr) Variable Input
34: TypePointer Output 7(fvec4)
35(@entryPointOutput): 34(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(input)
13: 6(float) CompositeExtract 12 0
14: 6(float) CompositeExtract 12 1
15: 6(float) CompositeExtract 12 2
16: 6(float) CompositeExtract 12 3
17: 7(fvec4) CompositeConstruct 13 14 15 16
18: 7(fvec4) Load 11(input)
21: 20(ivec4) ConvertFToS 18
22: 7(fvec4) ConvertSToF 21
23: 7(fvec4) FAdd 17 22
26: 7(fvec4) FAdd 23 25
Store 9(@entryPointOutput) 26
30(input): 8(ptr) Variable Function
36(param): 8(ptr) Variable Function
33: 7(fvec4) Load 32(input)
Store 30(input) 33
37: 7(fvec4) Load 30(input)
Store 36(param) 37
38: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 36(param)
Store 35(@entryPointOutput) 38
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
13: 7(fvec4) Load 10(input)
14: 6(float) CompositeExtract 13 0
15: 6(float) CompositeExtract 13 1
16: 6(float) CompositeExtract 13 2
17: 6(float) CompositeExtract 13 3
18: 7(fvec4) CompositeConstruct 14 15 16 17
19: 7(fvec4) Load 10(input)
22: 21(ivec4) ConvertFToS 19
23: 7(fvec4) ConvertSToF 22
24: 7(fvec4) FAdd 18 23
27: 7(fvec4) FAdd 24 26
ReturnValue 27
FunctionEnd
......@@ -2,7 +2,7 @@ hlsl.constructexpr.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:4 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:4 Function Parameters:
0:? Sequence
0:6 Constant:
......@@ -34,15 +34,18 @@ gl_FragCoord origin is upper left
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:16 Sequence
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 color: direct index for structure (temp 4-component vector of float)
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:16 Constant:
0:16 0 (const int)
0:16 Branch: Return
0:16 Branch: Return with expression
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 Sequence
0:4 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:4 color: direct index for structure (temp 4-component vector of float)
0:4 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:4 Constant:
0:4 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
......@@ -53,7 +56,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:4 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:4 Function Parameters:
0:? Sequence
0:6 Constant:
......@@ -85,66 +88,76 @@ gl_FragCoord origin is upper left
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:16 Sequence
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 color: direct index for structure (temp 4-component vector of float)
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:16 Constant:
0:16 0 (const int)
0:16 Branch: Return
0:16 Branch: Return with expression
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 Sequence
0:4 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:4 color: direct index for structure (temp 4-component vector of float)
0:4 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:4 Constant:
0:4 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 35
// Id's are bound by 40
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 31
EntryPoint Fragment 4 "main" 37
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 22 "PS_OUTPUT"
MemberName 22(PS_OUTPUT) 0 "color"
Name 24 "ps_output"
Name 31 "color"
Decorate 31(color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "color"
Name 10 "@main("
Name 27 "ps_output"
Name 37 "color"
Decorate 37(color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: 6(int) Constant 3
8: 6(int) Constant 4
9: 6(int) Constant 5
10: 6(int) Constant 6
11: 6(int) Constant 7
12: 6(int) Constant 8
13: TypeFloat 32
14: TypeVector 13(float) 2
15: 13(float) Constant 1091567616
16: 13(float) Constant 1092616192
17: 14(fvec2) ConstantComposite 15 16
18: 13(float) Constant 1093664768
19: 13(float) Constant 1094713344
20: 14(fvec2) ConstantComposite 18 19
21: TypeVector 13(float) 4
22(PS_OUTPUT): TypeStruct 21(fvec4)
23: TypePointer Function 22(PS_OUTPUT)
25: 6(int) Constant 0
26: 13(float) Constant 1065353216
27: 21(fvec4) ConstantComposite 26 26 26 26
28: TypePointer Function 21(fvec4)
30: TypePointer Output 21(fvec4)
31(color): 30(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 1
13: 12(int) Constant 3
14: 12(int) Constant 4
15: 12(int) Constant 5
16: 12(int) Constant 6
17: 12(int) Constant 7
18: 12(int) Constant 8
19: TypeVector 6(float) 2
20: 6(float) Constant 1091567616
21: 6(float) Constant 1092616192
22: 19(fvec2) ConstantComposite 20 21
23: 6(float) Constant 1093664768
24: 6(float) Constant 1094713344
25: 19(fvec2) ConstantComposite 23 24
26: TypePointer Function 8(PS_OUTPUT)
28: 12(int) Constant 0
29: 6(float) Constant 1065353216
30: 7(fvec4) ConstantComposite 29 29 29 29
31: TypePointer Function 7(fvec4)
36: TypePointer Output 7(fvec4)
37(color): 36(ptr) Variable Output
4(main): 2 Function None 3
5: Label
24(ps_output): 23(ptr) Variable Function
29: 28(ptr) AccessChain 24(ps_output) 25
Store 29 27
32: 28(ptr) AccessChain 24(ps_output) 25
33: 21(fvec4) Load 32
Store 31(color) 33
38:8(PS_OUTPUT) FunctionCall 10(@main()
39: 7(fvec4) CompositeExtract 38 0
Store 37(color) 39
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
27(ps_output): 26(ptr) Variable Function
32: 31(ptr) AccessChain 27(ps_output) 28
Store 32 30
33:8(PS_OUTPUT) Load 27(ps_output)
ReturnValue 33
FunctionEnd
hlsl.deadFunctionMissingBody.vert
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 13
// Id's are bound by 18
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9
EntryPoint Vertex 4 "main" 16
Name 4 "main"
Name 9 "@entryPointOutput"
Decorate 9(@entryPointOutput) Location 0
Name 9 "@main("
Name 16 "@entryPointOutput"
Decorate 16(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: 6(float) Constant 0
11: 7(fvec4) ConstantComposite 10 10 10 10
8: TypeFunction 7(fvec4)
11: 6(float) Constant 0
12: 7(fvec4) ConstantComposite 11 11 11 11
15: TypePointer Output 7(fvec4)
16(@entryPointOutput): 15(ptr) Variable Output
4(main): 2 Function None 3
5: Label
Store 9(@entryPointOutput) 11
17: 7(fvec4) FunctionCall 9(@main()
Store 16(@entryPointOutput) 17
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
ReturnValue 12
FunctionEnd
......@@ -3,14 +3,22 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_greater
0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1; (temp void)
0:2 Function Definition: @PixelShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'depth' (out float FragDepth)
0:2 'depth' (out float unknown built-in variable)
0:? Sequence
0:3 move second child to first child (temp float)
0:3 'depth' (out float FragDepth)
0:3 'depth' (out float unknown built-in variable)
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 Function Call: @PixelShaderFunction(f1; (temp void)
0:? 'depth' (temp float)
0:2 move second child to first child (temp float)
0:? 'depth' (out float FragDepth)
0:? 'depth' (temp float)
0:? Linker Objects
0:? 'depth' (out float FragDepth)
......@@ -22,38 +30,64 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_greater
0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1; (temp void)
0:2 Function Definition: @PixelShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'depth' (out float FragDepth)
0:2 'depth' (out float unknown built-in variable)
0:? Sequence
0:3 move second child to first child (temp float)
0:3 'depth' (out float FragDepth)
0:3 'depth' (out float unknown built-in variable)
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 Function Call: @PixelShaderFunction(f1; (temp void)
0:? 'depth' (temp float)
0:2 move second child to first child (temp float)
0:? 'depth' (out float FragDepth)
0:? 'depth' (temp float)
0:? Linker Objects
0:? 'depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 10
// Id's are bound by 20
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 8
EntryPoint Fragment 4 "PixelShaderFunction" 18
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthGreater
Name 4 "PixelShaderFunction"
Name 8 "depth"
Decorate 8(depth) BuiltIn FragDepth
Name 10 "@PixelShaderFunction(f1;"
Name 9 "depth"
Name 13 "depth"
Name 14 "param"
Name 18 "depth"
Decorate 18(depth) BuiltIn FragDepth
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Output 6(float)
8(depth): 7(ptr) Variable Output
9: 6(float) Constant 1045220557
7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr)
12: 6(float) Constant 1045220557
17: TypePointer Output 6(float)
18(depth): 17(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
Store 8(depth) 9
13(depth): 7(ptr) Variable Function
14(param): 7(ptr) Variable Function
15: 2 FunctionCall 10(@PixelShaderFunction(f1;) 14(param)
16: 6(float) Load 14(param)
Store 13(depth) 16
19: 6(float) Load 13(depth)
Store 18(depth) 19
Return
FunctionEnd
10(@PixelShaderFunction(f1;): 2 Function None 8
9(depth): 7(ptr) FunctionParameter
11: Label
Store 9(depth) 12
Return
FunctionEnd
......@@ -3,17 +3,20 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2 Function Definition: PixelShaderFunction( (temp float FragDepth)
0:2 Function Definition: @PixelShaderFunction( (temp float unknown built-in variable)
0:2 Function Parameters:
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp float)
0:? '@entryPointOutput' (out float unknown built-in variable)
0:3 Constant:
0:3 0.200000
0:3 Branch: Return
0:3 Branch: Return with expression
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp float)
0:? '@entryPointOutput' (out float FragDepth)
0:2 Function Call: @PixelShaderFunction( (temp float unknown built-in variable)
0:? Linker Objects
0:? '@entryPointOutput' (out float unknown built-in variable)
0:? '@entryPointOutput' (out float FragDepth)
Linked fragment stage:
......@@ -23,38 +26,49 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2 Function Definition: PixelShaderFunction( (temp float FragDepth)
0:2 Function Definition: @PixelShaderFunction( (temp float unknown built-in variable)
0:2 Function Parameters:
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp float)
0:? '@entryPointOutput' (out float unknown built-in variable)
0:3 Constant:
0:3 0.200000
0:3 Branch: Return
0:3 Branch: Return with expression
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp float)
0:? '@entryPointOutput' (out float FragDepth)
0:2 Function Call: @PixelShaderFunction( (temp float unknown built-in variable)
0:? Linker Objects
0:? '@entryPointOutput' (out float unknown built-in variable)
0:? '@entryPointOutput' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 11
// Id's are bound by 16
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 8
EntryPoint Fragment 4 "PixelShaderFunction" 14
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthLess
Name 4 "PixelShaderFunction"
Name 8 "@entryPointOutput"
Name 8 "@PixelShaderFunction("
Name 14 "@entryPointOutput"
Decorate 14(@entryPointOutput) BuiltIn FragDepth
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Output 6(float)
8(@entryPointOutput): 7(ptr) Variable Output
9: 6(float) Constant 1045220557
7: TypeFunction 6(float)
10: 6(float) Constant 1045220557
13: TypePointer Output 6(float)
14(@entryPointOutput): 13(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
Store 8(@entryPointOutput) 9
15: 6(float) FunctionCall 8(@PixelShaderFunction()
Store 14(@entryPointOutput) 15
Return
FunctionEnd
8(@PixelShaderFunction(): 6(float) Function None 7
9: Label
ReturnValue 10
FunctionEnd
......@@ -14,19 +14,19 @@ gl_FragCoord origin is upper left
0:3 1.000000
0:3 true case
0:4 Branch: Kill
0:8 Function Definition: PixelShaderFunction(vf4; (temp void)
0:8 Function Definition: @PixelShaderFunction(vf4; (temp void)
0:8 Function Parameters:
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:8 'input' (in 4-component vector of float)
0:? Sequence
0:9 Function Call: foo(f1; (temp void)
0:9 direct index (temp float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:9 Constant:
0:9 2 (const int)
0:10 Test condition and select (temp void)
0:10 Condition
0:10 direct index (temp float)
0:10 'input' (layout(location=0 ) in 4-component vector of float)
0:10 'input' (in 4-component vector of float)
0:10 Constant:
0:10 0 (const int)
0:10 true case
......@@ -35,10 +35,18 @@ gl_FragCoord origin is upper left
0:12 move second child to first child (temp float)
0:12 'f' (temp float)
0:12 direct index (temp float)
0:12 'input' (layout(location=0 ) in 4-component vector of float)
0:12 'input' (in 4-component vector of float)
0:12 Constant:
0:12 0 (const int)
0:13 Branch: Kill
0:8 Function Definition: PixelShaderFunction( (temp void)
0:8 Function Parameters:
0:? Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:8 Function Call: @PixelShaderFunction(vf4; (temp void)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
......@@ -61,19 +69,19 @@ gl_FragCoord origin is upper left
0:3 1.000000
0:3 true case
0:4 Branch: Kill
0:8 Function Definition: PixelShaderFunction(vf4; (temp void)
0:8 Function Definition: @PixelShaderFunction(vf4; (temp void)
0:8 Function Parameters:
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:8 'input' (in 4-component vector of float)
0:? Sequence
0:9 Function Call: foo(f1; (temp void)
0:9 direct index (temp float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:9 Constant:
0:9 2 (const int)
0:10 Test condition and select (temp void)
0:10 Condition
0:10 direct index (temp float)
0:10 'input' (layout(location=0 ) in 4-component vector of float)
0:10 'input' (in 4-component vector of float)
0:10 Constant:
0:10 0 (const int)
0:10 true case
......@@ -82,72 +90,97 @@ gl_FragCoord origin is upper left
0:12 move second child to first child (temp float)
0:12 'f' (temp float)
0:12 direct index (temp float)
0:12 'input' (layout(location=0 ) in 4-component vector of float)
0:12 'input' (in 4-component vector of float)
0:12 Constant:
0:12 0 (const int)
0:13 Branch: Kill
0:8 Function Definition: PixelShaderFunction( (temp void)
0:8 Function Parameters:
0:? Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:8 Function Call: @PixelShaderFunction(vf4; (temp void)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 39
// Id's are bound by 48
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 21
EntryPoint Fragment 4 "PixelShaderFunction" 43
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 10 "foo(f1;"
Name 9 "f"
Name 21 "input"
Name 22 "param"
Name 35 "f"
Decorate 21(input) Location 0
Name 16 "@PixelShaderFunction(vf4;"
Name 15 "input"
Name 25 "param"
Name 37 "f"
Name 41 "input"
Name 43 "input"
Name 45 "param"
Decorate 43(input) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr)
13: 6(float) Constant 1065353216
14: TypeBool
19: TypeVector 6(float) 4
20: TypePointer Input 19(fvec4)
21(input): 20(ptr) Variable Input
23: TypeInt 32 0
24: 23(int) Constant 2
25: TypePointer Input 6(float)
29: 23(int) Constant 0
12: TypeVector 6(float) 4
13: TypePointer Function 12(fvec4)
14: TypeFunction 2 13(ptr)
19: 6(float) Constant 1065353216
20: TypeBool
26: TypeInt 32 0
27: 26(int) Constant 2
31: 26(int) Constant 0
42: TypePointer Input 12(fvec4)
43(input): 42(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3
5: Label
22(param): 7(ptr) Variable Function
35(f): 7(ptr) Variable Function
26: 25(ptr) AccessChain 21(input) 24
27: 6(float) Load 26
Store 22(param) 27
28: 2 FunctionCall 10(foo(f1;) 22(param)
30: 25(ptr) AccessChain 21(input) 29
31: 6(float) Load 30
SelectionMerge 33 None
BranchConditional 31 32 33
32: Label
Kill
33: Label
36: 25(ptr) AccessChain 21(input) 29
37: 6(float) Load 36
Store 35(f) 37
Kill
41(input): 13(ptr) Variable Function
45(param): 13(ptr) Variable Function
44: 12(fvec4) Load 43(input)
Store 41(input) 44
46: 12(fvec4) Load 41(input)
Store 45(param) 46
47: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 45(param)
Return
FunctionEnd
10(foo(f1;): 2 Function None 8
9(f): 7(ptr) FunctionParameter
11: Label
12: 6(float) Load 9(f)
15: 14(bool) FOrdLessThan 12 13
SelectionMerge 17 None
BranchConditional 15 16 17
16: Label
18: 6(float) Load 9(f)
21: 20(bool) FOrdLessThan 18 19
SelectionMerge 23 None
BranchConditional 21 22 23
22: Label
Kill
17: Label
23: Label
Return
FunctionEnd
16(@PixelShaderFunction(vf4;): 2 Function None 14
15(input): 13(ptr) FunctionParameter
17: Label
25(param): 7(ptr) Variable Function
37(f): 7(ptr) Variable Function
28: 7(ptr) AccessChain 15(input) 27
29: 6(float) Load 28
Store 25(param) 29
30: 2 FunctionCall 10(foo(f1;) 25(param)
32: 7(ptr) AccessChain 15(input) 31
33: 6(float) Load 32
SelectionMerge 35 None
BranchConditional 33 34 35
34: Label
Kill
35: Label
38: 7(ptr) AccessChain 15(input) 31
39: 6(float) Load 38
Store 37(f) 39
Kill
FunctionEnd
......@@ -4,7 +4,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: not_the_entry_point( (temp void)
0:7 Function Parameters:
0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: @main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp 4-component vector of float)
......@@ -17,15 +17,18 @@ gl_FragCoord origin is upper left
0:13 0.000000
0:13 0.000000
0:13 0.000000
0:14 Sequence
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Color: direct index for structure (temp 4-component vector of float)
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:14 Constant:
0:14 0 (const int)
0:14 Branch: Return
0:14 Branch: Return with expression
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: main_in_spv( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:11 Color: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Constant:
0:11 0 (const int)
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 also_not_the_entry_point})
......@@ -39,7 +42,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: not_the_entry_point( (temp void)
0:7 Function Parameters:
0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: @main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp 4-component vector of float)
......@@ -52,68 +55,78 @@ gl_FragCoord origin is upper left
0:13 0.000000
0:13 0.000000
0:13 0.000000
0:14 Sequence
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Color: direct index for structure (temp 4-component vector of float)
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:14 Constant:
0:14 0 (const int)
0:14 Branch: Return
0:14 Branch: Return with expression
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: main_in_spv( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:11 Color: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Constant:
0:11 0 (const int)
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 also_not_the_entry_point})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 27
// Id's are bound by 32
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main_in_spv" 20
EntryPoint Fragment 4 "main_in_spv" 26
ExecutionMode 4 OriginUpperLeft
Name 4 "main_in_spv"
Name 6 "not_the_entry_point("
Name 10 "PS_OUTPUT"
MemberName 10(PS_OUTPUT) 0 "Color"
Name 12 "psout"
Name 20 "Color"
Name 24 "$Global"
MemberName 24($Global) 0 "also_not_the_entry_point"
Name 26 ""
Decorate 20(Color) Location 0
MemberDecorate 24($Global) 0 Offset 0
Decorate 24($Global) Block
Decorate 26 DescriptorSet 0
Name 12 "@main_in_spv("
Name 15 "psout"
Name 26 "Color"
Name 29 "$Global"
MemberName 29($Global) 0 "also_not_the_entry_point"
Name 31 ""
Decorate 26(Color) Location 0
MemberDecorate 29($Global) 0 Offset 0
Decorate 29($Global) Block
Decorate 31 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
8: TypeFloat 32
9: TypeVector 8(float) 4
10(PS_OUTPUT): TypeStruct 9(fvec4)
11: TypePointer Function 10(PS_OUTPUT)
13: TypeInt 32 1
14: 13(int) Constant 0
15: 8(float) Constant 0
16: 9(fvec4) ConstantComposite 15 15 15 15
17: TypePointer Function 9(fvec4)
19: TypePointer Output 9(fvec4)
20(Color): 19(ptr) Variable Output
24($Global): TypeStruct 13(int)
25: TypePointer Uniform 24($Global)
26: 25(ptr) Variable Uniform
11: TypeFunction 10(PS_OUTPUT)
14: TypePointer Function 10(PS_OUTPUT)
16: TypeInt 32 1
17: 16(int) Constant 0
18: 8(float) Constant 0
19: 9(fvec4) ConstantComposite 18 18 18 18
20: TypePointer Function 9(fvec4)
25: TypePointer Output 9(fvec4)
26(Color): 25(ptr) Variable Output
29($Global): TypeStruct 16(int)
30: TypePointer Uniform 29($Global)
31: 30(ptr) Variable Uniform
4(main_in_spv): 2 Function None 3
5: Label
12(psout): 11(ptr) Variable Function
18: 17(ptr) AccessChain 12(psout) 14
Store 18 16
21: 17(ptr) AccessChain 12(psout) 14
22: 9(fvec4) Load 21
Store 20(Color) 22
27:10(PS_OUTPUT) FunctionCall 12(@main_in_spv()
28: 9(fvec4) CompositeExtract 27 0
Store 26(Color) 28
Return
FunctionEnd
6(not_the_entry_point(): 2 Function None 3
7: Label
Return
FunctionEnd
12(@main_in_spv():10(PS_OUTPUT) Function None 11
13: Label
15(psout): 14(ptr) Variable Function
21: 20(ptr) AccessChain 15(psout) 17
Store 21 19
22:10(PS_OUTPUT) Load 15(psout)
ReturnValue 22
FunctionEnd
......@@ -7,7 +7,7 @@ ERROR: 2 compilation errors. No code generated.
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Parameters:
0:? Sequence
0:16 Sequence
......@@ -43,27 +43,33 @@ ERROR: node is still EOpNull!
0:20 1 (const int)
0:20 Constant:
0:20 1.000000
0:22 Sequence
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:22 Color: direct index for structure (temp 4-component vector of float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:22 Depth: direct index for structure (temp float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 Constant:
0:22 1 (const int)
0:22 Branch: Return
0:22 Branch: Return with expression
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Definition: main( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 Sequence
0:13 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:13 Color: direct index for structure (temp 4-component vector of float)
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:13 Depth: direct index for structure (temp float)
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Constant:
0:13 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
......@@ -72,7 +78,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Parameters:
0:? Sequence
0:16 Sequence
......@@ -108,26 +114,32 @@ ERROR: node is still EOpNull!
0:20 1 (const int)
0:20 Constant:
0:20 1.000000
0:22 Sequence
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:22 Color: direct index for structure (temp 4-component vector of float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:22 Depth: direct index for structure (temp float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 Constant:
0:22 1 (const int)
0:22 Branch: Return
0:22 Branch: Return with expression
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Definition: main( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 Sequence
0:13 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:13 Color: direct index for structure (temp 4-component vector of float)
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:13 Depth: direct index for structure (temp float)
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Constant:
0:13 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
SPIR-V is not generated for failed compile or link
......@@ -8,7 +8,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:9 Branch: Return with expression
0:9 'x' (in int)
0:12 Function Definition: main( (temp 4-component vector of float)
0:12 Function Definition: @main( (temp 4-component vector of float)
0:12 Function Parameters:
0:? Sequence
0:15 Sequence
......@@ -19,21 +19,24 @@ gl_FragCoord origin is upper left
0:? 4.000000
0:? 5.000000
0:? 6.000000
0:17 Sequence
0:17 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:17 vector swizzle (temp 4-component vector of float)
0:17 'sample' (temp 4-component vector of float)
0:17 Sequence
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1 (const int)
0:17 Constant:
0:17 2 (const int)
0:17 Constant:
0:17 3 (const int)
0:17 Branch: Return
0:17 Branch: Return with expression
0:17 vector swizzle (temp 4-component vector of float)
0:17 'sample' (temp 4-component vector of float)
0:17 Sequence
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1 (const int)
0:17 Constant:
0:17 2 (const int)
0:17 Constant:
0:17 3 (const int)
0:12 Function Definition: main( (temp void)
0:12 Function Parameters:
0:? Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:12 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
......@@ -50,7 +53,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:9 Branch: Return with expression
0:9 'x' (in int)
0:12 Function Definition: main( (temp 4-component vector of float)
0:12 Function Definition: @main( (temp 4-component vector of float)
0:12 Function Parameters:
0:? Sequence
0:15 Sequence
......@@ -61,65 +64,75 @@ gl_FragCoord origin is upper left
0:? 4.000000
0:? 5.000000
0:? 6.000000
0:17 Sequence
0:17 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:17 vector swizzle (temp 4-component vector of float)
0:17 'sample' (temp 4-component vector of float)
0:17 Sequence
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1 (const int)
0:17 Constant:
0:17 2 (const int)
0:17 Constant:
0:17 3 (const int)
0:17 Branch: Return
0:17 Branch: Return with expression
0:17 vector swizzle (temp 4-component vector of float)
0:17 'sample' (temp 4-component vector of float)
0:17 Sequence
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1 (const int)
0:17 Constant:
0:17 2 (const int)
0:17 Constant:
0:17 3 (const int)
0:12 Function Definition: main( (temp void)
0:12 Function Parameters:
0:? Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:12 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 28
// Id's are bound by 33
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 25
EntryPoint Fragment 4 "main" 31
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 10 "sample(i1;"
Name 9 "x"
Name 18 "sample"
Name 25 "@entryPointOutput"
Decorate 25(@entryPointOutput) Location 0
Name 15 "@main("
Name 21 "sample"
Name 31 "@entryPointOutput"
Decorate 31(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
8: TypeFunction 6(int) 7(ptr)
15: TypeFloat 32
16: TypeVector 15(float) 4
17: TypePointer Function 16(fvec4)
19: 15(float) Constant 1077936128
20: 15(float) Constant 1082130432
21: 15(float) Constant 1084227584
22: 15(float) Constant 1086324736
23: 16(fvec4) ConstantComposite 19 20 21 22
24: TypePointer Output 16(fvec4)
25(@entryPointOutput): 24(ptr) Variable Output
12: TypeFloat 32
13: TypeVector 12(float) 4
14: TypeFunction 13(fvec4)
20: TypePointer Function 13(fvec4)
22: 12(float) Constant 1077936128
23: 12(float) Constant 1082130432
24: 12(float) Constant 1084227584
25: 12(float) Constant 1086324736
26: 13(fvec4) ConstantComposite 22 23 24 25
30: TypePointer Output 13(fvec4)
31(@entryPointOutput): 30(ptr) Variable Output
4(main): 2 Function None 3
5: Label
18(sample): 17(ptr) Variable Function
Store 18(sample) 23
26: 16(fvec4) Load 18(sample)
Store 25(@entryPointOutput) 26
32: 13(fvec4) FunctionCall 15(@main()
Store 31(@entryPointOutput) 32
Return
FunctionEnd
10(sample(i1;): 6(int) Function None 8
9(x): 7(ptr) FunctionParameter
11: Label
12: 6(int) Load 9(x)
ReturnValue 12
17: 6(int) Load 9(x)
ReturnValue 17
FunctionEnd
15(@main(): 13(fvec4) Function None 14
16: Label
21(sample): 20(ptr) Variable Function
Store 21(sample) 26
27: 13(fvec4) Load 21(sample)
ReturnValue 27
FunctionEnd
......@@ -2,7 +2,7 @@ hlsl.intrinsics.barriers.comp
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:3 Function Definition: ComputeShaderFunction( (temp float)
0:3 Function Definition: @ComputeShaderFunction( (temp float)
0:3 Function Parameters:
0:? Sequence
0:4 MemoryBarrier (temp void)
......@@ -11,12 +11,15 @@ local_size = (1, 1, 1)
0:7 GroupMemoryBarrierWithGroupSync (temp void)
0:8 WorkgroupMemoryBarrier (temp void)
0:9 WorkgroupMemoryBarrierWithGroupSync (temp void)
0:11 Sequence
0:11 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:11 Constant:
0:11 0.000000
0:11 Branch: Return
0:11 Branch: Return with expression
0:11 Constant:
0:11 0.000000
0:3 Function Definition: ComputeShaderFunction( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:3 Function Call: @ComputeShaderFunction( (temp float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float)
......@@ -27,7 +30,7 @@ Linked compute stage:
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:3 Function Definition: ComputeShaderFunction( (temp float)
0:3 Function Definition: @ComputeShaderFunction( (temp float)
0:3 Function Parameters:
0:? Sequence
0:4 MemoryBarrier (temp void)
......@@ -36,47 +39,57 @@ local_size = (1, 1, 1)
0:7 GroupMemoryBarrierWithGroupSync (temp void)
0:8 WorkgroupMemoryBarrier (temp void)
0:9 WorkgroupMemoryBarrierWithGroupSync (temp void)
0:11 Sequence
0:11 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:11 Constant:
0:11 0.000000
0:11 Branch: Return
0:11 Branch: Return with expression
0:11 Constant:
0:11 0.000000
0:3 Function Definition: ComputeShaderFunction( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:3 Function Call: @ComputeShaderFunction( (temp float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 17
// Id's are bound by 22
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 14
EntryPoint GLCompute 4 "ComputeShaderFunction" 20
ExecutionMode 4 LocalSize 1 1 1
Name 4 "ComputeShaderFunction"
Name 14 "@entryPointOutput"
Decorate 14(@entryPointOutput) Location 0
Name 8 "@ComputeShaderFunction("
Name 20 "@entryPointOutput"
Decorate 20(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: 6(int) Constant 1
8: 6(int) Constant 4048
9: 6(int) Constant 512
10: 6(int) Constant 2
11: 6(int) Constant 256
12: TypeFloat 32
13: TypePointer Output 12(float)
14(@entryPointOutput): 13(ptr) Variable Output
15: 12(float) Constant 0
6: TypeFloat 32
7: TypeFunction 6(float)
10: TypeInt 32 0
11: 10(int) Constant 1
12: 10(int) Constant 4048
13: 10(int) Constant 512
14: 10(int) Constant 2
15: 10(int) Constant 256
16: 6(float) Constant 0
19: TypePointer Output 6(float)
20(@entryPointOutput): 19(ptr) Variable Output
4(ComputeShaderFunction): 2 Function None 3
5: Label
MemoryBarrier 7 8
ControlBarrier 7 7 8
MemoryBarrier 7 9
ControlBarrier 7 7 9
MemoryBarrier 10 11
ControlBarrier 10 10 11
Store 14(@entryPointOutput) 15
21: 6(float) FunctionCall 8(@ComputeShaderFunction()
Store 20(@entryPointOutput) 21
Return
FunctionEnd
8(@ComputeShaderFunction(): 6(float) Function None 7
9: Label
MemoryBarrier 11 12
ControlBarrier 11 11 12
MemoryBarrier 11 13
ControlBarrier 11 11 13
MemoryBarrier 14 15
ControlBarrier 14 14 15
ReturnValue 16
FunctionEnd
......@@ -2,31 +2,34 @@ hlsl.intrinsics.d3dcolortoubyte4.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp 4-component vector of int)
0:5 Function Definition: @main( (temp 4-component vector of int)
0:5 Function Parameters:
0:? Sequence
0:6 Sequence
0:6 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:6 Convert float to int (temp 4-component vector of int)
0:6 vector-scale (temp 4-component vector of float)
0:6 Constant:
0:6 255.001953
0:6 vector swizzle (temp 4-component vector of float)
0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
0:6 Constant:
0:6 0 (const uint)
0:6 Sequence
0:6 Constant:
0:6 2 (const int)
0:6 Constant:
0:6 1 (const int)
0:6 Constant:
0:6 0 (const int)
0:6 Constant:
0:6 3 (const int)
0:6 Branch: Return
0:6 Branch: Return with expression
0:6 Convert float to int (temp 4-component vector of int)
0:6 vector-scale (temp 4-component vector of float)
0:6 Constant:
0:6 255.001953
0:6 vector swizzle (temp 4-component vector of float)
0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
0:6 Constant:
0:6 0 (const uint)
0:6 Sequence
0:6 Constant:
0:6 2 (const int)
0:6 Constant:
0:6 1 (const int)
0:6 Constant:
0:6 0 (const int)
0:6 Constant:
0:6 3 (const int)
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:5 Function Call: @main( (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
......@@ -38,74 +41,84 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp 4-component vector of int)
0:5 Function Definition: @main( (temp 4-component vector of int)
0:5 Function Parameters:
0:? Sequence
0:6 Sequence
0:6 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:6 Convert float to int (temp 4-component vector of int)
0:6 vector-scale (temp 4-component vector of float)
0:6 Constant:
0:6 255.001953
0:6 vector swizzle (temp 4-component vector of float)
0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
0:6 Constant:
0:6 0 (const uint)
0:6 Sequence
0:6 Constant:
0:6 2 (const int)
0:6 Constant:
0:6 1 (const int)
0:6 Constant:
0:6 0 (const int)
0:6 Constant:
0:6 3 (const int)
0:6 Branch: Return
0:6 Branch: Return with expression
0:6 Convert float to int (temp 4-component vector of int)
0:6 vector-scale (temp 4-component vector of float)
0:6 Constant:
0:6 255.001953
0:6 vector swizzle (temp 4-component vector of float)
0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
0:6 Constant:
0:6 0 (const uint)
0:6 Sequence
0:6 Constant:
0:6 2 (const int)
0:6 Constant:
0:6 1 (const int)
0:6 Constant:
0:6 0 (const int)
0:6 Constant:
0:6 3 (const int)
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:5 Function Call: @main( (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 24
// Id's are bound by 29
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 9
EntryPoint Fragment 4 "main" 27
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "@entryPointOutput"
Name 13 "$Global"
MemberName 13($Global) 0 "col4"
Name 15 ""
Decorate 9(@entryPointOutput) Location 0
MemberDecorate 13($Global) 0 Offset 0
Decorate 13($Global) Block
Decorate 15 DescriptorSet 0
Name 9 "@main("
Name 14 "$Global"
MemberName 14($Global) 0 "col4"
Name 16 ""
Name 27 "@entryPointOutput"
MemberDecorate 14($Global) 0 Offset 0
Decorate 14($Global) Block
Decorate 16 DescriptorSet 0
Decorate 27(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypeVector 6(int) 4
8: TypePointer Output 7(ivec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypeFloat 32
11: 10(float) Constant 1132396672
12: TypeVector 10(float) 4
13($Global): TypeStruct 12(fvec4)
14: TypePointer Uniform 13($Global)
15: 14(ptr) Variable Uniform
16: 6(int) Constant 0
17: TypePointer Uniform 12(fvec4)
8: TypeFunction 7(ivec4)
11: TypeFloat 32
12: 11(float) Constant 1132396672
13: TypeVector 11(float) 4
14($Global): TypeStruct 13(fvec4)
15: TypePointer Uniform 14($Global)
16: 15(ptr) Variable Uniform
17: 6(int) Constant 0
18: TypePointer Uniform 13(fvec4)
26: TypePointer Output 7(ivec4)
27(@entryPointOutput): 26(ptr) Variable Output
4(main): 2 Function None 3
5: Label
18: 17(ptr) AccessChain 15 16
19: 12(fvec4) Load 18
20: 12(fvec4) VectorShuffle 19 19 2 1 0 3
21: 12(fvec4) VectorTimesScalar 20 11
22: 7(ivec4) ConvertFToS 21
Store 9(@entryPointOutput) 22
28: 7(ivec4) FunctionCall 9(@main()
Store 27(@entryPointOutput) 28
Return
FunctionEnd
9(@main(): 7(ivec4) Function None 8
10: Label
19: 18(ptr) AccessChain 16 17
20: 13(fvec4) Load 19
21: 13(fvec4) VectorShuffle 20 20 2 1 0 3
22: 13(fvec4) VectorTimesScalar 21 12
23: 7(ivec4) ConvertFToS 22
ReturnValue 23
FunctionEnd
......@@ -49,22 +49,29 @@ ERROR: node is still EOpNull!
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:29 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:29 Function Parameters:
0:29 'inF0' (layout(location=0 ) in 4-component vector of float)
0:29 'inF0' (in 4-component vector of float)
0:? Sequence
0:30 ERROR: Bad unary op
(temp 4-component vector of uint)
0:30 'inF0' (layout(location=0 ) in 4-component vector of float)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:32 Branch: Return
0:30 'inF0' (in 4-component vector of float)
0:32 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:29 Function Definition: PixelShaderFunction( (temp void)
0:29 Function Parameters:
0:? Sequence
0:29 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:29 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:29 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
......@@ -116,22 +123,29 @@ ERROR: node is still EOpNull!
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:29 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:29 Function Parameters:
0:29 'inF0' (layout(location=0 ) in 4-component vector of float)
0:29 'inF0' (in 4-component vector of float)
0:? Sequence
0:30 ERROR: Bad unary op
(temp 4-component vector of uint)
0:30 'inF0' (layout(location=0 ) in 4-component vector of float)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:32 Branch: Return
0:30 'inF0' (in 4-component vector of float)
0:32 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:29 Function Definition: PixelShaderFunction( (temp void)
0:29 Function Parameters:
0:? Sequence
0:29 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:29 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:29 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -250,49 +250,68 @@ ERROR: node is still EOpNull!
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:80 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:80 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:80 Function Parameters:
0:80 'inF0' (layout(location=0 ) in 4-component vector of float)
0:80 'inF1' (layout(location=1 ) in 4-component vector of float)
0:80 'inF2' (layout(location=2 ) in 4-component vector of float)
0:80 'inI0' (layout(location=3 ) in 4-component vector of int)
0:80 'inF0' (in 4-component vector of float)
0:80 'inF1' (in 4-component vector of float)
0:80 'inF2' (in 4-component vector of float)
0:80 'inI0' (in 4-component vector of int)
0:? Sequence
0:81 Constant:
0:81 0.000000
0:82 bitCount (temp 4-component vector of uint)
0:82 Convert float to uint (temp 4-component vector of uint)
0:82 'inF0' (layout(location=0 ) in 4-component vector of float)
0:82 'inF0' (in 4-component vector of float)
0:83 cross-product (temp 3-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF0' (layout(location=0 ) in 4-component vector of float)
0:83 'inF0' (in 4-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF1' (layout(location=1 ) in 4-component vector of float)
0:83 'inF1' (in 4-component vector of float)
0:84 Constant:
0:84 0.000000
0:85 ERROR: Bad unary op
(temp 4-component vector of float)
0:85 Convert float to uint (temp 4-component vector of uint)
0:85 'inF0' (layout(location=0 ) in 4-component vector of float)
0:85 'inF0' (in 4-component vector of float)
0:86 findMSB (temp 4-component vector of uint)
0:86 Convert float to uint (temp 4-component vector of uint)
0:86 'inF0' (layout(location=0 ) in 4-component vector of float)
0:86 'inF0' (in 4-component vector of float)
0:87 findLSB (temp 4-component vector of uint)
0:87 Convert float to uint (temp 4-component vector of uint)
0:87 'inF0' (layout(location=0 ) in 4-component vector of float)
0:87 'inF0' (in 4-component vector of float)
0:89 bitFieldReverse (temp 4-component vector of uint)
0:89 Convert float to uint (temp 4-component vector of uint)
0:89 'inF0' (layout(location=0 ) in 4-component vector of float)
0:89 'inF0' (in 4-component vector of float)
0:90 Constant:
0:90 0.000000
0:92 Sequence
0:92 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:92 Branch: Return
0:92 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:80 Function Definition: PixelShaderFunction( (temp void)
0:80 Function Parameters:
0:? Sequence
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of int)
0:? 'inI0' (temp 4-component vector of int)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:80 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inI0' (temp 4-component vector of int)
0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
0:115 Function Parameters:
0:115 'inF0' (in 2X2 matrix of float)
......@@ -619,49 +638,68 @@ ERROR: node is still EOpNull!
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:80 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:80 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:80 Function Parameters:
0:80 'inF0' (layout(location=0 ) in 4-component vector of float)
0:80 'inF1' (layout(location=1 ) in 4-component vector of float)
0:80 'inF2' (layout(location=2 ) in 4-component vector of float)
0:80 'inI0' (layout(location=3 ) in 4-component vector of int)
0:80 'inF0' (in 4-component vector of float)
0:80 'inF1' (in 4-component vector of float)
0:80 'inF2' (in 4-component vector of float)
0:80 'inI0' (in 4-component vector of int)
0:? Sequence
0:81 Constant:
0:81 0.000000
0:82 bitCount (temp 4-component vector of uint)
0:82 Convert float to uint (temp 4-component vector of uint)
0:82 'inF0' (layout(location=0 ) in 4-component vector of float)
0:82 'inF0' (in 4-component vector of float)
0:83 cross-product (temp 3-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF0' (layout(location=0 ) in 4-component vector of float)
0:83 'inF0' (in 4-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF1' (layout(location=1 ) in 4-component vector of float)
0:83 'inF1' (in 4-component vector of float)
0:84 Constant:
0:84 0.000000
0:85 ERROR: Bad unary op
(temp 4-component vector of float)
0:85 Convert float to uint (temp 4-component vector of uint)
0:85 'inF0' (layout(location=0 ) in 4-component vector of float)
0:85 'inF0' (in 4-component vector of float)
0:86 findMSB (temp 4-component vector of uint)
0:86 Convert float to uint (temp 4-component vector of uint)
0:86 'inF0' (layout(location=0 ) in 4-component vector of float)
0:86 'inF0' (in 4-component vector of float)
0:87 findLSB (temp 4-component vector of uint)
0:87 Convert float to uint (temp 4-component vector of uint)
0:87 'inF0' (layout(location=0 ) in 4-component vector of float)
0:87 'inF0' (in 4-component vector of float)
0:89 bitFieldReverse (temp 4-component vector of uint)
0:89 Convert float to uint (temp 4-component vector of uint)
0:89 'inF0' (layout(location=0 ) in 4-component vector of float)
0:89 'inF0' (in 4-component vector of float)
0:90 Constant:
0:90 0.000000
0:92 Sequence
0:92 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:92 Branch: Return
0:92 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:80 Function Definition: PixelShaderFunction( (temp void)
0:80 Function Parameters:
0:? Sequence
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of int)
0:? 'inI0' (temp 4-component vector of int)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:80 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inI0' (temp 4-component vector of int)
0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
0:115 Function Parameters:
0:115 'inF0' (in 2X2 matrix of float)
......
......@@ -2,18 +2,29 @@ hlsl.max.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input1' (layout(location=0 ) in 4-component vector of float)
0:2 'input2' (layout(location=1 ) in 4-component vector of float)
0:2 'input1' (in 4-component vector of float)
0:2 'input2' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 max (temp 4-component vector of float)
0:3 'input1' (layout(location=0 ) in 4-component vector of float)
0:3 'input2' (layout(location=1 ) in 4-component vector of float)
0:3 Branch: Return
0:3 Branch: Return with expression
0:3 max (temp 4-component vector of float)
0:3 'input1' (in 4-component vector of float)
0:3 'input2' (in 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input1' (temp 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input2' (temp 4-component vector of float)
0:? 'input2' (layout(location=1 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:? 'input1' (temp 4-component vector of float)
0:? 'input2' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 4-component vector of float)
......@@ -26,18 +37,29 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input1' (layout(location=0 ) in 4-component vector of float)
0:2 'input2' (layout(location=1 ) in 4-component vector of float)
0:2 'input1' (in 4-component vector of float)
0:2 'input2' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 max (temp 4-component vector of float)
0:3 'input1' (layout(location=0 ) in 4-component vector of float)
0:3 'input2' (layout(location=1 ) in 4-component vector of float)
0:3 Branch: Return
0:3 Branch: Return with expression
0:3 max (temp 4-component vector of float)
0:3 'input1' (in 4-component vector of float)
0:3 'input2' (in 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input1' (temp 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input2' (temp 4-component vector of float)
0:? 'input2' (layout(location=1 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:? 'input1' (temp 4-component vector of float)
0:? 'input2' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 4-component vector of float)
......@@ -45,34 +67,62 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 17
// Id's are bound by 33
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13
EntryPoint Fragment 4 "PixelShaderFunction" 21 24 27
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 11 "input1"
Name 13 "input2"
Decorate 9(@entryPointOutput) Location 0
Decorate 11(input1) Location 0
Decorate 13(input2) Location 1
Name 12 "@PixelShaderFunction(vf4;vf4;"
Name 10 "input1"
Name 11 "input2"
Name 19 "input1"
Name 21 "input1"
Name 23 "input2"
Name 24 "input2"
Name 27 "@entryPointOutput"
Name 28 "param"
Name 30 "param"
Decorate 21(input1) Location 0
Decorate 24(input2) Location 1
Decorate 27(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypePointer Input 7(fvec4)
11(input1): 10(ptr) Variable Input
13(input2): 10(ptr) Variable Input
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr) 8(ptr)
20: TypePointer Input 7(fvec4)
21(input1): 20(ptr) Variable Input
24(input2): 20(ptr) Variable Input
26: TypePointer Output 7(fvec4)
27(@entryPointOutput): 26(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(input1)
14: 7(fvec4) Load 13(input2)
15: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 12 14
Store 9(@entryPointOutput) 15
19(input1): 8(ptr) Variable Function
23(input2): 8(ptr) Variable Function
28(param): 8(ptr) Variable Function
30(param): 8(ptr) Variable Function
22: 7(fvec4) Load 21(input1)
Store 19(input1) 22
25: 7(fvec4) Load 24(input2)
Store 23(input2) 25
29: 7(fvec4) Load 19(input1)
Store 28(param) 29
31: 7(fvec4) Load 23(input2)
Store 30(param) 31
32: 7(fvec4) FunctionCall 12(@PixelShaderFunction(vf4;vf4;) 28(param) 30(param)
Store 27(@entryPointOutput) 32
Return
FunctionEnd
12(@PixelShaderFunction(vf4;vf4;): 7(fvec4) Function None 9
10(input1): 8(ptr) FunctionParameter
11(input2): 8(ptr) FunctionParameter
13: Label
14: 7(fvec4) Load 10(input1)
15: 7(fvec4) Load 11(input2)
16: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 14 15
ReturnValue 16
FunctionEnd
......@@ -10,20 +10,27 @@ Shader version: 450
0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int)
0:5 'Index' (in uint)
0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position)
0:9 Function Definition: @RealEntrypoint(u1; (temp 4-component vector of float Position)
0:9 Function Parameters:
0:9 'Index' (in uint VertexIndex)
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:10 Branch: Return with expression
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:9 Function Definition: RealEntrypoint( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp uint)
0:? 'Index' (temp uint)
0:? 'Index' (in uint VertexIndex)
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:9 Function Call: @RealEntrypoint(u1; (temp 4-component vector of float Position)
0:? 'Index' (temp uint)
0:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
Linked vertex stage:
......@@ -40,40 +47,51 @@ Shader version: 450
0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int)
0:5 'Index' (in uint)
0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position)
0:9 Function Definition: @RealEntrypoint(u1; (temp 4-component vector of float Position)
0:9 Function Parameters:
0:9 'Index' (in uint VertexIndex)
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:10 Branch: Return with expression
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:9 Function Definition: RealEntrypoint( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp uint)
0:? 'Index' (temp uint)
0:? 'Index' (in uint VertexIndex)
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:9 Function Call: @RealEntrypoint(u1; (temp 4-component vector of float Position)
0:? 'Index' (temp uint)
0:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 34
// Id's are bound by 43
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "RealEntrypoint" 27 29
EntryPoint Vertex 4 "RealEntrypoint" 36 39
Name 4 "RealEntrypoint"
Name 12 "FakeEntrypoint(u1;"
Name 11 "Index"
Name 17 "Position"
Name 27 "@entryPointOutput"
Name 29 "Index"
Name 30 "param"
Decorate 17(Position) DescriptorSet 0
Decorate 27(@entryPointOutput) BuiltIn Position
Decorate 29(Index) BuiltIn VertexIndex
Name 15 "@RealEntrypoint(u1;"
Name 14 "Index"
Name 20 "Position"
Name 29 "param"
Name 34 "Index"
Name 36 "Index"
Name 39 "@entryPointOutput"
Name 40 "param"
Decorate 20(Position) DescriptorSet 0
Decorate 36(Index) BuiltIn VertexIndex
Decorate 39(@entryPointOutput) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
......@@ -81,31 +99,43 @@ Shader version: 450
8: TypeFloat 32
9: TypeVector 8(float) 4
10: TypeFunction 9(fvec4) 7(ptr)
14: TypeImage 8(float) Buffer sampled format:Rgba32f
15: TypeSampledImage 14
16: TypePointer UniformConstant 15
17(Position): 16(ptr) Variable UniformConstant
20: TypeInt 32 1
26: TypePointer Output 9(fvec4)
27(@entryPointOutput): 26(ptr) Variable Output
28: TypePointer Input 6(int)
29(Index): 28(ptr) Variable Input
17: TypeImage 8(float) Buffer sampled format:Rgba32f
18: TypeSampledImage 17
19: TypePointer UniformConstant 18
20(Position): 19(ptr) Variable UniformConstant
23: TypeInt 32 1
35: TypePointer Input 6(int)
36(Index): 35(ptr) Variable Input
38: TypePointer Output 9(fvec4)
39(@entryPointOutput): 38(ptr) Variable Output
4(RealEntrypoint): 2 Function None 3
5: Label
30(param): 7(ptr) Variable Function
31: 6(int) Load 29(Index)
Store 30(param) 31
32: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 30(param)
Store 27(@entryPointOutput) 32
34(Index): 7(ptr) Variable Function
40(param): 7(ptr) Variable Function
37: 6(int) Load 36(Index)
Store 34(Index) 37
41: 6(int) Load 34(Index)
Store 40(param) 41
42: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param)
Store 39(@entryPointOutput) 42
Return
FunctionEnd
12(FakeEntrypoint(u1;): 9(fvec4) Function None 10
11(Index): 7(ptr) FunctionParameter
13: Label
18: 15 Load 17(Position)
19: 6(int) Load 11(Index)
21: 20(int) Bitcast 19
22: 14 Image 18
23: 9(fvec4) ImageFetch 22 21
ReturnValue 23
21: 18 Load 20(Position)
22: 6(int) Load 11(Index)
24: 23(int) Bitcast 22
25: 17 Image 21
26: 9(fvec4) ImageFetch 25 24
ReturnValue 26
FunctionEnd
15(@RealEntrypoint(u1;): 9(fvec4) Function None 10
14(Index): 7(ptr) FunctionParameter
16: Label
29(param): 7(ptr) Variable Function
30: 6(int) Load 14(Index)
Store 29(param) 30
31: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 29(param)
ReturnValue 31
FunctionEnd
......@@ -10,10 +10,14 @@ gl_FragCoord origin is upper left
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s})
0:13 Constant:
0:13 0 (const uint)
0:17 Function Definition: main( (temp void)
0:17 Function Definition: @main( (temp void)
0:17 Function Parameters:
0:? Sequence
0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m})
0:17 Function Definition: main( (temp void)
0:17 Function Parameters:
0:? Sequence
0:17 Function Call: @main( (temp void)
0:? Linker Objects
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s})
......@@ -32,16 +36,20 @@ gl_FragCoord origin is upper left
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s})
0:13 Constant:
0:13 0 (const uint)
0:17 Function Definition: main( (temp void)
0:17 Function Definition: @main( (temp void)
0:17 Function Parameters:
0:? Sequence
0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m})
0:17 Function Definition: main( (temp void)
0:17 Function Parameters:
0:? Sequence
0:17 Function Call: @main( (temp void)
0:? Linker Objects
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 39
// Id's are bound by 42
Capability Shader
1: ExtInstImport "GLSL.std.450"
......@@ -54,21 +62,22 @@ gl_FragCoord origin is upper left
MemberName 9(S) 1 "v"
MemberName 9(S) 2 "m"
Name 11 "foo("
Name 13 "S"
MemberName 13(S) 0 "f"
MemberName 13(S) 1 "v"
MemberName 13(S) 2 "m"
Name 14 "bufName"
MemberName 14(bufName) 0 "s"
Name 16 ""
MemberDecorate 13(S) 0 Offset 0
MemberDecorate 13(S) 1 Offset 16
MemberDecorate 13(S) 2 RowMajor
MemberDecorate 13(S) 2 Offset 32
MemberDecorate 13(S) 2 MatrixStride 16
MemberDecorate 14(bufName) 0 Offset 0
Decorate 14(bufName) Block
Decorate 16 DescriptorSet 0
Name 13 "@main("
Name 15 "S"
MemberName 15(S) 0 "f"
MemberName 15(S) 1 "v"
MemberName 15(S) 2 "m"
Name 16 "bufName"
MemberName 16(bufName) 0 "s"
Name 18 ""
MemberDecorate 15(S) 0 Offset 0
MemberDecorate 15(S) 1 Offset 16
MemberDecorate 15(S) 2 RowMajor
MemberDecorate 15(S) 2 Offset 32
MemberDecorate 15(S) 2 MatrixStride 16
MemberDecorate 16(bufName) 0 Offset 0
Decorate 16(bufName) Block
Decorate 18 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
......@@ -76,38 +85,43 @@ gl_FragCoord origin is upper left
8: TypeMatrix 7(fvec3) 3
9(S): TypeStruct 6(float) 7(fvec3) 8
10: TypeFunction 9(S)
13(S): TypeStruct 6(float) 7(fvec3) 8
14(bufName): TypeStruct 13(S)
15: TypePointer Uniform 14(bufName)
16: 15(ptr) Variable Uniform
17: TypeInt 32 1
18: 17(int) Constant 0
19: TypePointer Uniform 13(S)
22: TypePointer Function 9(S)
25: TypePointer Function 6(float)
28: 17(int) Constant 1
29: TypePointer Function 7(fvec3)
32: 17(int) Constant 2
33: TypePointer Function 8
15(S): TypeStruct 6(float) 7(fvec3) 8
16(bufName): TypeStruct 15(S)
17: TypePointer Uniform 16(bufName)
18: 17(ptr) Variable Uniform
19: TypeInt 32 1
20: 19(int) Constant 0
21: TypePointer Uniform 15(S)
24: TypePointer Function 9(S)
27: TypePointer Function 6(float)
30: 19(int) Constant 1
31: TypePointer Function 7(fvec3)
34: 19(int) Constant 2
35: TypePointer Function 8
4(main): 2 Function None 3
5: Label
38: 9(S) FunctionCall 11(foo()
41: 2 FunctionCall 13(@main()
Return
FunctionEnd
11(foo(): 9(S) Function None 10
12: Label
23: 22(ptr) Variable Function
20: 19(ptr) AccessChain 16 18
21: 13(S) Load 20
24: 6(float) CompositeExtract 21 0
26: 25(ptr) AccessChain 23 18
Store 26 24
27: 7(fvec3) CompositeExtract 21 1
30: 29(ptr) AccessChain 23 28
Store 30 27
31: 8 CompositeExtract 21 2
34: 33(ptr) AccessChain 23 32
Store 34 31
35: 9(S) Load 23
ReturnValue 35
25: 24(ptr) Variable Function
22: 21(ptr) AccessChain 18 20
23: 15(S) Load 22
26: 6(float) CompositeExtract 23 0
28: 27(ptr) AccessChain 25 20
Store 28 26
29: 7(fvec3) CompositeExtract 23 1
32: 31(ptr) AccessChain 25 30
Store 32 29
33: 8 CompositeExtract 23 2
36: 35(ptr) AccessChain 25 34
Store 36 33
37: 9(S) Load 25
ReturnValue 37
FunctionEnd
13(@main(): 2 Function None 3
14: Label
40: 9(S) FunctionCall 11(foo()
Return
FunctionEnd
......@@ -5,9 +5,17 @@ local_size = (4, 4, 2)
0:4 Function Definition: main(vu3; (temp void)
0:4 Function Parameters:
0:4 'tid' (in 3-component vector of uint)
0:9 Function Definition: main_aux1(vu3; (temp void)
0:9 Function Definition: @main_aux1(vu3; (temp void)
0:9 Function Parameters:
0:9 'tid' (in 3-component vector of uint GlobalInvocationID)
0:9 Function Definition: main_aux1( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp 3-component vector of uint)
0:? 'tid' (temp 3-component vector of uint)
0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
0:9 Function Call: @main_aux1(vu3; (temp void)
0:? 'tid' (temp 3-component vector of uint)
0:? Linker Objects
0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
......@@ -21,36 +29,55 @@ local_size = (4, 4, 2)
0:4 Function Definition: main(vu3; (temp void)
0:4 Function Parameters:
0:4 'tid' (in 3-component vector of uint)
0:9 Function Definition: main_aux1(vu3; (temp void)
0:9 Function Definition: @main_aux1(vu3; (temp void)
0:9 Function Parameters:
0:9 'tid' (in 3-component vector of uint GlobalInvocationID)
0:9 Function Definition: main_aux1( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp 3-component vector of uint)
0:? 'tid' (temp 3-component vector of uint)
0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
0:9 Function Call: @main_aux1(vu3; (temp void)
0:? 'tid' (temp 3-component vector of uint)
0:? Linker Objects
0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 15
// Id's are bound by 23
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main_aux1" 14
EntryPoint GLCompute 4 "main_aux1" 18
ExecutionMode 4 LocalSize 4 4 2
Name 4 "main_aux1"
Name 11 "main(vu3;"
Name 10 "tid"
Name 14 "tid"
Decorate 14(tid) BuiltIn GlobalInvocationId
Name 14 "@main_aux1(vu3;"
Name 13 "tid"
Name 16 "tid"
Name 18 "tid"
Name 20 "param"
Decorate 18(tid) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 3
8: TypePointer Function 7(ivec3)
9: TypeFunction 2 8(ptr)
13: TypePointer Input 7(ivec3)
14(tid): 13(ptr) Variable Input
17: TypePointer Input 7(ivec3)
18(tid): 17(ptr) Variable Input
4(main_aux1): 2 Function None 3
5: Label
16(tid): 8(ptr) Variable Function
20(param): 8(ptr) Variable Function
19: 7(ivec3) Load 18(tid)
Store 16(tid) 19
21: 7(ivec3) Load 16(tid)
Store 20(param) 21
22: 2 FunctionCall 14(@main_aux1(vu3;) 20(param)
Return
FunctionEnd
11(main(vu3;): 2 Function None 9
......@@ -58,3 +85,8 @@ local_size = (4, 4, 2)
12: Label
Return
FunctionEnd
14(@main_aux1(vu3;): 2 Function None 9
13(tid): 8(ptr) FunctionParameter
15: Label
Return
FunctionEnd
......@@ -6,7 +6,7 @@ gl_FragCoord origin is upper left
0:6 Function Parameters:
0:6 'myfloat' (noContraction in float)
0:6 'myfloat3' (noContraction out 3-component vector of float)
0:9 Function Definition: main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Definition: @main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Parameters:
0:? Sequence
0:11 move second child to first child (noContraction temp 4-component vector of float)
......@@ -19,18 +19,21 @@ gl_FragCoord origin is upper left
0:11 1.000000
0:11 1.000000
0:11 1.000000
0:12 Sequence
0:12 Sequence
0:12 move second child to first child (noContraction temp 4-component vector of float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:12 color: direct index for structure (noContraction temp 4-component vector of float)
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:12 Constant:
0:12 0 (const int)
0:12 Branch: Return
0:12 Branch: Return with expression
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 Sequence
0:9 move second child to first child (noContraction temp 4-component vector of float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:9 color: direct index for structure (noContraction temp 4-component vector of float)
0:9 Function Call: @main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Constant:
0:9 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:? 'precisefloat' (noContraction global float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
Linked fragment stage:
......@@ -43,7 +46,7 @@ gl_FragCoord origin is upper left
0:6 Function Parameters:
0:6 'myfloat' (noContraction in float)
0:6 'myfloat3' (noContraction out 3-component vector of float)
0:9 Function Definition: main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Definition: @main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Parameters:
0:? Sequence
0:11 move second child to first child (noContraction temp 4-component vector of float)
......@@ -56,27 +59,30 @@ gl_FragCoord origin is upper left
0:11 1.000000
0:11 1.000000
0:11 1.000000
0:12 Sequence
0:12 Sequence
0:12 move second child to first child (noContraction temp 4-component vector of float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:12 color: direct index for structure (noContraction temp 4-component vector of float)
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:12 Constant:
0:12 0 (const int)
0:12 Branch: Return
0:12 Branch: Return with expression
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 Sequence
0:9 move second child to first child (noContraction temp 4-component vector of float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:9 color: direct index for structure (noContraction temp 4-component vector of float)
0:9 Function Call: @main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Constant:
0:9 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:? 'precisefloat' (noContraction global float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 32
// Id's are bound by 37
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 26
EntryPoint Fragment 4 "main" 32
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 13 "MyFunction(f1;vf3;"
......@@ -84,10 +90,11 @@ gl_FragCoord origin is upper left
Name 12 "myfloat3"
Name 16 "PS_OUTPUT"
MemberName 16(PS_OUTPUT) 0 "color"
Name 18 "ps_output"
Name 26 "color"
Name 31 "precisefloat"
Decorate 26(color) Location 0
Name 18 "@main("
Name 21 "ps_output"
Name 32 "color"
Name 36 "precisefloat"
Decorate 32(color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
......@@ -97,24 +104,22 @@ gl_FragCoord origin is upper left
10: TypeFunction 2 7(ptr) 9(ptr)
15: TypeVector 6(float) 4
16(PS_OUTPUT): TypeStruct 15(fvec4)
17: TypePointer Function 16(PS_OUTPUT)
19: TypeInt 32 1
20: 19(int) Constant 0
21: 6(float) Constant 1065353216
22: 15(fvec4) ConstantComposite 21 21 21 21
23: TypePointer Function 15(fvec4)
25: TypePointer Output 15(fvec4)
26(color): 25(ptr) Variable Output
30: TypePointer Private 6(float)
31(precisefloat): 30(ptr) Variable Private
17: TypeFunction 16(PS_OUTPUT)
20: TypePointer Function 16(PS_OUTPUT)
22: TypeInt 32 1
23: 22(int) Constant 0
24: 6(float) Constant 1065353216
25: 15(fvec4) ConstantComposite 24 24 24 24
26: TypePointer Function 15(fvec4)
31: TypePointer Output 15(fvec4)
32(color): 31(ptr) Variable Output
35: TypePointer Private 6(float)
36(precisefloat): 35(ptr) Variable Private
4(main): 2 Function None 3
5: Label
18(ps_output): 17(ptr) Variable Function
24: 23(ptr) AccessChain 18(ps_output) 20
Store 24 22
27: 23(ptr) AccessChain 18(ps_output) 20
28: 15(fvec4) Load 27
Store 26(color) 28
33:16(PS_OUTPUT) FunctionCall 18(@main()
34: 15(fvec4) CompositeExtract 33 0
Store 32(color) 34
Return
FunctionEnd
13(MyFunction(f1;vf3;): 2 Function None 10
......@@ -123,3 +128,11 @@ gl_FragCoord origin is upper left
14: Label
Return
FunctionEnd
18(@main():16(PS_OUTPUT) Function None 17
19: Label
21(ps_output): 20(ptr) Variable Function
27: 26(ptr) AccessChain 21(ps_output) 23
Store 27 25
28:16(PS_OUTPUT) Load 21(ps_output)
ReturnValue 28
FunctionEnd
......@@ -2,7 +2,7 @@ hlsl.promote.atomic.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp 4-component vector of float)
0:5 Function Definition: @main( (temp 4-component vector of float)
0:5 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp int)
......@@ -13,18 +13,21 @@ gl_FragCoord origin is upper left
0:13 'Loc' (temp int)
0:13 Convert int to uint (temp uint)
0:13 'Inc' (temp int)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:15 Branch: Return
0:15 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:5 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
......@@ -33,7 +36,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp 4-component vector of float)
0:5 Function Definition: @main( (temp 4-component vector of float)
0:5 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp int)
......@@ -44,66 +47,76 @@ gl_FragCoord origin is upper left
0:13 'Loc' (temp int)
0:13 Convert int to uint (temp uint)
0:13 'Inc' (temp int)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:15 Branch: Return
0:15 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:5 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 31
// Id's are bound by 36
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 27
EntryPoint Fragment 4 "main" 34
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "Orig"
Name 12 "s_uintbuff"
Name 13 "Loc"
Name 15 "Inc"
Name 27 "@entryPointOutput"
Decorate 12(s_uintbuff) DescriptorSet 0
Decorate 27(@entryPointOutput) Location 0
Name 9 "@main("
Name 13 "Orig"
Name 17 "s_uintbuff"
Name 18 "Loc"
Name 20 "Inc"
Name 34 "@entryPointOutput"
Decorate 17(s_uintbuff) DescriptorSet 0
Decorate 34(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: TypeInt 32 0
10: TypeImage 9(int) Buffer nonsampled format:R32ui
11: TypePointer UniformConstant 10
12(s_uintbuff): 11(ptr) Variable UniformConstant
18: 9(int) Constant 0
19: TypePointer Image 9(int)
21: 9(int) Constant 1
24: TypeFloat 32
25: TypeVector 24(float) 4
26: TypePointer Output 25(fvec4)
27(@entryPointOutput): 26(ptr) Variable Output
28: 24(float) Constant 0
29: 25(fvec4) ConstantComposite 28 28 28 28
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypeInt 32 1
12: TypePointer Function 11(int)
14: TypeInt 32 0
15: TypeImage 14(int) Buffer nonsampled format:R32ui
16: TypePointer UniformConstant 15
17(s_uintbuff): 16(ptr) Variable UniformConstant
23: 14(int) Constant 0
24: TypePointer Image 14(int)
26: 14(int) Constant 1
29: 6(float) Constant 0
30: 7(fvec4) ConstantComposite 29 29 29 29
33: TypePointer Output 7(fvec4)
34(@entryPointOutput): 33(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(Orig): 7(ptr) Variable Function
13(Loc): 7(ptr) Variable Function
15(Inc): 7(ptr) Variable Function
14: 6(int) Load 13(Loc)
16: 6(int) Load 15(Inc)
17: 9(int) Bitcast 16
20: 19(ptr) ImageTexelPointer 12(s_uintbuff) 14 18
22: 9(int) AtomicIAdd 20 21 18 17
23: 6(int) Bitcast 22
Store 8(Orig) 23
Store 27(@entryPointOutput) 29
35: 7(fvec4) FunctionCall 9(@main()
Store 34(@entryPointOutput) 35
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
13(Orig): 12(ptr) Variable Function
18(Loc): 12(ptr) Variable Function
20(Inc): 12(ptr) Variable Function
19: 11(int) Load 18(Loc)
21: 11(int) Load 20(Inc)
22: 14(int) Bitcast 21
25: 24(ptr) ImageTexelPointer 17(s_uintbuff) 19 23
27: 14(int) AtomicIAdd 25 26 23 22
28: 11(int) Bitcast 27
Store 13(Orig) 28
ReturnValue 30
FunctionEnd
......@@ -2,7 +2,7 @@ hlsl.promote.vec1.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3 Function Definition: main( (temp 4-component vector of float)
0:3 Function Definition: @main( (temp 4-component vector of float)
0:3 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp float)
......@@ -22,15 +22,18 @@ gl_FragCoord origin is upper left
0:13 sine (temp float)
0:13 Construct float (in float)
0:13 'f1b' (temp 1-component vector of float)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:15 Branch: Return
0:15 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:3 Function Definition: main( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
......@@ -41,7 +44,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3 Function Definition: main( (temp 4-component vector of float)
0:3 Function Definition: @main( (temp 4-component vector of float)
0:3 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp float)
......@@ -61,58 +64,68 @@ gl_FragCoord origin is upper left
0:13 sine (temp float)
0:13 Construct float (in float)
0:13 'f1b' (temp 1-component vector of float)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:15 Branch: Return
0:15 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:3 Function Definition: main( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 26
// Id's are bound by 31
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 23
EntryPoint Fragment 4 "main" 29
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "f1a"
Name 9 "f1b"
Name 16 "f3"
Name 23 "@entryPointOutput"
Decorate 23(@entryPointOutput) Location 0
Name 9 "@main("
Name 12 "f1a"
Name 13 "f1b"
Name 20 "f3"
Name 29 "@entryPointOutput"
Decorate 29(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
12: TypeVector 6(float) 3
13: 6(float) Constant 0
14: 12(fvec3) ConstantComposite 13 13 13
15: TypePointer Function 12(fvec3)
21: TypeVector 6(float) 4
22: TypePointer Output 21(fvec4)
23(@entryPointOutput): 22(ptr) Variable Output
24: 21(fvec4) ConstantComposite 13 13 13 13
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypePointer Function 6(float)
16: TypeVector 6(float) 3
17: 6(float) Constant 0
18: 16(fvec3) ConstantComposite 17 17 17
19: TypePointer Function 16(fvec3)
25: 7(fvec4) ConstantComposite 17 17 17 17
28: TypePointer Output 7(fvec4)
29(@entryPointOutput): 28(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(f1a): 7(ptr) Variable Function
9(f1b): 7(ptr) Variable Function
16(f3): 15(ptr) Variable Function
10: 6(float) Load 9(f1b)
Store 8(f1a) 10
11: 6(float) Load 8(f1a)
Store 9(f1b) 11
17: 12(fvec3) Load 16(f3)
18: 12(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 14 17
19: 6(float) Load 9(f1b)
20: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 19
Store 23(@entryPointOutput) 24
30: 7(fvec4) FunctionCall 9(@main()
Store 29(@entryPointOutput) 30
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
12(f1a): 11(ptr) Variable Function
13(f1b): 11(ptr) Variable Function
20(f3): 19(ptr) Variable Function
14: 6(float) Load 13(f1b)
Store 12(f1a) 14
15: 6(float) Load 12(f1a)
Store 13(f1b) 15
21: 16(fvec3) Load 20(f3)
22: 16(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 18 21
23: 6(float) Load 13(f1b)
24: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 23
ReturnValue 25
FunctionEnd
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2,7 +2,7 @@ hlsl.rw.register.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:12 Sequence
......@@ -29,19 +29,22 @@ gl_FragCoord origin is upper left
0:16 1.000000
0:16 1.000000
0:16 1.000000
0:17 Sequence
0:17 Sequence
0:17 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 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 Branch: Return
0:17 Branch: Return with expression
0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: main( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:11 Color: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
......@@ -50,7 +53,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:12 Sequence
......@@ -77,82 +80,92 @@ gl_FragCoord origin is upper left
0:16 1.000000
0:16 1.000000
0:16 1.000000
0:17 Sequence
0:17 Sequence
0:17 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 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 Branch: Return
0:17 Branch: Return with expression
0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: main( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:11 Color: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 37
// Id's are bound by 42
Capability Shader
Capability Sampled1D
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 33
EntryPoint Fragment 4 "main" 39
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r00"
Name 11 "g_tTex1df1"
Name 18 "r01"
Name 21 "g_tBuf1du1"
Name 25 "PS_OUTPUT"
MemberName 25(PS_OUTPUT) 0 "Color"
Name 27 "psout"
Name 33 "Color"
Decorate 11(g_tTex1df1) DescriptorSet 0
Decorate 11(g_tTex1df1) Binding 2
Decorate 21(g_tBuf1du1) DescriptorSet 0
Decorate 21(g_tBuf1du1) Binding 3
Decorate 33(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 13 "r00"
Name 16 "g_tTex1df1"
Name 23 "r01"
Name 26 "g_tBuf1du1"
Name 30 "psout"
Name 39 "Color"
Decorate 16(g_tTex1df1) DescriptorSet 0
Decorate 16(g_tTex1df1) Binding 2
Decorate 26(g_tBuf1du1) DescriptorSet 0
Decorate 26(g_tBuf1du1) Binding 3
Decorate 39(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeImage 6(float) 1D nonsampled format:R32f
10: TypePointer UniformConstant 9
11(g_tTex1df1): 10(ptr) Variable UniformConstant
13: TypeInt 32 1
14: 13(int) Constant 0
16: TypeInt 32 0
17: TypePointer Function 16(int)
19: TypeImage 16(int) Buffer nonsampled format:R32ui
20: TypePointer UniformConstant 19
21(g_tBuf1du1): 20(ptr) Variable UniformConstant
24: TypeVector 6(float) 4
25(PS_OUTPUT): TypeStruct 24(fvec4)
26: TypePointer Function 25(PS_OUTPUT)
28: 6(float) Constant 1065353216
29: 24(fvec4) ConstantComposite 28 28 28 28
30: TypePointer Function 24(fvec4)
32: TypePointer Output 24(fvec4)
33(Color): 32(ptr) Variable Output
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeImage 6(float) 1D nonsampled format:R32f
15: TypePointer UniformConstant 14
16(g_tTex1df1): 15(ptr) Variable UniformConstant
18: TypeInt 32 1
19: 18(int) Constant 0
21: TypeInt 32 0
22: TypePointer Function 21(int)
24: TypeImage 21(int) Buffer nonsampled format:R32ui
25: TypePointer UniformConstant 24
26(g_tBuf1du1): 25(ptr) Variable UniformConstant
29: TypePointer Function 8(PS_OUTPUT)
31: 6(float) Constant 1065353216
32: 7(fvec4) ConstantComposite 31 31 31 31
33: TypePointer Function 7(fvec4)
38: TypePointer Output 7(fvec4)
39(Color): 38(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(r00): 7(ptr) Variable Function
18(r01): 17(ptr) Variable Function
27(psout): 26(ptr) Variable Function
12: 9 Load 11(g_tTex1df1)
15: 6(float) ImageRead 12 14
Store 8(r00) 15
22: 19 Load 21(g_tBuf1du1)
23: 16(int) ImageRead 22 14
Store 18(r01) 23
31: 30(ptr) AccessChain 27(psout) 14
Store 31 29
34: 30(ptr) AccessChain 27(psout) 14
35: 24(fvec4) Load 34
Store 33(Color) 35
40:8(PS_OUTPUT) FunctionCall 10(@main()
41: 7(fvec4) CompositeExtract 40 0
Store 39(Color) 41
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
23(r01): 22(ptr) Variable Function
30(psout): 29(ptr) Variable Function
17: 14 Load 16(g_tTex1df1)
20: 6(float) ImageRead 17 19
Store 13(r00) 20
27: 24 Load 26(g_tBuf1du1)
28: 21(int) ImageRead 27 19
Store 23(r01) 28
34: 33(ptr) AccessChain 30(psout) 19
Store 34 32
35:8(PS_OUTPUT) Load 30(psout)
ReturnValue 35
FunctionEnd
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment