HLSL: Make the entry-point shadow function have non-IO params and return.

This also removes an no longer needed makeTemporary() and rationalizes
makeTypeNonIo()'s interface.
This commit is contained in:
John Kessenich 2017-02-01 18:09:17 -07:00
Родитель 5d3023af03
Коммит abd8dca86d
24 изменённых файлов: 1146 добавлений и 1346 удалений

Просмотреть файл

@ -4,12 +4,12 @@ local_size = (1, 1, 1)
0:? Sequence
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)
0:4 'dti' (in int)
0:4 'gti' (in int)
0:? Sequence
0:5 subtract (temp int)
0:5 'dti' (in int GlobalInvocationID)
0:5 'gti' (in int LocalInvocationID)
0:5 'dti' (in int)
0:5 'gti' (in int)
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
@ -36,12 +36,12 @@ local_size = (1, 1, 1)
0:? Sequence
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)
0:4 'dti' (in int)
0:4 'gti' (in int)
0:? Sequence
0:5 subtract (temp int)
0:5 'dti' (in int GlobalInvocationID)
0:5 'gti' (in int LocalInvocationID)
0:5 'dti' (in int)
0:5 'gti' (in int)
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence

Просмотреть файл

@ -5,10 +5,10 @@ using depth_greater
0:? Sequence
0:2 Function Definition: @PixelShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'depth' (out float unknown built-in variable)
0:2 'depth' (out float)
0:? Sequence
0:3 move second child to first child (temp float)
0:3 'depth' (out float unknown built-in variable)
0:3 'depth' (out float)
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
@ -32,10 +32,10 @@ using depth_greater
0:? Sequence
0:2 Function Definition: @PixelShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'depth' (out float unknown built-in variable)
0:2 'depth' (out float)
0:? Sequence
0:3 move second child to first child (temp float)
0:3 'depth' (out float unknown built-in variable)
0:3 'depth' (out float)
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)

Просмотреть файл

@ -3,7 +3,7 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2 Function Definition: @PixelShaderFunction( (temp float unknown built-in variable)
0:2 Function Definition: @PixelShaderFunction( (temp float)
0:2 Function Parameters:
0:? Sequence
0:3 Branch: Return with expression
@ -14,7 +14,7 @@ using depth_less
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:2 Function Call: @PixelShaderFunction( (temp float)
0:? Linker Objects
0:? '@entryPointOutput' (out float FragDepth)
@ -26,7 +26,7 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2 Function Definition: @PixelShaderFunction( (temp float unknown built-in variable)
0:2 Function Definition: @PixelShaderFunction( (temp float)
0:2 Function Parameters:
0:? Sequence
0:3 Branch: Return with expression
@ -37,7 +37,7 @@ using depth_less
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:2 Function Call: @PixelShaderFunction( (temp float)
0:? Linker Objects
0:? '@entryPointOutput' (out float FragDepth)

Просмотреть файл

@ -24,11 +24,11 @@ gl_FragCoord origin is upper left
0:9 0 (const int)
0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:15 move second child to first child (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
@ -38,7 +38,7 @@ gl_FragCoord origin is upper left
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Branch: Return with expression
0:19 vector-scale (temp 4-component vector of float)
0:19 vector-scale (temp 4-component vector of float)
@ -54,7 +54,7 @@ gl_FragCoord origin is upper left
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 v: direct index for structure (temp 2-component vector of float)
@ -62,14 +62,14 @@ gl_FragCoord origin is upper left
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 4-component vector of float)
0:13 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 fragCoord: direct index for structure (temp 4-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:13 move second child to first child (temp 2-component vector of int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 2 (const int)
0:13 i2: direct index for structure (temp 2-component vector of int)
@ -79,7 +79,7 @@ gl_FragCoord origin is upper left
0:13 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:13 Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
@ -114,11 +114,11 @@ gl_FragCoord origin is upper left
0:9 0 (const int)
0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:15 move second child to first child (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
@ -128,7 +128,7 @@ gl_FragCoord origin is upper left
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Branch: Return with expression
0:19 vector-scale (temp 4-component vector of float)
0:19 vector-scale (temp 4-component vector of float)
@ -144,7 +144,7 @@ gl_FragCoord origin is upper left
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 v: direct index for structure (temp 2-component vector of float)
@ -152,14 +152,14 @@ gl_FragCoord origin is upper left
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 4-component vector of float)
0:13 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 fragCoord: direct index for structure (temp 4-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:13 move second child to first child (temp 2-component vector of int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 2 (const int)
0:13 i2: direct index for structure (temp 2-component vector of int)
@ -169,7 +169,7 @@ gl_FragCoord origin is upper left
0:13 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:13 Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
@ -177,12 +177,12 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 85
// Id's are bound by 77
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 67 73 81
EntryPoint Fragment 4 "PixelShaderFunction" 56 63 73
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 11 "InParam"
@ -191,29 +191,24 @@ gl_FragCoord origin is upper left
MemberName 11(InParam) 2 "i2"
Name 15 "fun(struct-InParam-vf2-vf4-vi21;"
Name 14 "p"
Name 17 "InParam"
MemberName 17(InParam) 0 "v"
MemberName 17(InParam) 1 "fragCoord"
MemberName 17(InParam) 2 "i2"
Name 21 "@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;"
Name 20 "i"
Name 36 "local"
Name 48 "ret1"
Name 49 "param"
Name 52 "ret2"
Name 53 "param"
Name 64 "i"
Name 65 "InParam"
MemberName 65(InParam) 0 "v"
MemberName 65(InParam) 1 "i2"
Name 67 "i"
Name 73 "i_fragCoord"
Name 81 "@entryPointOutput"
Name 82 "param"
MemberDecorate 17(InParam) 1 BuiltIn FragCoord
Decorate 67(i) Location 0
Decorate 73(i_fragCoord) BuiltIn FragCoord
Decorate 81(@entryPointOutput) Location 0
Name 19 "@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;"
Name 18 "i"
Name 34 "local"
Name 36 "ret1"
Name 37 "param"
Name 40 "ret2"
Name 41 "param"
Name 53 "i"
Name 54 "InParam"
MemberName 54(InParam) 0 "v"
MemberName 54(InParam) 1 "i2"
Name 56 "i"
Name 63 "i_fragCoord"
Name 73 "@entryPointOutput"
Name 74 "param"
Decorate 56(i) Location 0
Decorate 63(i_fragCoord) BuiltIn FragCoord
Decorate 73(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -224,90 +219,80 @@ gl_FragCoord origin is upper left
11(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
12: TypePointer Function 11(InParam)
13: TypeFunction 6(float) 12(ptr)
17(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
18: TypePointer Function 17(InParam)
19: TypeFunction 8(fvec4) 18(ptr)
23: 9(int) Constant 0
24: TypeInt 32 0
25: 24(int) Constant 1
26: TypePointer Function 6(float)
29: 9(int) Constant 1
30: 24(int) Constant 0
39: TypePointer Function 7(fvec2)
42: TypePointer Function 8(fvec4)
45: 9(int) Constant 2
46: TypePointer Function 10(ivec2)
65(InParam): TypeStruct 7(fvec2) 10(ivec2)
66: TypePointer Input 65(InParam)
67(i): 66(ptr) Variable Input
68: TypePointer Input 7(fvec2)
72: TypePointer Input 8(fvec4)
73(i_fragCoord): 72(ptr) Variable Input
76: TypePointer Input 10(ivec2)
80: TypePointer Output 8(fvec4)
81(@entryPointOutput): 80(ptr) Variable Output
17: TypeFunction 8(fvec4) 12(ptr)
21: 9(int) Constant 0
22: TypeInt 32 0
23: 22(int) Constant 1
24: TypePointer Function 6(float)
27: 9(int) Constant 1
28: 22(int) Constant 0
44: TypePointer Function 8(fvec4)
54(InParam): TypeStruct 7(fvec2) 10(ivec2)
55: TypePointer Input 54(InParam)
56(i): 55(ptr) Variable Input
57: TypePointer Input 7(fvec2)
60: TypePointer Function 7(fvec2)
62: TypePointer Input 8(fvec4)
63(i_fragCoord): 62(ptr) Variable Input
66: 9(int) Constant 2
67: TypePointer Input 10(ivec2)
70: TypePointer Function 10(ivec2)
72: TypePointer Output 8(fvec4)
73(@entryPointOutput): 72(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
64(i): 18(ptr) Variable Function
82(param): 18(ptr) Variable Function
69: 68(ptr) AccessChain 67(i) 23
70: 7(fvec2) Load 69
71: 39(ptr) AccessChain 64(i) 23
Store 71 70
74: 8(fvec4) Load 73(i_fragCoord)
75: 42(ptr) AccessChain 64(i) 29
Store 75 74
77: 76(ptr) AccessChain 67(i) 29
78: 10(ivec2) Load 77
79: 46(ptr) AccessChain 64(i) 45
Store 79 78
83: 17(InParam) Load 64(i)
Store 82(param) 83
84: 8(fvec4) FunctionCall 21(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;) 82(param)
Store 81(@entryPointOutput) 84
53(i): 12(ptr) Variable Function
74(param): 12(ptr) Variable Function
58: 57(ptr) AccessChain 56(i) 21
59: 7(fvec2) Load 58
61: 60(ptr) AccessChain 53(i) 21
Store 61 59
64: 8(fvec4) Load 63(i_fragCoord)
65: 44(ptr) AccessChain 53(i) 27
Store 65 64
68: 67(ptr) AccessChain 56(i) 27
69: 10(ivec2) Load 68
71: 70(ptr) AccessChain 53(i) 66
Store 71 69
75: 11(InParam) Load 53(i)
Store 74(param) 75
76: 8(fvec4) FunctionCall 19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;) 74(param)
Store 73(@entryPointOutput) 76
Return
FunctionEnd
15(fun(struct-InParam-vf2-vf4-vi21;): 6(float) Function None 13
14(p): 12(ptr) FunctionParameter
16: Label
27: 26(ptr) AccessChain 14(p) 23 25
28: 6(float) Load 27
31: 26(ptr) AccessChain 14(p) 29 30
32: 6(float) Load 31
33: 6(float) FAdd 28 32
ReturnValue 33
25: 24(ptr) AccessChain 14(p) 21 23
26: 6(float) Load 25
29: 24(ptr) AccessChain 14(p) 27 28
30: 6(float) Load 29
31: 6(float) FAdd 26 30
ReturnValue 31
FunctionEnd
21(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;): 8(fvec4) Function None 19
20(i): 18(ptr) FunctionParameter
22: Label
36(local): 12(ptr) Variable Function
48(ret1): 26(ptr) Variable Function
49(param): 12(ptr) Variable Function
52(ret2): 26(ptr) Variable Function
53(param): 18(ptr) Variable Function
37: 17(InParam) Load 20(i)
38: 7(fvec2) CompositeExtract 37 0
40: 39(ptr) AccessChain 36(local) 23
Store 40 38
41: 8(fvec4) CompositeExtract 37 1
43: 42(ptr) AccessChain 36(local) 29
Store 43 41
44: 10(ivec2) CompositeExtract 37 2
47: 46(ptr) AccessChain 36(local) 45
Store 47 44
50: 11(InParam) Load 36(local)
Store 49(param) 50
51: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 49(param)
Store 48(ret1) 51
54: 17(InParam) Load 20(i)
Store 53(param) 54
55: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 53(param)
Store 52(ret2) 55
56: 42(ptr) AccessChain 36(local) 29
57: 8(fvec4) Load 56
58: 6(float) Load 48(ret1)
59: 8(fvec4) VectorTimesScalar 57 58
60: 6(float) Load 52(ret2)
61: 8(fvec4) VectorTimesScalar 59 60
ReturnValue 61
19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;): 8(fvec4) Function None 17
18(i): 12(ptr) FunctionParameter
20: Label
34(local): 12(ptr) Variable Function
36(ret1): 24(ptr) Variable Function
37(param): 12(ptr) Variable Function
40(ret2): 24(ptr) Variable Function
41(param): 12(ptr) Variable Function
35: 11(InParam) Load 18(i)
Store 34(local) 35
38: 11(InParam) Load 34(local)
Store 37(param) 38
39: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 37(param)
Store 36(ret1) 39
42: 11(InParam) Load 18(i)
Store 41(param) 42
43: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 41(param)
Store 40(ret2) 43
45: 44(ptr) AccessChain 34(local) 27
46: 8(fvec4) Load 45
47: 6(float) Load 36(ret1)
48: 8(fvec4) VectorTimesScalar 46 47
49: 6(float) Load 40(ret2)
50: 8(fvec4) VectorTimesScalar 48 49
ReturnValue 50
FunctionEnd

Просмотреть файл

@ -1,7 +1,7 @@
hlsl.gather.basic.dx10.vert
Shader version: 450
0:? Sequence
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
@ -85,8 +85,8 @@ Shader version: 450
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:28 Pos: direct index for structure (temp 4-component vector of float Position)
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Pos: direct index for structure (temp 4-component vector of float)
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:28 Constant:
0:28 0 (const int)
0:? Linker Objects
@ -113,7 +113,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
@ -197,8 +197,8 @@ Shader version: 450
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:28 Pos: direct index for structure (temp 4-component vector of float Position)
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Pos: direct index for structure (temp 4-component vector of float)
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:28 Constant:
0:28 0 (const int)
0:? Linker Objects
@ -221,13 +221,13 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 135
// Id's are bound by 129
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 109 134
EntryPoint Vertex 4 "main" 103 128
Name 4 "main"
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
@ -245,22 +245,19 @@ Shader version: 450
Name 74 "g_tTexcdi4"
Name 81 "txval42"
Name 84 "g_tTexcdu4"
Name 94 "VS_OUTPUT"
MemberName 94(VS_OUTPUT) 0 "Pos"
Name 96 "vsout"
Name 109 "@entryPointOutput_Pos"
Name 112 "g_sSamp2d"
Name 115 "g_tTex1df4a"
Name 116 "g_tTex1df4"
Name 119 "g_tTex1di4"
Name 122 "g_tTex1du4"
Name 125 "g_tTex3df4"
Name 128 "g_tTex3di4"
Name 131 "g_tTex3du4"
Name 132 "PerVertex_out"
MemberName 132(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 134 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Name 95 "vsout"
Name 103 "@entryPointOutput_Pos"
Name 106 "g_sSamp2d"
Name 109 "g_tTex1df4a"
Name 110 "g_tTex1df4"
Name 113 "g_tTex1di4"
Name 116 "g_tTex1du4"
Name 119 "g_tTex3df4"
Name 122 "g_tTex3di4"
Name 125 "g_tTex3du4"
Name 126 "PerVertex_out"
MemberName 126(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 128 "PerVertex_out"
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
@ -269,19 +266,19 @@ Shader version: 450
Decorate 63(g_tTexcdf4) DescriptorSet 0
Decorate 74(g_tTexcdi4) DescriptorSet 0
Decorate 84(g_tTexcdu4) DescriptorSet 0
Decorate 109(@entryPointOutput_Pos) BuiltIn Position
Decorate 112(g_sSamp2d) DescriptorSet 0
Decorate 115(g_tTex1df4a) DescriptorSet 0
Decorate 115(g_tTex1df4a) Binding 1
Decorate 116(g_tTex1df4) DescriptorSet 0
Decorate 116(g_tTex1df4) Binding 0
Decorate 119(g_tTex1di4) DescriptorSet 0
Decorate 122(g_tTex1du4) DescriptorSet 0
Decorate 125(g_tTex3df4) DescriptorSet 0
Decorate 128(g_tTex3di4) DescriptorSet 0
Decorate 131(g_tTex3du4) DescriptorSet 0
MemberDecorate 132(PerVertex_out) 0 BuiltIn Position
Decorate 132(PerVertex_out) Block
Decorate 103(@entryPointOutput_Pos) BuiltIn Position
Decorate 106(g_sSamp2d) DescriptorSet 0
Decorate 109(g_tTex1df4a) DescriptorSet 0
Decorate 109(g_tTex1df4a) Binding 1
Decorate 110(g_tTex1df4) DescriptorSet 0
Decorate 110(g_tTex1df4) Binding 0
Decorate 113(g_tTex1di4) DescriptorSet 0
Decorate 116(g_tTex1du4) DescriptorSet 0
Decorate 119(g_tTex3df4) DescriptorSet 0
Decorate 122(g_tTex3di4) DescriptorSet 0
Decorate 125(g_tTex3du4) DescriptorSet 0
MemberDecorate 126(PerVertex_out) 0 BuiltIn Position
Decorate 126(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -340,41 +337,39 @@ Shader version: 450
90: 6(float) Constant 1061997773
91: 6(float) Constant 1063675494
92: 68(fvec3) ConstantComposite 89 90 91
94(VS_OUTPUT): TypeStruct 7(fvec4)
95: TypePointer Function 94(VS_OUTPUT)
97: 6(float) Constant 0
98: 7(fvec4) ConstantComposite 97 97 97 97
101: TypePointer Function 8(VS_OUTPUT)
108: TypePointer Output 7(fvec4)
109(@entryPointOutput_Pos): 108(ptr) Variable Output
112(g_sSamp2d): 19(ptr) Variable UniformConstant
113: TypeImage 6(float) 1D sampled format:Unknown
114: TypePointer UniformConstant 113
115(g_tTex1df4a): 114(ptr) Variable UniformConstant
116(g_tTex1df4): 114(ptr) Variable UniformConstant
117: TypeImage 28(int) 1D sampled format:Unknown
94: TypePointer Function 8(VS_OUTPUT)
96: 6(float) Constant 0
97: 7(fvec4) ConstantComposite 96 96 96 96
102: TypePointer Output 7(fvec4)
103(@entryPointOutput_Pos): 102(ptr) Variable Output
106(g_sSamp2d): 19(ptr) Variable UniformConstant
107: TypeImage 6(float) 1D sampled format:Unknown
108: TypePointer UniformConstant 107
109(g_tTex1df4a): 108(ptr) Variable UniformConstant
110(g_tTex1df4): 108(ptr) Variable UniformConstant
111: TypeImage 28(int) 1D sampled format:Unknown
112: TypePointer UniformConstant 111
113(g_tTex1di4): 112(ptr) Variable UniformConstant
114: TypeImage 45(int) 1D sampled format:Unknown
115: TypePointer UniformConstant 114
116(g_tTex1du4): 115(ptr) Variable UniformConstant
117: TypeImage 6(float) 3D sampled format:Unknown
118: TypePointer UniformConstant 117
119(g_tTex1di4): 118(ptr) Variable UniformConstant
120: TypeImage 45(int) 1D sampled format:Unknown
119(g_tTex3df4): 118(ptr) Variable UniformConstant
120: TypeImage 28(int) 3D sampled format:Unknown
121: TypePointer UniformConstant 120
122(g_tTex1du4): 121(ptr) Variable UniformConstant
123: TypeImage 6(float) 3D sampled format:Unknown
122(g_tTex3di4): 121(ptr) Variable UniformConstant
123: TypeImage 45(int) 3D sampled format:Unknown
124: TypePointer UniformConstant 123
125(g_tTex3df4): 124(ptr) Variable UniformConstant
126: TypeImage 28(int) 3D sampled format:Unknown
127: TypePointer UniformConstant 126
128(g_tTex3di4): 127(ptr) Variable UniformConstant
129: TypeImage 45(int) 3D sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTex3du4): 130(ptr) Variable UniformConstant
132(PerVertex_out): TypeStruct 7(fvec4)
133: TypePointer Output 132(PerVertex_out)
134(PerVertex_out): 133(ptr) Variable Output
125(g_tTex3du4): 124(ptr) Variable UniformConstant
126(PerVertex_out): TypeStruct 7(fvec4)
127: TypePointer Output 126(PerVertex_out)
128(PerVertex_out): 127(ptr) Variable Output
4(main): 2 Function None 3
5: Label
110:8(VS_OUTPUT) FunctionCall 10(@main()
111: 7(fvec4) CompositeExtract 110 0
Store 109(@entryPointOutput_Pos) 111
104:8(VS_OUTPUT) FunctionCall 10(@main()
105: 7(fvec4) CompositeExtract 104 0
Store 103(@entryPointOutput_Pos) 105
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
@ -385,8 +380,7 @@ Shader version: 450
60(txval40): 12(ptr) Variable Function
71(txval41): 32(ptr) Variable Function
81(txval42): 47(ptr) Variable Function
96(vsout): 95(ptr) Variable Function
102: 101(ptr) Variable Function
95(vsout): 94(ptr) Variable Function
17: 14 Load 16(g_tTex2df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
@ -417,12 +411,8 @@ Shader version: 450
88: 87 SampledImage 85 86
93: 46(ivec4) ImageGather 88 92 29
Store 81(txval42) 93
99: 12(ptr) AccessChain 96(vsout) 29
Store 99 98
100:94(VS_OUTPUT) Load 96(vsout)
103: 7(fvec4) CompositeExtract 100 0
104: 12(ptr) AccessChain 102 29
Store 104 103
105:8(VS_OUTPUT) Load 102
ReturnValue 105
98: 12(ptr) AccessChain 95(vsout) 29
Store 98 97
99:8(VS_OUTPUT) Load 95(vsout)
ReturnValue 99
FunctionEnd

Просмотреть файл

@ -1,7 +1,7 @@
hlsl.getdimensions.dx10.vert
Shader version: 450
0:? Sequence
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:11 Function Parameters:
0:? Sequence
0:21 Sequence
@ -44,8 +44,8 @@ Shader version: 450
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:11 Pos: direct index for structure (temp 4-component vector of float Position)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Pos: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
@ -59,7 +59,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:11 Function Parameters:
0:? Sequence
0:21 Sequence
@ -102,8 +102,8 @@ Shader version: 450
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:11 Pos: direct index for structure (temp 4-component vector of float Position)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Pos: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
@ -113,14 +113,14 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 57
// Id's are bound by 51
Capability Shader
Capability Sampled1D
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 48 56
EntryPoint Vertex 4 "main" 42 50
Name 4 "main"
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
@ -130,22 +130,19 @@ Shader version: 450
Name 21 "WidthU"
Name 23 "sizeQueryTemp"
Name 28 "NumberOfLevelsU"
Name 31 "VS_OUTPUT"
MemberName 31(VS_OUTPUT) 0 "Pos"
Name 33 "vsout"
Name 48 "@entryPointOutput_Pos"
Name 53 "g_sSamp"
Name 54 "PerVertex_out"
MemberName 54(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 56 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Name 32 "vsout"
Name 42 "@entryPointOutput_Pos"
Name 47 "g_sSamp"
Name 48 "PerVertex_out"
MemberName 48(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 50 "PerVertex_out"
Decorate 17(g_tTex1df4) DescriptorSet 0
Decorate 17(g_tTex1df4) Binding 0
Decorate 48(@entryPointOutput_Pos) BuiltIn Position
Decorate 53(g_sSamp) DescriptorSet 0
Decorate 53(g_sSamp) Binding 0
MemberDecorate 54(PerVertex_out) 0 BuiltIn Position
Decorate 54(PerVertex_out) Block
Decorate 42(@entryPointOutput_Pos) BuiltIn Position
Decorate 47(g_sSamp) DescriptorSet 0
Decorate 47(g_sSamp) Binding 0
MemberDecorate 48(PerVertex_out) 0 BuiltIn Position
Decorate 48(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -159,26 +156,24 @@ Shader version: 450
17(g_tTex1df4): 16(ptr) Variable UniformConstant
19: TypeInt 32 1
25: 12(int) Constant 6
31(VS_OUTPUT): TypeStruct 7(fvec4)
32: TypePointer Function 31(VS_OUTPUT)
34: 19(int) Constant 0
35: 6(float) Constant 0
36: 7(fvec4) ConstantComposite 35 35 35 35
37: TypePointer Function 7(fvec4)
40: TypePointer Function 8(VS_OUTPUT)
47: TypePointer Output 7(fvec4)
48(@entryPointOutput_Pos): 47(ptr) Variable Output
51: TypeSampler
52: TypePointer UniformConstant 51
53(g_sSamp): 52(ptr) Variable UniformConstant
54(PerVertex_out): TypeStruct 7(fvec4)
55: TypePointer Output 54(PerVertex_out)
56(PerVertex_out): 55(ptr) Variable Output
31: TypePointer Function 8(VS_OUTPUT)
33: 19(int) Constant 0
34: 6(float) Constant 0
35: 7(fvec4) ConstantComposite 34 34 34 34
36: TypePointer Function 7(fvec4)
41: TypePointer Output 7(fvec4)
42(@entryPointOutput_Pos): 41(ptr) Variable Output
45: TypeSampler
46: TypePointer UniformConstant 45
47(g_sSamp): 46(ptr) Variable UniformConstant
48(PerVertex_out): TypeStruct 7(fvec4)
49: TypePointer Output 48(PerVertex_out)
50(PerVertex_out): 49(ptr) Variable Output
4(main): 2 Function None 3
5: Label
49:8(VS_OUTPUT) FunctionCall 10(@main()
50: 7(fvec4) CompositeExtract 49 0
Store 48(@entryPointOutput_Pos) 50
43:8(VS_OUTPUT) FunctionCall 10(@main()
44: 7(fvec4) CompositeExtract 43 0
Store 42(@entryPointOutput_Pos) 44
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
@ -187,8 +182,7 @@ Shader version: 450
21(WidthU): 13(ptr) Variable Function
23(sizeQueryTemp): 13(ptr) Variable Function
28(NumberOfLevelsU): 13(ptr) Variable Function
33(vsout): 32(ptr) Variable Function
41: 40(ptr) Variable Function
32(vsout): 31(ptr) Variable Function
18: 15 Load 17(g_tTex1df4)
20: 19(int) ImageQuerySize 18
Store 14(sizeQueryTemp) 20
@ -202,12 +196,8 @@ Shader version: 450
29: 15 Load 17(g_tTex1df4)
30: 19(int) ImageQueryLevels 29
Store 28(NumberOfLevelsU) 30
38: 37(ptr) AccessChain 33(vsout) 34
Store 38 36
39:31(VS_OUTPUT) Load 33(vsout)
42: 7(fvec4) CompositeExtract 39 0
43: 37(ptr) AccessChain 41 34
Store 43 42
44:8(VS_OUTPUT) Load 41
ReturnValue 44
37: 36(ptr) AccessChain 32(vsout) 33
Store 37 35
38:8(VS_OUTPUT) Load 32(vsout)
ReturnValue 38
FunctionEnd

Просмотреть файл

@ -20,8 +20,8 @@ gl_FragCoord origin is upper left
0:11 -1.000000
0:15 Function Definition: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
0:15 'sampleMask' (out int SampleMaskIn)
0:15 'inpos' (in 4-component vector of float)
0:15 'sampleMask' (out int)
0:? Sequence
0:18 Sequence
0:18 move second child to first child (temp float)
@ -53,7 +53,7 @@ gl_FragCoord origin is upper left
0:22 Constant:
0:22 1 (const int)
0:22 direct index (temp float)
0:22 'inpos' (noperspective in 4-component vector of float FragCoord)
0:22 'inpos' (in 4-component vector of float)
0:22 Constant:
0:22 3 (const int)
0:24 Branch: Return with expression
@ -116,8 +116,8 @@ gl_FragCoord origin is upper left
0:11 -1.000000
0:15 Function Definition: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
0:15 'sampleMask' (out int SampleMaskIn)
0:15 'inpos' (in 4-component vector of float)
0:15 'sampleMask' (out int)
0:? Sequence
0:18 Sequence
0:18 move second child to first child (temp float)
@ -149,7 +149,7 @@ gl_FragCoord origin is upper left
0:22 Constant:
0:22 1 (const int)
0:22 direct index (temp float)
0:22 'inpos' (noperspective in 4-component vector of float FragCoord)
0:22 'inpos' (in 4-component vector of float)
0:22 Constant:
0:22 3 (const int)
0:24 Branch: Return with expression

Просмотреть файл

@ -1,7 +1,7 @@
hlsl.load.basic.dx10.vert
Shader version: 450
0:? Sequence
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:47 Function Parameters:
0:? Sequence
0:51 textureFetch (temp 4-component vector of float)
@ -193,8 +193,8 @@ Shader version: 450
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:47 Pos: direct index for structure (temp 4-component vector of float Position)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Pos: direct index for structure (temp 4-component vector of float)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:47 Constant:
0:47 0 (const int)
0:? Linker Objects
@ -229,7 +229,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:47 Function Parameters:
0:? Sequence
0:51 textureFetch (temp 4-component vector of float)
@ -421,8 +421,8 @@ Shader version: 450
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:47 Pos: direct index for structure (temp 4-component vector of float Position)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Pos: direct index for structure (temp 4-component vector of float)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:47 Constant:
0:47 0 (const int)
0:? Linker Objects
@ -453,14 +453,14 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 180
// Id's are bound by 174
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 135 179
EntryPoint Vertex 4 "main" 129 173
Name 4 "main"
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
@ -484,27 +484,24 @@ Shader version: 450
Name 87 "g_tTex3df4"
Name 100 "g_tTex3di4"
Name 110 "g_tTex3du4"
Name 118 "VS_OUTPUT"
MemberName 118(VS_OUTPUT) 0 "Pos"
Name 120 "vsout"
Name 135 "@entryPointOutput_Pos"
Name 140 "g_sSamp"
Name 143 "g_tTexcdf4"
Name 146 "g_tTexcdi4"
Name 149 "g_tTexcdu4"
Name 152 "g_tTex1df4a"
Name 155 "g_tTex1di4a"
Name 158 "g_tTex1du4a"
Name 161 "g_tTex2df4a"
Name 164 "g_tTex2di4a"
Name 167 "g_tTex2du4a"
Name 170 "g_tTexcdf4a"
Name 173 "g_tTexcdi4a"
Name 176 "g_tTexcdu4a"
Name 177 "PerVertex_out"
MemberName 177(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 179 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Name 119 "vsout"
Name 129 "@entryPointOutput_Pos"
Name 134 "g_sSamp"
Name 137 "g_tTexcdf4"
Name 140 "g_tTexcdi4"
Name 143 "g_tTexcdu4"
Name 146 "g_tTex1df4a"
Name 149 "g_tTex1di4a"
Name 152 "g_tTex1du4a"
Name 155 "g_tTex2df4a"
Name 158 "g_tTex2di4a"
Name 161 "g_tTex2du4a"
Name 164 "g_tTexcdf4a"
Name 167 "g_tTexcdi4a"
Name 170 "g_tTexcdu4a"
Name 171 "PerVertex_out"
MemberName 171(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 173 "PerVertex_out"
Decorate 14(g_tTex1df4) DescriptorSet 0
Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 20($Global) 0 Offset 0
@ -525,23 +522,23 @@ Shader version: 450
Decorate 87(g_tTex3df4) DescriptorSet 0
Decorate 100(g_tTex3di4) DescriptorSet 0
Decorate 110(g_tTex3du4) DescriptorSet 0
Decorate 135(@entryPointOutput_Pos) BuiltIn Position
Decorate 140(g_sSamp) DescriptorSet 0
Decorate 140(g_sSamp) Binding 0
Decorate 143(g_tTexcdf4) DescriptorSet 0
Decorate 146(g_tTexcdi4) DescriptorSet 0
Decorate 149(g_tTexcdu4) DescriptorSet 0
Decorate 152(g_tTex1df4a) DescriptorSet 0
Decorate 155(g_tTex1di4a) DescriptorSet 0
Decorate 158(g_tTex1du4a) DescriptorSet 0
Decorate 161(g_tTex2df4a) DescriptorSet 0
Decorate 164(g_tTex2di4a) DescriptorSet 0
Decorate 167(g_tTex2du4a) DescriptorSet 0
Decorate 170(g_tTexcdf4a) DescriptorSet 0
Decorate 173(g_tTexcdi4a) DescriptorSet 0
Decorate 176(g_tTexcdu4a) DescriptorSet 0
MemberDecorate 177(PerVertex_out) 0 BuiltIn Position
Decorate 177(PerVertex_out) Block
Decorate 129(@entryPointOutput_Pos) BuiltIn Position
Decorate 134(g_sSamp) DescriptorSet 0
Decorate 134(g_sSamp) Binding 0
Decorate 137(g_tTexcdf4) DescriptorSet 0
Decorate 140(g_tTexcdi4) DescriptorSet 0
Decorate 143(g_tTexcdu4) DescriptorSet 0
Decorate 146(g_tTex1df4a) DescriptorSet 0
Decorate 149(g_tTex1di4a) DescriptorSet 0
Decorate 152(g_tTex1du4a) DescriptorSet 0
Decorate 155(g_tTex2df4a) DescriptorSet 0
Decorate 158(g_tTex2di4a) DescriptorSet 0
Decorate 161(g_tTex2du4a) DescriptorSet 0
Decorate 164(g_tTexcdf4a) DescriptorSet 0
Decorate 167(g_tTexcdi4a) DescriptorSet 0
Decorate 170(g_tTexcdu4a) DescriptorSet 0
MemberDecorate 171(PerVertex_out) 0 BuiltIn Position
Decorate 171(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -594,68 +591,65 @@ Shader version: 450
108: TypeImage 24(int) 3D sampled format:Unknown
109: TypePointer UniformConstant 108
110(g_tTex3du4): 109(ptr) Variable UniformConstant
118(VS_OUTPUT): TypeStruct 7(fvec4)
119: TypePointer Function 118(VS_OUTPUT)
121: 16(int) Constant 0
122: 6(float) Constant 0
123: 7(fvec4) ConstantComposite 122 122 122 122
124: TypePointer Function 7(fvec4)
127: TypePointer Function 8(VS_OUTPUT)
134: TypePointer Output 7(fvec4)
135(@entryPointOutput_Pos): 134(ptr) Variable Output
138: TypeSampler
118: TypePointer Function 8(VS_OUTPUT)
120: 16(int) Constant 0
121: 6(float) Constant 0
122: 7(fvec4) ConstantComposite 121 121 121 121
123: TypePointer Function 7(fvec4)
128: TypePointer Output 7(fvec4)
129(@entryPointOutput_Pos): 128(ptr) Variable Output
132: TypeSampler
133: TypePointer UniformConstant 132
134(g_sSamp): 133(ptr) Variable UniformConstant
135: TypeImage 6(float) Cube sampled format:Unknown
136: TypePointer UniformConstant 135
137(g_tTexcdf4): 136(ptr) Variable UniformConstant
138: TypeImage 16(int) Cube sampled format:Unknown
139: TypePointer UniformConstant 138
140(g_sSamp): 139(ptr) Variable UniformConstant
141: TypeImage 6(float) Cube sampled format:Unknown
140(g_tTexcdi4): 139(ptr) Variable UniformConstant
141: TypeImage 24(int) Cube sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdf4): 142(ptr) Variable UniformConstant
144: TypeImage 16(int) Cube sampled format:Unknown
143(g_tTexcdu4): 142(ptr) Variable UniformConstant
144: TypeImage 6(float) 1D array sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTexcdi4): 145(ptr) Variable UniformConstant
147: TypeImage 24(int) Cube sampled format:Unknown
146(g_tTex1df4a): 145(ptr) Variable UniformConstant
147: TypeImage 16(int) 1D array sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTexcdu4): 148(ptr) Variable UniformConstant
150: TypeImage 6(float) 1D array sampled format:Unknown
149(g_tTex1di4a): 148(ptr) Variable UniformConstant
150: TypeImage 24(int) 1D array sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTex1df4a): 151(ptr) Variable UniformConstant
153: TypeImage 16(int) 1D array sampled format:Unknown
152(g_tTex1du4a): 151(ptr) Variable UniformConstant
153: TypeImage 6(float) 2D array sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTex1di4a): 154(ptr) Variable UniformConstant
156: TypeImage 24(int) 1D array sampled format:Unknown
155(g_tTex2df4a): 154(ptr) Variable UniformConstant
156: TypeImage 16(int) 2D array sampled format:Unknown
157: TypePointer UniformConstant 156
158(g_tTex1du4a): 157(ptr) Variable UniformConstant
159: TypeImage 6(float) 2D array sampled format:Unknown
158(g_tTex2di4a): 157(ptr) Variable UniformConstant
159: TypeImage 24(int) 2D array sampled format:Unknown
160: TypePointer UniformConstant 159
161(g_tTex2df4a): 160(ptr) Variable UniformConstant
162: TypeImage 16(int) 2D array sampled format:Unknown
161(g_tTex2du4a): 160(ptr) Variable UniformConstant
162: TypeImage 6(float) Cube array sampled format:Unknown
163: TypePointer UniformConstant 162
164(g_tTex2di4a): 163(ptr) Variable UniformConstant
165: TypeImage 24(int) 2D array sampled format:Unknown
164(g_tTexcdf4a): 163(ptr) Variable UniformConstant
165: TypeImage 16(int) Cube array sampled format:Unknown
166: TypePointer UniformConstant 165
167(g_tTex2du4a): 166(ptr) Variable UniformConstant
168: TypeImage 6(float) Cube array sampled format:Unknown
167(g_tTexcdi4a): 166(ptr) Variable UniformConstant
168: TypeImage 24(int) Cube array sampled format:Unknown
169: TypePointer UniformConstant 168
170(g_tTexcdf4a): 169(ptr) Variable UniformConstant
171: TypeImage 16(int) Cube array sampled format:Unknown
172: TypePointer UniformConstant 171
173(g_tTexcdi4a): 172(ptr) Variable UniformConstant
174: TypeImage 24(int) Cube array sampled format:Unknown
175: TypePointer UniformConstant 174
176(g_tTexcdu4a): 175(ptr) Variable UniformConstant
177(PerVertex_out): TypeStruct 7(fvec4)
178: TypePointer Output 177(PerVertex_out)
179(PerVertex_out): 178(ptr) Variable Output
170(g_tTexcdu4a): 169(ptr) Variable UniformConstant
171(PerVertex_out): TypeStruct 7(fvec4)
172: TypePointer Output 171(PerVertex_out)
173(PerVertex_out): 172(ptr) Variable Output
4(main): 2 Function None 3
5: Label
136:8(VS_OUTPUT) FunctionCall 10(@main()
137: 7(fvec4) CompositeExtract 136 0
Store 135(@entryPointOutput_Pos) 137
130:8(VS_OUTPUT) FunctionCall 10(@main()
131: 7(fvec4) CompositeExtract 130 0
Store 129(@entryPointOutput_Pos) 131
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
11: Label
120(vsout): 119(ptr) Variable Function
128: 127(ptr) Variable Function
119(vsout): 118(ptr) Variable Function
15: 12 Load 14(g_tTex1df4)
27: 26(ptr) AccessChain 22 23 25
28: 16(int) Load 27
@ -716,12 +710,8 @@ Shader version: 450
115: 26(ptr) AccessChain 22 89 94
116: 16(int) Load 115
117: 50(ivec4) ImageFetch 111 114 Lod 116
125: 124(ptr) AccessChain 120(vsout) 121
Store 125 123
126:118(VS_OUTPUT) Load 120(vsout)
129: 7(fvec4) CompositeExtract 126 0
130: 124(ptr) AccessChain 128 121
Store 130 129
131:8(VS_OUTPUT) Load 128
ReturnValue 131
124: 123(ptr) AccessChain 119(vsout) 120
Store 124 122
125:8(VS_OUTPUT) Load 119(vsout)
ReturnValue 125
FunctionEnd

Просмотреть файл

@ -10,13 +10,13 @@ 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)
0:9 Function Parameters:
0:9 'Index' (in uint VertexIndex)
0:9 'Index' (in uint)
0:? Sequence
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:10 'Index' (in uint)
0:9 Function Definition: RealEntrypoint( (temp void)
0:9 Function Parameters:
0:? Sequence
@ -25,7 +25,7 @@ Shader version: 450
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:9 Function Call: @RealEntrypoint(u1; (temp 4-component vector of float)
0:? 'Index' (temp uint)
0:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
@ -47,13 +47,13 @@ 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)
0:9 Function Parameters:
0:9 'Index' (in uint VertexIndex)
0:9 'Index' (in uint)
0:? Sequence
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:10 'Index' (in uint)
0:9 Function Definition: RealEntrypoint( (temp void)
0:9 Function Parameters:
0:? Sequence
@ -62,7 +62,7 @@ Shader version: 450
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:9 Function Call: @RealEntrypoint(u1; (temp 4-component vector of float)
0:? 'Index' (temp uint)
0:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)

Просмотреть файл

@ -7,7 +7,7 @@ local_size = (4, 4, 2)
0:4 'tid' (in 3-component vector of uint)
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 'tid' (in 3-component vector of uint)
0:9 Function Definition: main_aux1( (temp void)
0:9 Function Parameters:
0:? Sequence
@ -31,7 +31,7 @@ local_size = (4, 4, 2)
0:4 'tid' (in 3-component vector of uint)
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 'tid' (in 3-component vector of uint)
0:9 Function Definition: main_aux1( (temp void)
0:9 Function Parameters:
0:? Sequence

Просмотреть файл

@ -1,7 +1,7 @@
hlsl.samplegrad.basic.dx10.vert
Shader version: 450
0:? Sequence
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:27 Function Parameters:
0:? Sequence
0:30 Sequence
@ -223,8 +223,8 @@ Shader version: 450
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:27 Pos: direct index for structure (temp 4-component vector of float Position)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Pos: direct index for structure (temp 4-component vector of float)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:27 Constant:
0:27 0 (const int)
0:? Linker Objects
@ -250,7 +250,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:27 Function Parameters:
0:? Sequence
0:30 Sequence
@ -472,8 +472,8 @@ Shader version: 450
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:27 Pos: direct index for structure (temp 4-component vector of float Position)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Pos: direct index for structure (temp 4-component vector of float)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:27 Constant:
0:27 0 (const int)
0:? Linker Objects
@ -495,13 +495,13 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 175
// Id's are bound by 169
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 168 174
EntryPoint Vertex 4 "main" 162 168
Name 4 "main"
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
@ -531,15 +531,12 @@ Shader version: 450
Name 137 "g_tTexcdi4"
Name 143 "txval42"
Name 146 "g_tTexcdu4"
Name 152 "VS_OUTPUT"
MemberName 152(VS_OUTPUT) 0 "Pos"
Name 154 "vsout"
Name 168 "@entryPointOutput_Pos"
Name 171 "g_tTex1df4a"
Name 172 "PerVertex_out"
MemberName 172(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 174 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Name 153 "vsout"
Name 162 "@entryPointOutput_Pos"
Name 165 "g_tTex1df4a"
Name 166 "PerVertex_out"
MemberName 166(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 168 "PerVertex_out"
Decorate 16(g_tTex1df4) DescriptorSet 0
Decorate 16(g_tTex1df4) Binding 0
Decorate 20(g_sSamp) DescriptorSet 0
@ -555,11 +552,11 @@ Shader version: 450
Decorate 128(g_tTexcdf4) DescriptorSet 0
Decorate 137(g_tTexcdi4) DescriptorSet 0
Decorate 146(g_tTexcdu4) DescriptorSet 0
Decorate 168(@entryPointOutput_Pos) BuiltIn Position
Decorate 171(g_tTex1df4a) DescriptorSet 0
Decorate 171(g_tTex1df4a) Binding 1
MemberDecorate 172(PerVertex_out) 0 BuiltIn Position
Decorate 172(PerVertex_out) Block
Decorate 162(@entryPointOutput_Pos) BuiltIn Position
Decorate 165(g_tTex1df4a) DescriptorSet 0
Decorate 165(g_tTex1df4a) Binding 1
MemberDecorate 166(PerVertex_out) 0 BuiltIn Position
Decorate 166(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -646,23 +643,21 @@ Shader version: 450
145: TypePointer UniformConstant 144
146(g_tTexcdu4): 145(ptr) Variable UniformConstant
149: TypeSampledImage 144
152(VS_OUTPUT): TypeStruct 7(fvec4)
153: TypePointer Function 152(VS_OUTPUT)
155: 28(int) Constant 0
156: 6(float) Constant 0
157: 7(fvec4) ConstantComposite 156 156 156 156
160: TypePointer Function 8(VS_OUTPUT)
167: TypePointer Output 7(fvec4)
168(@entryPointOutput_Pos): 167(ptr) Variable Output
171(g_tTex1df4a): 15(ptr) Variable UniformConstant
172(PerVertex_out): TypeStruct 7(fvec4)
173: TypePointer Output 172(PerVertex_out)
174(PerVertex_out): 173(ptr) Variable Output
152: TypePointer Function 8(VS_OUTPUT)
154: 28(int) Constant 0
155: 6(float) Constant 0
156: 7(fvec4) ConstantComposite 155 155 155 155
161: TypePointer Output 7(fvec4)
162(@entryPointOutput_Pos): 161(ptr) Variable Output
165(g_tTex1df4a): 15(ptr) Variable UniformConstant
166(PerVertex_out): TypeStruct 7(fvec4)
167: TypePointer Output 166(PerVertex_out)
168(PerVertex_out): 167(ptr) Variable Output
4(main): 2 Function None 3
5: Label
169:8(VS_OUTPUT) FunctionCall 10(@main()
170: 7(fvec4) CompositeExtract 169 0
Store 168(@entryPointOutput_Pos) 170
163:8(VS_OUTPUT) FunctionCall 10(@main()
164: 7(fvec4) CompositeExtract 163 0
Store 162(@entryPointOutput_Pos) 164
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
@ -679,8 +674,7 @@ Shader version: 450
125(txval40): 12(ptr) Variable Function
134(txval41): 30(ptr) Variable Function
143(txval42): 43(ptr) Variable Function
154(vsout): 153(ptr) Variable Function
161: 160(ptr) Variable Function
153(vsout): 152(ptr) Variable Function
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
@ -741,12 +735,8 @@ Shader version: 450
150: 149 SampledImage 147 148
151: 42(ivec4) ImageSampleExplicitLod 150 123 Grad 100 100
Store 143(txval42) 151
158: 12(ptr) AccessChain 154(vsout) 155
Store 158 157
159:152(VS_OUTPUT) Load 154(vsout)
162: 7(fvec4) CompositeExtract 159 0
163: 12(ptr) AccessChain 161 155
Store 163 162
164:8(VS_OUTPUT) Load 161
ReturnValue 164
157: 12(ptr) AccessChain 153(vsout) 154
Store 157 156
158:8(VS_OUTPUT) Load 153(vsout)
ReturnValue 158
FunctionEnd

Просмотреть файл

@ -1,7 +1,7 @@
hlsl.samplelevel.basic.dx10.vert
Shader version: 450
0:? Sequence
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:27 Function Parameters:
0:? Sequence
0:30 Sequence
@ -169,8 +169,8 @@ Shader version: 450
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:27 Pos: direct index for structure (temp 4-component vector of float Position)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Pos: direct index for structure (temp 4-component vector of float)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:27 Constant:
0:27 0 (const int)
0:? Linker Objects
@ -196,7 +196,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:27 Function Parameters:
0:? Sequence
0:30 Sequence
@ -364,8 +364,8 @@ Shader version: 450
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:27 Pos: direct index for structure (temp 4-component vector of float Position)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Pos: direct index for structure (temp 4-component vector of float)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:27 Constant:
0:27 0 (const int)
0:? Linker Objects
@ -387,13 +387,13 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 171
// Id's are bound by 165
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 164 170
EntryPoint Vertex 4 "main" 158 164
Name 4 "main"
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
@ -423,15 +423,12 @@ Shader version: 450
Name 133 "g_tTexcdi4"
Name 139 "txval42"
Name 142 "g_tTexcdu4"
Name 148 "VS_OUTPUT"
MemberName 148(VS_OUTPUT) 0 "Pos"
Name 150 "vsout"
Name 164 "@entryPointOutput_Pos"
Name 167 "g_tTex1df4a"
Name 168 "PerVertex_out"
MemberName 168(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 170 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Name 149 "vsout"
Name 158 "@entryPointOutput_Pos"
Name 161 "g_tTex1df4a"
Name 162 "PerVertex_out"
MemberName 162(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 164 "PerVertex_out"
Decorate 16(g_tTex1df4) DescriptorSet 0
Decorate 16(g_tTex1df4) Binding 0
Decorate 20(g_sSamp) DescriptorSet 0
@ -447,11 +444,11 @@ Shader version: 450
Decorate 124(g_tTexcdf4) DescriptorSet 0
Decorate 133(g_tTexcdi4) DescriptorSet 0
Decorate 142(g_tTexcdu4) DescriptorSet 0
Decorate 164(@entryPointOutput_Pos) BuiltIn Position
Decorate 167(g_tTex1df4a) DescriptorSet 0
Decorate 167(g_tTex1df4a) Binding 1
MemberDecorate 168(PerVertex_out) 0 BuiltIn Position
Decorate 168(PerVertex_out) Block
Decorate 158(@entryPointOutput_Pos) BuiltIn Position
Decorate 161(g_tTex1df4a) DescriptorSet 0
Decorate 161(g_tTex1df4a) Binding 1
MemberDecorate 162(PerVertex_out) 0 BuiltIn Position
Decorate 162(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -534,23 +531,21 @@ Shader version: 450
141: TypePointer UniformConstant 140
142(g_tTexcdu4): 141(ptr) Variable UniformConstant
145: TypeSampledImage 140
148(VS_OUTPUT): TypeStruct 7(fvec4)
149: TypePointer Function 148(VS_OUTPUT)
151: 27(int) Constant 0
152: 6(float) Constant 0
153: 7(fvec4) ConstantComposite 152 152 152 152
156: TypePointer Function 8(VS_OUTPUT)
163: TypePointer Output 7(fvec4)
164(@entryPointOutput_Pos): 163(ptr) Variable Output
167(g_tTex1df4a): 15(ptr) Variable UniformConstant
168(PerVertex_out): TypeStruct 7(fvec4)
169: TypePointer Output 168(PerVertex_out)
170(PerVertex_out): 169(ptr) Variable Output
148: TypePointer Function 8(VS_OUTPUT)
150: 27(int) Constant 0
151: 6(float) Constant 0
152: 7(fvec4) ConstantComposite 151 151 151 151
157: TypePointer Output 7(fvec4)
158(@entryPointOutput_Pos): 157(ptr) Variable Output
161(g_tTex1df4a): 15(ptr) Variable UniformConstant
162(PerVertex_out): TypeStruct 7(fvec4)
163: TypePointer Output 162(PerVertex_out)
164(PerVertex_out): 163(ptr) Variable Output
4(main): 2 Function None 3
5: Label
165:8(VS_OUTPUT) FunctionCall 10(@main()
166: 7(fvec4) CompositeExtract 165 0
Store 164(@entryPointOutput_Pos) 166
159:8(VS_OUTPUT) FunctionCall 10(@main()
160: 7(fvec4) CompositeExtract 159 0
Store 158(@entryPointOutput_Pos) 160
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
@ -567,8 +562,7 @@ Shader version: 450
121(txval40): 12(ptr) Variable Function
130(txval41): 29(ptr) Variable Function
139(txval42): 42(ptr) Variable Function
150(vsout): 149(ptr) Variable Function
157: 156(ptr) Variable Function
149(vsout): 148(ptr) Variable Function
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
@ -629,12 +623,8 @@ Shader version: 450
146: 145 SampledImage 143 144
147: 41(ivec4) ImageSampleExplicitLod 146 119 Lod 25
Store 139(txval42) 147
154: 12(ptr) AccessChain 150(vsout) 151
Store 154 153
155:148(VS_OUTPUT) Load 150(vsout)
158: 7(fvec4) CompositeExtract 155 0
159: 12(ptr) AccessChain 157 151
Store 159 158
160:8(VS_OUTPUT) Load 157
ReturnValue 160
153: 12(ptr) AccessChain 149(vsout) 150
Store 153 152
154:8(VS_OUTPUT) Load 149(vsout)
ReturnValue 154
FunctionEnd

Просмотреть файл

@ -9,7 +9,7 @@ gl_FragCoord origin is upper left
0:34 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float)
0:34 Function Parameters:
0:34 'input' (in 4-component vector of float)
0:34 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 's' (in structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Sequence
0:39 Compare Equal (temp bool)
0:39 's3' (temp structure{temp 3-component vector of bool b3})
@ -19,8 +19,8 @@ gl_FragCoord origin is upper left
0:40 's2' (global structure{temp 4-component vector of float i})
0:40 Constant:
0:40 0 (const int)
0:40 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float)
0:40 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:40 ff4: direct index for structure (temp 4-component vector of float)
0:40 's' (in structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 7 (const int)
0:42 Branch: Return with expression
@ -33,8 +33,8 @@ gl_FragCoord origin is upper left
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float)
0:34 a: direct index for structure (smooth temp 4-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 a: direct index for structure (temp 4-component vector of float)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 0 (const int)
0:34 a: direct index for structure (smooth temp 4-component vector of float)
@ -42,8 +42,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 0 (const int)
0:34 move second child to first child (temp bool)
0:34 b: direct index for structure (flat temp bool)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 b: direct index for structure (temp bool)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 1 (const int)
0:34 b: direct index for structure (flat temp bool)
@ -51,8 +51,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 1 (const int)
0:34 move second child to first child (temp 1-component vector of float)
0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 c: direct index for structure (temp 1-component vector of float)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 2 (const int)
0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float)
@ -60,8 +60,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 2 (const int)
0:34 move second child to first child (temp 2-component vector of float)
0:34 d: direct index for structure (centroid sample temp 2-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 d: direct index for structure (temp 2-component vector of float)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 3 (const int)
0:34 d: direct index for structure (centroid sample temp 2-component vector of float)
@ -69,14 +69,14 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 3 (const int)
0:34 move second child to first child (temp bool)
0:34 ff1: direct index for structure (temp bool Face)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 ff1: direct index for structure (temp bool)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 4 (const int)
0:? 's_ff1' (in bool Face)
0:34 move second child to first child (temp bool)
0:34 ff2: direct index for structure (layout(offset=4 ) temp bool)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 ff2: direct index for structure (temp bool)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 5 (const int)
0:34 ff2: direct index for structure (layout(offset=4 ) temp bool)
@ -84,8 +84,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 4 (const int)
0:34 move second child to first child (temp bool)
0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 ff3: direct index for structure (temp bool)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 6 (const int)
0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool)
@ -93,8 +93,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 5 (const int)
0:34 move second child to first child (temp 4-component vector of float)
0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 ff4: direct index for structure (temp 4-component vector of float)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 7 (const int)
0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float)
@ -105,7 +105,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:34 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Linker Objects
0:? 's2' (global structure{temp 4-component vector of float i})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@ -124,7 +124,7 @@ gl_FragCoord origin is upper left
0:34 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float)
0:34 Function Parameters:
0:34 'input' (in 4-component vector of float)
0:34 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 's' (in structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Sequence
0:39 Compare Equal (temp bool)
0:39 's3' (temp structure{temp 3-component vector of bool b3})
@ -134,8 +134,8 @@ gl_FragCoord origin is upper left
0:40 's2' (global structure{temp 4-component vector of float i})
0:40 Constant:
0:40 0 (const int)
0:40 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float)
0:40 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:40 ff4: direct index for structure (temp 4-component vector of float)
0:40 's' (in structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 7 (const int)
0:42 Branch: Return with expression
@ -148,8 +148,8 @@ gl_FragCoord origin is upper left
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float)
0:34 a: direct index for structure (smooth temp 4-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 a: direct index for structure (temp 4-component vector of float)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 0 (const int)
0:34 a: direct index for structure (smooth temp 4-component vector of float)
@ -157,8 +157,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 0 (const int)
0:34 move second child to first child (temp bool)
0:34 b: direct index for structure (flat temp bool)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 b: direct index for structure (temp bool)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 1 (const int)
0:34 b: direct index for structure (flat temp bool)
@ -166,8 +166,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 1 (const int)
0:34 move second child to first child (temp 1-component vector of float)
0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 c: direct index for structure (temp 1-component vector of float)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 2 (const int)
0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float)
@ -175,8 +175,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 2 (const int)
0:34 move second child to first child (temp 2-component vector of float)
0:34 d: direct index for structure (centroid sample temp 2-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 d: direct index for structure (temp 2-component vector of float)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 3 (const int)
0:34 d: direct index for structure (centroid sample temp 2-component vector of float)
@ -184,14 +184,14 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 3 (const int)
0:34 move second child to first child (temp bool)
0:34 ff1: direct index for structure (temp bool Face)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 ff1: direct index for structure (temp bool)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 4 (const int)
0:? 's_ff1' (in bool Face)
0:34 move second child to first child (temp bool)
0:34 ff2: direct index for structure (layout(offset=4 ) temp bool)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 ff2: direct index for structure (temp bool)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 5 (const int)
0:34 ff2: direct index for structure (layout(offset=4 ) temp bool)
@ -199,8 +199,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 4 (const int)
0:34 move second child to first child (temp bool)
0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 ff3: direct index for structure (temp bool)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 6 (const int)
0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool)
@ -208,8 +208,8 @@ gl_FragCoord origin is upper left
0:34 Constant:
0:34 5 (const int)
0:34 move second child to first child (temp 4-component vector of float)
0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:34 ff4: direct index for structure (temp 4-component vector of float)
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:34 Constant:
0:34 7 (const int)
0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float)
@ -220,7 +220,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:34 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 's' (temp structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4})
0:? 's' (temp structure{temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? Linker Objects
0:? 's2' (global structure{temp 4-component vector of float i})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@ -283,7 +283,6 @@ gl_FragCoord origin is upper left
MemberName 94($Global) 1 "ff5"
MemberName 94($Global) 2 "ff6"
Name 96 ""
MemberDecorate 11(IN_S) 4 BuiltIn FrontFacing
Decorate 43(input) Location 0
Decorate 48(s) Location 1
Decorate 71(s_ff1) BuiltIn FrontFacing

Просмотреть файл

@ -1,10 +1,10 @@
hlsl.struct.split-1.vert
Shader version: 450
0:? Sequence
0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Function Parameters:
0:17 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:17 'Pos_loose' (in 4-component vector of float Position)
0:17 'Pos_loose' (in 4-component vector of float)
0:? Sequence
0:20 move second child to first child (temp int)
0:20 x0_out: direct index for structure (temp int)
@ -25,7 +25,7 @@ Shader version: 450
0:21 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:21 Constant:
0:21 1 (const int)
0:21 'Pos_loose' (in 4-component vector of float Position)
0:21 'Pos_loose' (in 4-component vector of float)
0:22 move second child to first child (temp int)
0:22 x1_out: direct index for structure (temp int)
0:22 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
@ -63,9 +63,9 @@ Shader version: 450
0:? 'Pos_loose' (temp 4-component vector of float)
0:? 'Pos_loose' (in 4-component vector of float Position)
0:17 Sequence
0:17 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:? 'Pos_loose' (temp 4-component vector of float)
0:17 move second child to first child (temp int)
@ -74,13 +74,13 @@ Shader version: 450
0:17 Constant:
0:17 0 (const int)
0:17 x0_out: direct index for structure (temp int)
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Constant:
0:17 0 (const int)
0:17 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position)
0:17 Pos_out: direct index for structure (temp 4-component vector of float Position)
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 Pos_out: direct index for structure (temp 4-component vector of float)
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Constant:
0:17 1 (const int)
0:17 move second child to first child (temp int)
@ -89,7 +89,7 @@ Shader version: 450
0:17 Constant:
0:17 1 (const int)
0:17 x1_out: direct index for structure (temp int)
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Constant:
0:17 2 (const int)
0:? Linker Objects
@ -106,10 +106,10 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Function Parameters:
0:17 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:17 'Pos_loose' (in 4-component vector of float Position)
0:17 'Pos_loose' (in 4-component vector of float)
0:? Sequence
0:20 move second child to first child (temp int)
0:20 x0_out: direct index for structure (temp int)
@ -130,7 +130,7 @@ Shader version: 450
0:21 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:21 Constant:
0:21 1 (const int)
0:21 'Pos_loose' (in 4-component vector of float Position)
0:21 'Pos_loose' (in 4-component vector of float)
0:22 move second child to first child (temp int)
0:22 x1_out: direct index for structure (temp int)
0:22 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
@ -168,9 +168,9 @@ Shader version: 450
0:? 'Pos_loose' (temp 4-component vector of float)
0:? 'Pos_loose' (in 4-component vector of float Position)
0:17 Sequence
0:17 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:? 'Pos_loose' (temp 4-component vector of float)
0:17 move second child to first child (temp int)
@ -179,13 +179,13 @@ Shader version: 450
0:17 Constant:
0:17 0 (const int)
0:17 x0_out: direct index for structure (temp int)
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Constant:
0:17 0 (const int)
0:17 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position)
0:17 Pos_out: direct index for structure (temp 4-component vector of float Position)
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 Pos_out: direct index for structure (temp 4-component vector of float)
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Constant:
0:17 1 (const int)
0:17 move second child to first child (temp int)
@ -194,7 +194,7 @@ Shader version: 450
0:17 Constant:
0:17 1 (const int)
0:17 x1_out: direct index for structure (temp int)
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:17 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:17 Constant:
0:17 2 (const int)
0:? Linker Objects
@ -207,12 +207,12 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 86
// Id's are bound by 76
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 50 54 57 61 71 77 85
EntryPoint Vertex 4 "main" 40 44 47 51 61 67 75
Name 4 "main"
Name 9 "VS_INPUT"
MemberName 9(VS_INPUT) 0 "x0_in"
@ -225,37 +225,32 @@ Shader version: 450
Name 16 "@main(struct-VS_INPUT-i1-vf4-i11;vf4;"
Name 14 "vsin"
Name 15 "Pos_loose"
Name 18 "VS_OUTPUT"
MemberName 18(VS_OUTPUT) 0 "x0_out"
MemberName 18(VS_OUTPUT) 1 "Pos_out"
MemberName 18(VS_OUTPUT) 2 "x1_out"
Name 20 "vsout"
Name 48 "vsin"
Name 50 "x0_in"
Name 54 "Pos_in"
Name 57 "x1_in"
Name 60 "Pos_loose"
Name 61 "Pos_loose"
Name 63 "flattenTemp"
Name 64 "param"
Name 66 "param"
Name 69 "VS_OUTPUT"
MemberName 69(VS_OUTPUT) 0 "x0_out"
MemberName 69(VS_OUTPUT) 1 "x1_out"
Name 71 "@entryPointOutput"
Name 77 "@entryPointOutput_Pos_out"
Name 83 "PerVertex_out"
MemberName 83(PerVertex_out) 0 "@entryPointOutput_Pos_out"
Name 85 "PerVertex_out"
MemberDecorate 12(VS_OUTPUT) 1 BuiltIn Position
Decorate 50(x0_in) Location 0
Decorate 54(Pos_in) BuiltIn Position
Decorate 57(x1_in) Location 1
Decorate 61(Pos_loose) BuiltIn Position
Decorate 71(@entryPointOutput) Location 0
Decorate 77(@entryPointOutput_Pos_out) BuiltIn Position
MemberDecorate 83(PerVertex_out) 0 BuiltIn Position
Decorate 83(PerVertex_out) Block
Name 19 "vsout"
Name 38 "vsin"
Name 40 "x0_in"
Name 44 "Pos_in"
Name 47 "x1_in"
Name 50 "Pos_loose"
Name 51 "Pos_loose"
Name 53 "flattenTemp"
Name 54 "param"
Name 56 "param"
Name 59 "VS_OUTPUT"
MemberName 59(VS_OUTPUT) 0 "x0_out"
MemberName 59(VS_OUTPUT) 1 "x1_out"
Name 61 "@entryPointOutput"
Name 67 "@entryPointOutput_Pos_out"
Name 73 "PerVertex_out"
MemberName 73(PerVertex_out) 0 "@entryPointOutput_Pos_out"
Name 75 "PerVertex_out"
Decorate 40(x0_in) Location 0
Decorate 44(Pos_in) BuiltIn Position
Decorate 47(x1_in) Location 1
Decorate 51(Pos_loose) BuiltIn Position
Decorate 61(@entryPointOutput) Location 0
Decorate 67(@entryPointOutput_Pos_out) BuiltIn Position
MemberDecorate 73(PerVertex_out) 0 BuiltIn Position
Decorate 73(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -266,95 +261,82 @@ Shader version: 450
11: TypePointer Function 8(fvec4)
12(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int)
13: TypeFunction 12(VS_OUTPUT) 10(ptr) 11(ptr)
18(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int)
19: TypePointer Function 18(VS_OUTPUT)
21: 6(int) Constant 0
22: TypePointer Function 6(int)
26: 6(int) Constant 1
32: 6(int) Constant 2
37: TypePointer Function 12(VS_OUTPUT)
49: TypePointer Input 6(int)
50(x0_in): 49(ptr) Variable Input
53: TypePointer Input 8(fvec4)
54(Pos_in): 53(ptr) Variable Input
57(x1_in): 49(ptr) Variable Input
61(Pos_loose): 53(ptr) Variable Input
69(VS_OUTPUT): TypeStruct 6(int) 6(int)
70: TypePointer Output 69(VS_OUTPUT)
71(@entryPointOutput): 70(ptr) Variable Output
74: TypePointer Output 6(int)
76: TypePointer Output 8(fvec4)
77(@entryPointOutput_Pos_out): 76(ptr) Variable Output
83(PerVertex_out): TypeStruct 8(fvec4)
84: TypePointer Output 83(PerVertex_out)
85(PerVertex_out): 84(ptr) Variable Output
18: TypePointer Function 12(VS_OUTPUT)
20: 6(int) Constant 0
21: TypePointer Function 6(int)
25: 6(int) Constant 1
31: 6(int) Constant 2
39: TypePointer Input 6(int)
40(x0_in): 39(ptr) Variable Input
43: TypePointer Input 8(fvec4)
44(Pos_in): 43(ptr) Variable Input
47(x1_in): 39(ptr) Variable Input
51(Pos_loose): 43(ptr) Variable Input
59(VS_OUTPUT): TypeStruct 6(int) 6(int)
60: TypePointer Output 59(VS_OUTPUT)
61(@entryPointOutput): 60(ptr) Variable Output
64: TypePointer Output 6(int)
66: TypePointer Output 8(fvec4)
67(@entryPointOutput_Pos_out): 66(ptr) Variable Output
73(PerVertex_out): TypeStruct 8(fvec4)
74: TypePointer Output 73(PerVertex_out)
75(PerVertex_out): 74(ptr) Variable Output
4(main): 2 Function None 3
5: Label
48(vsin): 10(ptr) Variable Function
60(Pos_loose): 11(ptr) Variable Function
63(flattenTemp): 37(ptr) Variable Function
64(param): 10(ptr) Variable Function
66(param): 11(ptr) Variable Function
51: 6(int) Load 50(x0_in)
52: 22(ptr) AccessChain 48(vsin) 21
Store 52 51
55: 8(fvec4) Load 54(Pos_in)
56: 11(ptr) AccessChain 48(vsin) 26
Store 56 55
58: 6(int) Load 57(x1_in)
59: 22(ptr) AccessChain 48(vsin) 32
Store 59 58
62: 8(fvec4) Load 61(Pos_loose)
Store 60(Pos_loose) 62
65: 9(VS_INPUT) Load 48(vsin)
Store 64(param) 65
67: 8(fvec4) Load 60(Pos_loose)
Store 66(param) 67
68:12(VS_OUTPUT) FunctionCall 16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;) 64(param) 66(param)
Store 63(flattenTemp) 68
72: 22(ptr) AccessChain 63(flattenTemp) 21
73: 6(int) Load 72
75: 74(ptr) AccessChain 71(@entryPointOutput) 21
Store 75 73
78: 11(ptr) AccessChain 63(flattenTemp) 26
79: 8(fvec4) Load 78
Store 77(@entryPointOutput_Pos_out) 79
80: 22(ptr) AccessChain 63(flattenTemp) 32
81: 6(int) Load 80
82: 74(ptr) AccessChain 71(@entryPointOutput) 26
Store 82 81
38(vsin): 10(ptr) Variable Function
50(Pos_loose): 11(ptr) Variable Function
53(flattenTemp): 18(ptr) Variable Function
54(param): 10(ptr) Variable Function
56(param): 11(ptr) Variable Function
41: 6(int) Load 40(x0_in)
42: 21(ptr) AccessChain 38(vsin) 20
Store 42 41
45: 8(fvec4) Load 44(Pos_in)
46: 11(ptr) AccessChain 38(vsin) 25
Store 46 45
48: 6(int) Load 47(x1_in)
49: 21(ptr) AccessChain 38(vsin) 31
Store 49 48
52: 8(fvec4) Load 51(Pos_loose)
Store 50(Pos_loose) 52
55: 9(VS_INPUT) Load 38(vsin)
Store 54(param) 55
57: 8(fvec4) Load 50(Pos_loose)
Store 56(param) 57
58:12(VS_OUTPUT) FunctionCall 16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;) 54(param) 56(param)
Store 53(flattenTemp) 58
62: 21(ptr) AccessChain 53(flattenTemp) 20
63: 6(int) Load 62
65: 64(ptr) AccessChain 61(@entryPointOutput) 20
Store 65 63
68: 11(ptr) AccessChain 53(flattenTemp) 25
69: 8(fvec4) Load 68
Store 67(@entryPointOutput_Pos_out) 69
70: 21(ptr) AccessChain 53(flattenTemp) 31
71: 6(int) Load 70
72: 64(ptr) AccessChain 61(@entryPointOutput) 25
Store 72 71
Return
FunctionEnd
16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;):12(VS_OUTPUT) Function None 13
14(vsin): 10(ptr) FunctionParameter
15(Pos_loose): 11(ptr) FunctionParameter
17: Label
20(vsout): 19(ptr) Variable Function
38: 37(ptr) Variable Function
23: 22(ptr) AccessChain 14(vsin) 21
24: 6(int) Load 23
25: 22(ptr) AccessChain 20(vsout) 21
Store 25 24
27: 11(ptr) AccessChain 14(vsin) 26
28: 8(fvec4) Load 27
29: 8(fvec4) Load 15(Pos_loose)
30: 8(fvec4) FAdd 28 29
31: 11(ptr) AccessChain 20(vsout) 26
Store 31 30
33: 22(ptr) AccessChain 14(vsin) 32
34: 6(int) Load 33
35: 22(ptr) AccessChain 20(vsout) 32
Store 35 34
36:18(VS_OUTPUT) Load 20(vsout)
39: 6(int) CompositeExtract 36 0
40: 22(ptr) AccessChain 38 21
Store 40 39
41: 8(fvec4) CompositeExtract 36 1
42: 11(ptr) AccessChain 38 26
Store 42 41
43: 6(int) CompositeExtract 36 2
44: 22(ptr) AccessChain 38 32
Store 44 43
45:12(VS_OUTPUT) Load 38
ReturnValue 45
19(vsout): 18(ptr) Variable Function
22: 21(ptr) AccessChain 14(vsin) 20
23: 6(int) Load 22
24: 21(ptr) AccessChain 19(vsout) 20
Store 24 23
26: 11(ptr) AccessChain 14(vsin) 25
27: 8(fvec4) Load 26
28: 8(fvec4) Load 15(Pos_loose)
29: 8(fvec4) FAdd 27 28
30: 11(ptr) AccessChain 19(vsout) 25
Store 30 29
32: 21(ptr) AccessChain 14(vsin) 31
33: 6(int) Load 32
34: 21(ptr) AccessChain 19(vsout) 31
Store 34 33
35:12(VS_OUTPUT) Load 19(vsout)
ReturnValue 35
FunctionEnd

Просмотреть файл

@ -8,7 +8,7 @@ output primitive = triangle_strip
0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void)
0:13 Function Parameters:
0:13 'v' (in 1-element array of uint)
0:13 'OutputStream' (out structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
0:13 'OutputStream' (out structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
0:? Sequence
0:16 Sequence
0:16 move second child to first child (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
@ -69,7 +69,7 @@ output primitive = triangle_strip
0:? 'v' (layout(location=0 ) in 1-element array of uint)
0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void)
0:? 'v' (temp 1-element array of uint)
0:? 'OutputStream' (temp structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
0:? 'OutputStream' (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
0:? Linker Objects
0:? 'v' (layout(location=0 ) in 1-element array of uint)
@ -86,7 +86,7 @@ output primitive = triangle_strip
0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void)
0:13 Function Parameters:
0:13 'v' (in 1-element array of uint)
0:13 'OutputStream' (out structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
0:13 'OutputStream' (out structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
0:? Sequence
0:16 Sequence
0:16 move second child to first child (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
@ -147,18 +147,18 @@ output primitive = triangle_strip
0:? 'v' (layout(location=0 ) in 1-element array of uint)
0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void)
0:? 'v' (temp 1-element array of uint)
0:? 'OutputStream' (temp structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
0:? 'OutputStream' (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
0:? Linker Objects
0:? 'v' (layout(location=0 ) in 1-element array of uint)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 98
// Id's are bound by 97
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 91
EntryPoint Geometry 4 "main" 90
ExecutionMode 4 InputPoints
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
@ -172,27 +172,27 @@ output primitive = triangle_strip
Name 19 "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;"
Name 17 "v"
Name 18 "OutputStream"
Name 21 "PSInput"
MemberName 21(PSInput) 0 "Pos"
MemberName 21(PSInput) 1 "TexCoord"
MemberName 21(PSInput) 2 "TerrainPos"
MemberName 21(PSInput) 3 "VertexID"
Name 23 "Out"
Name 48 "x"
Name 57 "y"
Name 65 "PSInput"
MemberName 65(PSInput) 0 "Pos"
MemberName 65(PSInput) 1 "TexCoord"
MemberName 65(PSInput) 2 "TerrainPos"
MemberName 65(PSInput) 3 "VertexID"
Name 71 "Verts"
Name 89 "v"
Name 91 "v"
Name 93 "OutputStream"
Name 94 "param"
Name 96 "param"
MemberDecorate 14(PSInput) 0 BuiltIn Position
Decorate 91(v) Location 0
Name 21 "Out"
Name 22 "PSInput"
MemberName 22(PSInput) 0 "Pos"
MemberName 22(PSInput) 1 "TexCoord"
MemberName 22(PSInput) 2 "TerrainPos"
MemberName 22(PSInput) 3 "VertexID"
Name 47 "x"
Name 56 "y"
Name 64 "PSInput"
MemberName 64(PSInput) 0 "Pos"
MemberName 64(PSInput) 1 "TexCoord"
MemberName 64(PSInput) 2 "TerrainPos"
MemberName 64(PSInput) 3 "VertexID"
Name 70 "Verts"
Name 88 "v"
Name 90 "v"
Name 92 "OutputStream"
Name 93 "param"
Name 95 "param"
MemberDecorate 22(PSInput) 0 BuiltIn Position
Decorate 90(v) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -206,116 +206,115 @@ output primitive = triangle_strip
14(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
15: TypePointer Function 14(PSInput)
16: TypeFunction 2 9(ptr) 15(ptr)
21(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
22: TypePointer Function 21(PSInput)
24: 10(float) Constant 0
25: 11(fvec4) ConstantComposite 24 24 24 24
26: 12(fvec2) ConstantComposite 24 24
27: 13(fvec3) ConstantComposite 24 24 24
28: 6(int) Constant 0
29: 14(PSInput) ConstantComposite 25 26 27 28
31: TypeInt 32 1
32: 31(int) Constant 0
33: TypePointer Function 11(fvec4)
36: 31(int) Constant 1
37: TypePointer Function 12(fvec2)
40: 31(int) Constant 2
41: TypePointer Function 13(fvec3)
44: 31(int) Constant 3
45: TypePointer Function 6(int)
47: TypePointer Function 31(int)
55: TypeBool
65(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
66: 6(int) Constant 3
67: TypeArray 65(PSInput) 66
68: 6(int) Constant 2
69: TypeArray 67 68
70: TypePointer Function 69
75: TypePointer Function 65(PSInput)
90: TypePointer Input 8
91(v): 90(ptr) Variable Input
22(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
23: 10(float) Constant 0
24: 11(fvec4) ConstantComposite 23 23 23 23
25: 12(fvec2) ConstantComposite 23 23
26: 13(fvec3) ConstantComposite 23 23 23
27: 6(int) Constant 0
28: 22(PSInput) ConstantComposite 24 25 26 27
30: TypeInt 32 1
31: 30(int) Constant 0
32: TypePointer Function 11(fvec4)
35: 30(int) Constant 1
36: TypePointer Function 12(fvec2)
39: 30(int) Constant 2
40: TypePointer Function 13(fvec3)
43: 30(int) Constant 3
44: TypePointer Function 6(int)
46: TypePointer Function 30(int)
54: TypeBool
64(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
65: 6(int) Constant 3
66: TypeArray 64(PSInput) 65
67: 6(int) Constant 2
68: TypeArray 66 67
69: TypePointer Function 68
74: TypePointer Function 64(PSInput)
89: TypePointer Input 8
90(v): 89(ptr) Variable Input
4(main): 2 Function None 3
5: Label
89(v): 9(ptr) Variable Function
93(OutputStream): 15(ptr) Variable Function
94(param): 9(ptr) Variable Function
96(param): 15(ptr) Variable Function
92: 8 Load 91(v)
Store 89(v) 92
95: 8 Load 89(v)
Store 94(param) 95
97: 2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 94(param) 96(param)
88(v): 9(ptr) Variable Function
92(OutputStream): 15(ptr) Variable Function
93(param): 9(ptr) Variable Function
95(param): 15(ptr) Variable Function
91: 8 Load 90(v)
Store 88(v) 91
94: 8 Load 88(v)
Store 93(param) 94
96: 2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 93(param) 95(param)
Return
FunctionEnd
19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;): 2 Function None 16
17(v): 9(ptr) FunctionParameter
18(OutputStream): 15(ptr) FunctionParameter
20: Label
23(Out): 22(ptr) Variable Function
48(x): 47(ptr) Variable Function
57(y): 47(ptr) Variable Function
71(Verts): 70(ptr) Variable Function
30: 11(fvec4) CompositeExtract 29 0
34: 33(ptr) AccessChain 23(Out) 32
Store 34 30
35: 12(fvec2) CompositeExtract 29 1
38: 37(ptr) AccessChain 23(Out) 36
Store 38 35
39: 13(fvec3) CompositeExtract 29 2
42: 41(ptr) AccessChain 23(Out) 40
Store 42 39
43: 6(int) CompositeExtract 29 3
46: 45(ptr) AccessChain 23(Out) 44
Store 46 43
Store 48(x) 32
Branch 49
49: Label
LoopMerge 51 52 None
Branch 53
53: Label
54: 31(int) Load 48(x)
56: 55(bool) SLessThan 54 40
BranchConditional 56 50 51
50: Label
Store 57(y) 32
Branch 58
58: Label
LoopMerge 60 61 None
Branch 62
62: Label
63: 31(int) Load 57(y)
64: 55(bool) SLessThan 63 40
BranchConditional 64 59 60
59: Label
72: 31(int) Load 48(x)
73: 31(int) Load 57(y)
74: 21(PSInput) Load 23(Out)
76: 75(ptr) AccessChain 71(Verts) 72 73
77: 11(fvec4) CompositeExtract 74 0
78: 33(ptr) AccessChain 76 32
Store 78 77
79: 12(fvec2) CompositeExtract 74 1
80: 37(ptr) AccessChain 76 36
Store 80 79
81: 13(fvec3) CompositeExtract 74 2
82: 41(ptr) AccessChain 76 40
Store 82 81
83: 6(int) CompositeExtract 74 3
84: 45(ptr) AccessChain 76 44
Store 84 83
Branch 61
61: Label
85: 31(int) Load 57(y)
86: 31(int) IAdd 85 36
Store 57(y) 86
Branch 58
60: Label
Branch 52
52: Label
87: 31(int) Load 48(x)
88: 31(int) IAdd 87 36
Store 48(x) 88
Branch 49
51: Label
21(Out): 15(ptr) Variable Function
47(x): 46(ptr) Variable Function
56(y): 46(ptr) Variable Function
70(Verts): 69(ptr) Variable Function
29: 11(fvec4) CompositeExtract 28 0
33: 32(ptr) AccessChain 21(Out) 31
Store 33 29
34: 12(fvec2) CompositeExtract 28 1
37: 36(ptr) AccessChain 21(Out) 35
Store 37 34
38: 13(fvec3) CompositeExtract 28 2
41: 40(ptr) AccessChain 21(Out) 39
Store 41 38
42: 6(int) CompositeExtract 28 3
45: 44(ptr) AccessChain 21(Out) 43
Store 45 42
Store 47(x) 31
Branch 48
48: Label
LoopMerge 50 51 None
Branch 52
52: Label
53: 30(int) Load 47(x)
55: 54(bool) SLessThan 53 39
BranchConditional 55 49 50
49: Label
Store 56(y) 31
Branch 57
57: Label
LoopMerge 59 60 None
Branch 61
61: Label
62: 30(int) Load 56(y)
63: 54(bool) SLessThan 62 39
BranchConditional 63 58 59
58: Label
71: 30(int) Load 47(x)
72: 30(int) Load 56(y)
73: 14(PSInput) Load 21(Out)
75: 74(ptr) AccessChain 70(Verts) 71 72
76: 11(fvec4) CompositeExtract 73 0
77: 32(ptr) AccessChain 75 31
Store 77 76
78: 12(fvec2) CompositeExtract 73 1
79: 36(ptr) AccessChain 75 35
Store 79 78
80: 13(fvec3) CompositeExtract 73 2
81: 40(ptr) AccessChain 75 39
Store 81 80
82: 6(int) CompositeExtract 73 3
83: 44(ptr) AccessChain 75 43
Store 83 82
Branch 60
60: Label
84: 30(int) Load 56(y)
85: 30(int) IAdd 84 35
Store 56(y) 85
Branch 57
59: Label
Branch 51
51: Label
86: 30(int) Load 47(x)
87: 30(int) IAdd 86 35
Store 47(x) 87
Branch 48
50: Label
Return
FunctionEnd

Просмотреть файл

@ -5,10 +5,10 @@ gl_FragCoord origin is upper left
0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float)
0:7 Function Parameters:
0:7 'i' (in int)
0:7 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:7 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:? Sequence
0:9 move second child to first child (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:9 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:9 move second child to first child (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:9 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:11 Branch: Return with expression
0:11 Constant:
@ -24,8 +24,8 @@ gl_FragCoord origin is upper left
0:7 Sequence
0:7 move second child to first child (temp float)
0:7 f: direct index for structure (temp float)
0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:7 direct index (temp structure{temp float f, temp 4-component vector of float pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:7 Constant:
0:7 0 (const int)
0:7 Constant:
@ -39,8 +39,8 @@ gl_FragCoord origin is upper left
0:7 0 (const int)
0:7 move second child to first child (temp float)
0:7 f: direct index for structure (temp float)
0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:7 direct index (temp structure{temp float f, temp 4-component vector of float pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:7 Constant:
0:7 1 (const int)
0:7 Constant:
@ -54,8 +54,8 @@ gl_FragCoord origin is upper left
0:7 0 (const int)
0:7 move second child to first child (temp float)
0:7 f: direct index for structure (temp float)
0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:7 direct index (temp structure{temp float f, temp 4-component vector of float pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:7 Constant:
0:7 2 (const int)
0:7 Constant:
@ -71,7 +71,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float)
0:? 'i' (temp int)
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in int)
@ -88,10 +88,10 @@ gl_FragCoord origin is upper left
0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float)
0:7 Function Parameters:
0:7 'i' (in int)
0:7 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:7 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:? Sequence
0:9 move second child to first child (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:9 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:9 move second child to first child (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:9 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:11 Branch: Return with expression
0:11 Constant:
@ -107,8 +107,8 @@ gl_FragCoord origin is upper left
0:7 Sequence
0:7 move second child to first child (temp float)
0:7 f: direct index for structure (temp float)
0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:7 direct index (temp structure{temp float f, temp 4-component vector of float pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:7 Constant:
0:7 0 (const int)
0:7 Constant:
@ -122,8 +122,8 @@ gl_FragCoord origin is upper left
0:7 0 (const int)
0:7 move second child to first child (temp float)
0:7 f: direct index for structure (temp float)
0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:7 direct index (temp structure{temp float f, temp 4-component vector of float pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:7 Constant:
0:7 1 (const int)
0:7 Constant:
@ -137,8 +137,8 @@ gl_FragCoord origin is upper left
0:7 0 (const int)
0:7 move second child to first child (temp float)
0:7 f: direct index for structure (temp float)
0:7 direct index (temp structure{temp float f, temp 4-component vector of float FragCoord pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:7 direct index (temp structure{temp float f, temp 4-component vector of float pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:7 Constant:
0:7 2 (const int)
0:7 Constant:
@ -154,7 +154,7 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float)
0:? 'i' (temp int)
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos})
0:? 'input' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos})
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in int)
@ -163,12 +163,12 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 85
// Id's are bound by 63
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 58 64 76 84
EntryPoint Fragment 4 "main" 32 39 54 62
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 10 "S"
@ -177,25 +177,21 @@ gl_FragCoord origin is upper left
Name 18 "@main(i1;struct-S-f1-vf41[3];"
Name 16 "i"
Name 17 "input"
Name 20 "S"
MemberName 20(S) 0 "f"
MemberName 20(S) 1 "pos"
Name 23 "a"
Name 56 "i"
Name 58 "i"
Name 60 "input"
Name 61 "S"
MemberName 61(S) 0 "f"
Name 64 "input"
Name 76 "@entryPointOutput"
Name 77 "param"
Name 79 "param"
Name 84 "input_pos"
MemberDecorate 10(S) 1 BuiltIn FragCoord
Decorate 58(i) Location 0
Decorate 64(input) Location 1
Decorate 76(@entryPointOutput) Location 0
Decorate 84(input_pos) BuiltIn FragCoord
Name 20 "a"
Name 30 "i"
Name 32 "i"
Name 34 "input"
Name 36 "S"
MemberName 36(S) 0 "f"
Name 39 "input"
Name 54 "@entryPointOutput"
Name 55 "param"
Name 57 "param"
Name 62 "input_pos"
Decorate 32(i) Location 0
Decorate 39(input) Location 1
Decorate 54(@entryPointOutput) Location 0
Decorate 62(input_pos) BuiltIn FragCoord
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -208,90 +204,63 @@ gl_FragCoord origin is upper left
13: TypeArray 10(S) 12
14: TypePointer Function 13
15: TypeFunction 9(fvec4) 7(ptr) 14(ptr)
20(S): TypeStruct 8(float) 9(fvec4)
21: TypeArray 20(S) 12
22: TypePointer Function 21
26: 6(int) Constant 0
27: TypePointer Function 10(S)
30: TypePointer Function 8(float)
33: 6(int) Constant 1
34: TypePointer Function 9(fvec4)
43: 6(int) Constant 2
49: TypeVector 8(float) 3
50: 8(float) Constant 1065353216
51: 49(fvec3) ConstantComposite 50 50 50
57: TypePointer Input 6(int)
58(i): 57(ptr) Variable Input
61(S): TypeStruct 8(float)
62: TypeArray 61(S) 12
63: TypePointer Input 62
64(input): 63(ptr) Variable Input
65: TypePointer Input 8(float)
75: TypePointer Output 9(fvec4)
76(@entryPointOutput): 75(ptr) Variable Output
82: TypeArray 9(fvec4) 12
83: TypePointer Input 82
84(input_pos): 83(ptr) Variable Input
22: TypeVector 8(float) 3
23: 8(float) Constant 1065353216
24: 22(fvec3) ConstantComposite 23 23 23
25: TypePointer Function 9(fvec4)
31: TypePointer Input 6(int)
32(i): 31(ptr) Variable Input
35: 6(int) Constant 0
36(S): TypeStruct 8(float)
37: TypeArray 36(S) 12
38: TypePointer Input 37
39(input): 38(ptr) Variable Input
40: TypePointer Input 8(float)
43: TypePointer Function 8(float)
45: 6(int) Constant 1
49: 6(int) Constant 2
53: TypePointer Output 9(fvec4)
54(@entryPointOutput): 53(ptr) Variable Output
60: TypeArray 9(fvec4) 12
61: TypePointer Input 60
62(input_pos): 61(ptr) Variable Input
4(main): 2 Function None 3
5: Label
56(i): 7(ptr) Variable Function
60(input): 14(ptr) Variable Function
77(param): 7(ptr) Variable Function
79(param): 14(ptr) Variable Function
59: 6(int) Load 58(i)
Store 56(i) 59
66: 65(ptr) AccessChain 64(input) 26 26
67: 8(float) Load 66
68: 30(ptr) AccessChain 60(input) 26 26
Store 68 67
69: 65(ptr) AccessChain 64(input) 33 26
70: 8(float) Load 69
71: 30(ptr) AccessChain 60(input) 33 26
Store 71 70
72: 65(ptr) AccessChain 64(input) 43 26
73: 8(float) Load 72
74: 30(ptr) AccessChain 60(input) 43 26
Store 74 73
78: 6(int) Load 56(i)
Store 77(param) 78
80: 13 Load 60(input)
Store 79(param) 80
81: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 77(param) 79(param)
Store 76(@entryPointOutput) 81
30(i): 7(ptr) Variable Function
34(input): 14(ptr) Variable Function
55(param): 7(ptr) Variable Function
57(param): 14(ptr) Variable Function
33: 6(int) Load 32(i)
Store 30(i) 33
41: 40(ptr) AccessChain 39(input) 35 35
42: 8(float) Load 41
44: 43(ptr) AccessChain 34(input) 35 35
Store 44 42
46: 40(ptr) AccessChain 39(input) 45 35
47: 8(float) Load 46
48: 43(ptr) AccessChain 34(input) 45 35
Store 48 47
50: 40(ptr) AccessChain 39(input) 49 35
51: 8(float) Load 50
52: 43(ptr) AccessChain 34(input) 49 35
Store 52 51
56: 6(int) Load 30(i)
Store 55(param) 56
58: 13 Load 34(input)
Store 57(param) 58
59: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 55(param) 57(param)
Store 54(@entryPointOutput) 59
Return
FunctionEnd
18(@main(i1;struct-S-f1-vf41[3];): 9(fvec4) Function None 15
16(i): 7(ptr) FunctionParameter
17(input): 14(ptr) FunctionParameter
19: Label
23(a): 22(ptr) Variable Function
52: 34(ptr) Variable Function
24: 21 Load 23(a)
25: 20(S) CompositeExtract 24 0
28: 27(ptr) AccessChain 17(input) 26
29: 8(float) CompositeExtract 25 0
31: 30(ptr) AccessChain 28 26
Store 31 29
32: 9(fvec4) CompositeExtract 25 1
35: 34(ptr) AccessChain 28 33
Store 35 32
36: 20(S) CompositeExtract 24 1
37: 27(ptr) AccessChain 17(input) 33
38: 8(float) CompositeExtract 36 0
39: 30(ptr) AccessChain 37 26
Store 39 38
40: 9(fvec4) CompositeExtract 36 1
41: 34(ptr) AccessChain 37 33
Store 41 40
42: 20(S) CompositeExtract 24 2
44: 27(ptr) AccessChain 17(input) 43
45: 8(float) CompositeExtract 42 0
46: 30(ptr) AccessChain 44 26
Store 46 45
47: 9(fvec4) CompositeExtract 42 1
48: 34(ptr) AccessChain 44 33
Store 48 47
Store 52 51
53: 9(fvec4) Load 52
ReturnValue 53
20(a): 14(ptr) Variable Function
26: 25(ptr) Variable Function
21: 13 Load 20(a)
Store 17(input) 21
Store 26 24
27: 9(fvec4) Load 26
ReturnValue 27
FunctionEnd

Просмотреть файл

@ -15,7 +15,7 @@ Shader version: 450
0:18 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:18 Constant:
0:18 1 (const int)
0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Function Parameters:
0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:? Sequence
@ -74,9 +74,9 @@ Shader version: 450
0:22 2 (const int)
0:? 'x1_in' (layout(location=1 ) in int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:22 move second child to first child (temp int)
0:22 x0_out: direct index for structure (temp int)
@ -84,13 +84,13 @@ Shader version: 450
0:22 Constant:
0:22 0 (const int)
0:22 x0_out: direct index for structure (temp int)
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position)
0:22 Pos_out: direct index for structure (temp 4-component vector of float Position)
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 Pos_out: direct index for structure (temp 4-component vector of float)
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child (temp int)
@ -99,7 +99,7 @@ Shader version: 450
0:22 Constant:
0:22 1 (const int)
0:22 x1_out: direct index for structure (temp int)
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Constant:
0:22 2 (const int)
0:? Linker Objects
@ -129,7 +129,7 @@ Shader version: 450
0:18 'fn1_out' (in structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:18 Constant:
0:18 1 (const int)
0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Function Parameters:
0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:? Sequence
@ -188,9 +188,9 @@ Shader version: 450
0:22 2 (const int)
0:? 'x1_in' (layout(location=1 ) in int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 move second child to first child (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:? 'vsin' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
0:22 move second child to first child (temp int)
0:22 x0_out: direct index for structure (temp int)
@ -198,13 +198,13 @@ Shader version: 450
0:22 Constant:
0:22 0 (const int)
0:22 x0_out: direct index for structure (temp int)
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos_out' (out 4-component vector of float Position)
0:22 Pos_out: direct index for structure (temp 4-component vector of float Position)
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 Pos_out: direct index for structure (temp 4-component vector of float)
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child (temp int)
@ -213,7 +213,7 @@ Shader version: 450
0:22 Constant:
0:22 1 (const int)
0:22 x1_out: direct index for structure (temp int)
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out})
0:22 'flattenTemp' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
0:22 Constant:
0:22 2 (const int)
0:? Linker Objects
@ -225,12 +225,12 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 95
// Id's are bound by 83
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 64 68 71 80 86 94
EntryPoint Vertex 4 "main" 52 56 59 68 74 82
Name 4 "main"
Name 9 "VS_INPUT"
MemberName 9(VS_INPUT) 0 "x0_in"
@ -243,41 +243,32 @@ Shader version: 450
Name 16 "Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;"
Name 14 "fn1_in"
Name 15 "fn1_out"
Name 18 "VS_INPUT"
MemberName 18(VS_INPUT) 0 "x0_in"
MemberName 18(VS_INPUT) 1 "Pos_in"
MemberName 18(VS_INPUT) 2 "x1_in"
Name 20 "VS_OUTPUT"
MemberName 20(VS_OUTPUT) 0 "x0_out"
MemberName 20(VS_OUTPUT) 1 "Pos_out"
MemberName 20(VS_OUTPUT) 2 "x1_out"
Name 23 "@main(struct-VS_INPUT-i1-vf4-i11;"
Name 22 "vsin"
Name 32 "vsout"
Name 45 "param"
Name 47 "param"
Name 62 "vsin"
Name 64 "x0_in"
Name 68 "Pos_in"
Name 71 "x1_in"
Name 74 "flattenTemp"
Name 75 "param"
Name 78 "VS_OUTPUT"
MemberName 78(VS_OUTPUT) 0 "x0_out"
MemberName 78(VS_OUTPUT) 1 "x1_out"
Name 80 "@entryPointOutput"
Name 86 "@entryPointOutput_Pos_out"
Name 92 "PerVertex_out"
MemberName 92(PerVertex_out) 0 "@entryPointOutput_Pos_out"
Name 94 "PerVertex_out"
MemberDecorate 20(VS_OUTPUT) 1 BuiltIn Position
Decorate 64(x0_in) Location 0
Decorate 68(Pos_in) BuiltIn Position
Decorate 71(x1_in) Location 1
Decorate 80(@entryPointOutput) Location 0
Decorate 86(@entryPointOutput_Pos_out) BuiltIn Position
MemberDecorate 92(PerVertex_out) 0 BuiltIn Position
Decorate 92(PerVertex_out) Block
Name 20 "@main(struct-VS_INPUT-i1-vf4-i11;"
Name 19 "vsin"
Name 29 "vsout"
Name 42 "param"
Name 44 "param"
Name 50 "vsin"
Name 52 "x0_in"
Name 56 "Pos_in"
Name 59 "x1_in"
Name 62 "flattenTemp"
Name 63 "param"
Name 66 "VS_OUTPUT"
MemberName 66(VS_OUTPUT) 0 "x0_out"
MemberName 66(VS_OUTPUT) 1 "x1_out"
Name 68 "@entryPointOutput"
Name 74 "@entryPointOutput_Pos_out"
Name 80 "PerVertex_out"
MemberName 80(PerVertex_out) 0 "@entryPointOutput_Pos_out"
Name 82 "PerVertex_out"
Decorate 52(x0_in) Location 0
Decorate 56(Pos_in) BuiltIn Position
Decorate 59(x1_in) Location 1
Decorate 68(@entryPointOutput) Location 0
Decorate 74(@entryPointOutput_Pos_out) BuiltIn Position
MemberDecorate 80(PerVertex_out) 0 BuiltIn Position
Decorate 80(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -288,106 +279,91 @@ Shader version: 450
11(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int)
12: TypePointer Function 11(VS_OUTPUT)
13: TypeFunction 2 10(ptr) 12(ptr)
18(VS_INPUT): TypeStruct 6(int) 8(fvec4) 6(int)
19: TypePointer Function 18(VS_INPUT)
20(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int)
21: TypeFunction 20(VS_OUTPUT) 19(ptr)
25: 6(int) Constant 1
26: TypePointer Function 8(fvec4)
33: 6(int) Constant 0
34: TypePointer Function 6(int)
41: 6(int) Constant 2
51: TypePointer Function 20(VS_OUTPUT)
63: TypePointer Input 6(int)
64(x0_in): 63(ptr) Variable Input
67: TypePointer Input 8(fvec4)
68(Pos_in): 67(ptr) Variable Input
71(x1_in): 63(ptr) Variable Input
78(VS_OUTPUT): TypeStruct 6(int) 6(int)
79: TypePointer Output 78(VS_OUTPUT)
80(@entryPointOutput): 79(ptr) Variable Output
83: TypePointer Output 6(int)
85: TypePointer Output 8(fvec4)
86(@entryPointOutput_Pos_out): 85(ptr) Variable Output
92(PerVertex_out): TypeStruct 8(fvec4)
93: TypePointer Output 92(PerVertex_out)
94(PerVertex_out): 93(ptr) Variable Output
18: TypeFunction 11(VS_OUTPUT) 10(ptr)
22: 6(int) Constant 1
23: TypePointer Function 8(fvec4)
30: 6(int) Constant 0
31: TypePointer Function 6(int)
38: 6(int) Constant 2
51: TypePointer Input 6(int)
52(x0_in): 51(ptr) Variable Input
55: TypePointer Input 8(fvec4)
56(Pos_in): 55(ptr) Variable Input
59(x1_in): 51(ptr) Variable Input
66(VS_OUTPUT): TypeStruct 6(int) 6(int)
67: TypePointer Output 66(VS_OUTPUT)
68(@entryPointOutput): 67(ptr) Variable Output
71: TypePointer Output 6(int)
73: TypePointer Output 8(fvec4)
74(@entryPointOutput_Pos_out): 73(ptr) Variable Output
80(PerVertex_out): TypeStruct 8(fvec4)
81: TypePointer Output 80(PerVertex_out)
82(PerVertex_out): 81(ptr) Variable Output
4(main): 2 Function None 3
5: Label
62(vsin): 19(ptr) Variable Function
74(flattenTemp): 51(ptr) Variable Function
75(param): 19(ptr) Variable Function
65: 6(int) Load 64(x0_in)
66: 34(ptr) AccessChain 62(vsin) 33
Store 66 65
69: 8(fvec4) Load 68(Pos_in)
70: 26(ptr) AccessChain 62(vsin) 25
Store 70 69
72: 6(int) Load 71(x1_in)
73: 34(ptr) AccessChain 62(vsin) 41
Store 73 72
76:18(VS_INPUT) Load 62(vsin)
Store 75(param) 76
77:20(VS_OUTPUT) FunctionCall 23(@main(struct-VS_INPUT-i1-vf4-i11;) 75(param)
Store 74(flattenTemp) 77
81: 34(ptr) AccessChain 74(flattenTemp) 33
82: 6(int) Load 81
84: 83(ptr) AccessChain 80(@entryPointOutput) 33
Store 84 82
87: 26(ptr) AccessChain 74(flattenTemp) 25
88: 8(fvec4) Load 87
Store 86(@entryPointOutput_Pos_out) 88
89: 34(ptr) AccessChain 74(flattenTemp) 41
90: 6(int) Load 89
91: 83(ptr) AccessChain 80(@entryPointOutput) 25
Store 91 90
50(vsin): 10(ptr) Variable Function
62(flattenTemp): 12(ptr) Variable Function
63(param): 10(ptr) Variable Function
53: 6(int) Load 52(x0_in)
54: 31(ptr) AccessChain 50(vsin) 30
Store 54 53
57: 8(fvec4) Load 56(Pos_in)
58: 23(ptr) AccessChain 50(vsin) 22
Store 58 57
60: 6(int) Load 59(x1_in)
61: 31(ptr) AccessChain 50(vsin) 38
Store 61 60
64: 9(VS_INPUT) Load 50(vsin)
Store 63(param) 64
65:11(VS_OUTPUT) FunctionCall 20(@main(struct-VS_INPUT-i1-vf4-i11;) 63(param)
Store 62(flattenTemp) 65
69: 31(ptr) AccessChain 62(flattenTemp) 30
70: 6(int) Load 69
72: 71(ptr) AccessChain 68(@entryPointOutput) 30
Store 72 70
75: 23(ptr) AccessChain 62(flattenTemp) 22
76: 8(fvec4) Load 75
Store 74(@entryPointOutput_Pos_out) 76
77: 31(ptr) AccessChain 62(flattenTemp) 38
78: 6(int) Load 77
79: 71(ptr) AccessChain 68(@entryPointOutput) 22
Store 79 78
Return
FunctionEnd
16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;): 2 Function None 13
14(fn1_in): 10(ptr) FunctionParameter
15(fn1_out): 12(ptr) FunctionParameter
17: Label
27: 26(ptr) AccessChain 14(fn1_in) 25
28: 8(fvec4) Load 27
29: 26(ptr) AccessChain 15(fn1_out) 25
30: 8(fvec4) Load 29
31: 8(fvec4) FAdd 28 30
24: 23(ptr) AccessChain 14(fn1_in) 22
25: 8(fvec4) Load 24
26: 23(ptr) AccessChain 15(fn1_out) 22
27: 8(fvec4) Load 26
28: 8(fvec4) FAdd 25 27
Return
FunctionEnd
23(@main(struct-VS_INPUT-i1-vf4-i11;):20(VS_OUTPUT) Function None 21
22(vsin): 19(ptr) FunctionParameter
24: Label
32(vsout): 12(ptr) Variable Function
45(param): 19(ptr) Variable Function
47(param): 12(ptr) Variable Function
52: 51(ptr) Variable Function
35: 34(ptr) AccessChain 22(vsin) 33
36: 6(int) Load 35
37: 34(ptr) AccessChain 32(vsout) 33
20(@main(struct-VS_INPUT-i1-vf4-i11;):11(VS_OUTPUT) Function None 18
19(vsin): 10(ptr) FunctionParameter
21: Label
29(vsout): 12(ptr) Variable Function
42(param): 10(ptr) Variable Function
44(param): 12(ptr) Variable Function
32: 31(ptr) AccessChain 19(vsin) 30
33: 6(int) Load 32
34: 31(ptr) AccessChain 29(vsout) 30
Store 34 33
35: 23(ptr) AccessChain 19(vsin) 22
36: 8(fvec4) Load 35
37: 23(ptr) AccessChain 29(vsout) 22
Store 37 36
38: 26(ptr) AccessChain 22(vsin) 25
39: 8(fvec4) Load 38
40: 26(ptr) AccessChain 32(vsout) 25
Store 40 39
42: 34(ptr) AccessChain 22(vsin) 41
43: 6(int) Load 42
44: 34(ptr) AccessChain 32(vsout) 41
Store 44 43
46:18(VS_INPUT) Load 22(vsin)
Store 45(param) 46
48:11(VS_OUTPUT) Load 32(vsout)
Store 47(param) 48
49: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 45(param) 47(param)
50:11(VS_OUTPUT) Load 32(vsout)
53: 6(int) CompositeExtract 50 0
54: 34(ptr) AccessChain 52 33
Store 54 53
55: 8(fvec4) CompositeExtract 50 1
56: 26(ptr) AccessChain 52 25
Store 56 55
57: 6(int) CompositeExtract 50 2
58: 34(ptr) AccessChain 52 41
Store 58 57
59:20(VS_OUTPUT) Load 52
ReturnValue 59
39: 31(ptr) AccessChain 19(vsin) 38
40: 6(int) Load 39
41: 31(ptr) AccessChain 29(vsout) 38
Store 41 40
43: 9(VS_INPUT) Load 19(vsin)
Store 42(param) 43
45:11(VS_OUTPUT) Load 29(vsout)
Store 44(param) 45
46: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 42(param) 44(param)
47:11(VS_OUTPUT) Load 29(vsout)
ReturnValue 47
FunctionEnd

Просмотреть файл

@ -7,8 +7,8 @@ output primitive = triangle_strip
0:? Sequence
0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void)
0:24 Function Parameters:
0:24 'tin' (in 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:24 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:24 'tin' (in 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 'ts' (out structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:? Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 pos: direct index for structure (temp 4-component vector of float)
@ -35,8 +35,8 @@ output primitive = triangle_strip
0:? 5.000000
0:? 6.000000
0:30 Sequence
0:30 move second child to first child (temp structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 move second child to first child (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 'ts' (out structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 EmitVertex (temp void)
0:24 Function Definition: main( (temp void)
@ -45,8 +45,8 @@ output primitive = triangle_strip
0:24 Sequence
0:24 move second child to first child (temp 2-component vector of float)
0:24 tc: direct index for structure (temp 2-component vector of float)
0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:24 direct index (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
@ -60,8 +60,8 @@ output primitive = triangle_strip
0:24 0 (const int)
0:24 move second child to first child (temp 2-component vector of float)
0:24 tc: direct index for structure (temp 2-component vector of float)
0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:24 direct index (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 1 (const int)
0:24 Constant:
@ -75,8 +75,8 @@ output primitive = triangle_strip
0:24 0 (const int)
0:24 move second child to first child (temp 2-component vector of float)
0:24 tc: direct index for structure (temp 2-component vector of float)
0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:24 direct index (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 2 (const int)
0:24 Constant:
@ -89,8 +89,8 @@ output primitive = triangle_strip
0:24 Constant:
0:24 0 (const int)
0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void)
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:? 'ts' (temp structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'ts' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:? Linker Objects
0:? 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc})
0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos})
@ -107,8 +107,8 @@ output primitive = triangle_strip
0:? Sequence
0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void)
0:24 Function Parameters:
0:24 'tin' (in 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:24 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:24 'tin' (in 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 'ts' (out structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:? Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:27 pos: direct index for structure (temp 4-component vector of float)
@ -135,8 +135,8 @@ output primitive = triangle_strip
0:? 5.000000
0:? 6.000000
0:30 Sequence
0:30 move second child to first child (temp structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 move second child to first child (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 'ts' (out structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 EmitVertex (temp void)
0:24 Function Definition: main( (temp void)
@ -145,8 +145,8 @@ output primitive = triangle_strip
0:24 Sequence
0:24 move second child to first child (temp 2-component vector of float)
0:24 tc: direct index for structure (temp 2-component vector of float)
0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:24 direct index (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
@ -160,8 +160,8 @@ output primitive = triangle_strip
0:24 0 (const int)
0:24 move second child to first child (temp 2-component vector of float)
0:24 tc: direct index for structure (temp 2-component vector of float)
0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:24 direct index (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 1 (const int)
0:24 Constant:
@ -175,8 +175,8 @@ output primitive = triangle_strip
0:24 0 (const int)
0:24 move second child to first child (temp 2-component vector of float)
0:24 tc: direct index for structure (temp 2-component vector of float)
0:24 direct index (temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:24 direct index (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 2 (const int)
0:24 Constant:
@ -189,20 +189,20 @@ output primitive = triangle_strip
0:24 Constant:
0:24 0 (const int)
0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void)
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc})
0:? 'ts' (temp structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'ts' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:? Linker Objects
0:? 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc})
0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 86
// Id's are bound by 67
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 65 85
EntryPoint Geometry 4 "main" 46 66
ExecutionMode 4 Triangles
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
@ -211,39 +211,32 @@ output primitive = triangle_strip
Name 9 "PS_IN"
MemberName 9(PS_IN) 0 "pos"
MemberName 9(PS_IN) 1 "tc"
Name 17 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
Name 18 "GS_OUT"
MemberName 18(GS_OUT) 0 "psIn"
MemberName 18(GS_OUT) 1 "contains_no_builtin_io"
Name 23 "@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;"
Name 21 "tin"
Name 22 "ts"
Name 25 "PS_IN"
MemberName 25(PS_IN) 0 "pos"
MemberName 25(PS_IN) 1 "tc"
Name 26 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
MemberName 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
MemberName 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
Name 27 "GS_OUT"
MemberName 27(GS_OUT) 0 "psIn"
MemberName 27(GS_OUT) 1 "contains_no_builtin_io"
Name 29 "o"
Name 61 "tin"
Name 62 "PS_IN"
MemberName 62(PS_IN) 0 "tc"
Name 65 "tin"
Name 77 "ts"
Name 78 "param"
Name 80 "param"
Name 82 "PerVertex_in"
MemberName 82(PerVertex_in) 0 "tin_pos"
Name 85 "PerVertex_in"
MemberDecorate 9(PS_IN) 0 BuiltIn Position
Decorate 65(tin) Location 0
MemberDecorate 82(PerVertex_in) 0 BuiltIn Position
Decorate 82(PerVertex_in) Block
Name 14 "PS_IN"
MemberName 14(PS_IN) 0 "pos"
MemberName 14(PS_IN) 1 "tc"
Name 18 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
MemberName 18(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
MemberName 18(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
Name 19 "GS_OUT"
MemberName 19(GS_OUT) 0 "psIn"
MemberName 19(GS_OUT) 1 "contains_no_builtin_io"
Name 24 "@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;"
Name 22 "tin"
Name 23 "ts"
Name 26 "o"
Name 42 "tin"
Name 43 "PS_IN"
MemberName 43(PS_IN) 0 "tc"
Name 46 "tin"
Name 58 "ts"
Name 59 "param"
Name 61 "param"
Name 63 "PerVertex_in"
MemberName 63(PerVertex_in) 0 "tin_pos"
Name 66 "PerVertex_in"
Decorate 46(tin) Location 0
MemberDecorate 63(PerVertex_in) 0 BuiltIn Position
Decorate 63(PerVertex_in) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -254,92 +247,70 @@ output primitive = triangle_strip
11: 10(int) Constant 3
12: TypeArray 9(PS_IN) 11
13: TypePointer Function 12
14: 10(int) Constant 2
15: TypeArray 6(float) 14
16: TypeInt 32 1
17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int)
18(GS_OUT): TypeStruct 9(PS_IN) 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
19: TypePointer Function 18(GS_OUT)
20: TypeFunction 2 13(ptr) 19(ptr)
25(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int)
27(GS_OUT): TypeStruct 25(PS_IN) 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
28: TypePointer Function 27(GS_OUT)
30: 16(int) Constant 0
31: 6(float) Constant 1065353216
32: 6(float) Constant 1073741824
33: 6(float) Constant 1077936128
34: 6(float) Constant 1082130432
35: 7(fvec4) ConstantComposite 31 32 33 34
36: TypePointer Function 7(fvec4)
38: 16(int) Constant 1
39: 6(float) Constant 1084227584
40: 6(float) Constant 1086324736
41: 8(fvec2) ConstantComposite 39 40
42: TypePointer Function 8(fvec2)
46: TypePointer Function 9(PS_IN)
53: TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
56: TypePointer Function 15
59: TypePointer Function 16(int)
62(PS_IN): TypeStruct 8(fvec2)
63: TypeArray 62(PS_IN) 11
64: TypePointer Input 63
65(tin): 64(ptr) Variable Input
66: TypePointer Input 8(fvec2)
73: 16(int) Constant 2
82(PerVertex_in): TypeStruct 7(fvec4)
83: TypeArray 82(PerVertex_in) 11
84: TypePointer Input 83
85(PerVertex_in): 84(ptr) Variable Input
14(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
15: 10(int) Constant 2
16: TypeArray 6(float) 15
17: TypeInt 32 1
18(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 16 17(int)
19(GS_OUT): TypeStruct 14(PS_IN) 18(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
20: TypePointer Function 19(GS_OUT)
21: TypeFunction 2 13(ptr) 20(ptr)
27: 17(int) Constant 0
28: 6(float) Constant 1065353216
29: 6(float) Constant 1073741824
30: 6(float) Constant 1077936128
31: 6(float) Constant 1082130432
32: 7(fvec4) ConstantComposite 28 29 30 31
33: TypePointer Function 7(fvec4)
35: 17(int) Constant 1
36: 6(float) Constant 1084227584
37: 6(float) Constant 1086324736
38: 8(fvec2) ConstantComposite 36 37
39: TypePointer Function 8(fvec2)
43(PS_IN): TypeStruct 8(fvec2)
44: TypeArray 43(PS_IN) 11
45: TypePointer Input 44
46(tin): 45(ptr) Variable Input
47: TypePointer Input 8(fvec2)
54: 17(int) Constant 2
63(PerVertex_in): TypeStruct 7(fvec4)
64: TypeArray 63(PerVertex_in) 11
65: TypePointer Input 64
66(PerVertex_in): 65(ptr) Variable Input
4(main): 2 Function None 3
5: Label
61(tin): 13(ptr) Variable Function
77(ts): 19(ptr) Variable Function
78(param): 13(ptr) Variable Function
80(param): 19(ptr) Variable Function
67: 66(ptr) AccessChain 65(tin) 30 30
68: 8(fvec2) Load 67
69: 42(ptr) AccessChain 61(tin) 30 38
Store 69 68
70: 66(ptr) AccessChain 65(tin) 38 30
71: 8(fvec2) Load 70
72: 42(ptr) AccessChain 61(tin) 38 38
Store 72 71
74: 66(ptr) AccessChain 65(tin) 73 30
75: 8(fvec2) Load 74
76: 42(ptr) AccessChain 61(tin) 73 38
Store 76 75
79: 12 Load 61(tin)
Store 78(param) 79
81: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 78(param) 80(param)
42(tin): 13(ptr) Variable Function
58(ts): 20(ptr) Variable Function
59(param): 13(ptr) Variable Function
61(param): 20(ptr) Variable Function
48: 47(ptr) AccessChain 46(tin) 27 27
49: 8(fvec2) Load 48
50: 39(ptr) AccessChain 42(tin) 27 35
Store 50 49
51: 47(ptr) AccessChain 46(tin) 35 27
52: 8(fvec2) Load 51
53: 39(ptr) AccessChain 42(tin) 35 35
Store 53 52
55: 47(ptr) AccessChain 46(tin) 54 27
56: 8(fvec2) Load 55
57: 39(ptr) AccessChain 42(tin) 54 35
Store 57 56
60: 12 Load 42(tin)
Store 59(param) 60
62: 2 FunctionCall 24(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 59(param) 61(param)
Return
FunctionEnd
23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 20
21(tin): 13(ptr) FunctionParameter
22(ts): 19(ptr) FunctionParameter
24: Label
29(o): 28(ptr) Variable Function
37: 36(ptr) AccessChain 29(o) 30 30
Store 37 35
43: 42(ptr) AccessChain 29(o) 30 38
Store 43 41
44: 27(GS_OUT) Load 29(o)
45: 25(PS_IN) CompositeExtract 44 0
47: 46(ptr) AccessChain 22(ts) 30
48: 7(fvec4) CompositeExtract 45 0
49: 36(ptr) AccessChain 47 30
Store 49 48
50: 8(fvec2) CompositeExtract 45 1
51: 42(ptr) AccessChain 47 38
Store 51 50
52:26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) CompositeExtract 44 1
54: 53(ptr) AccessChain 22(ts) 38
55: 15 CompositeExtract 52 0
57: 56(ptr) AccessChain 54 30
Store 57 55
58: 16(int) CompositeExtract 52 1
60: 59(ptr) AccessChain 54 38
Store 60 58
24(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 21
22(tin): 13(ptr) FunctionParameter
23(ts): 20(ptr) FunctionParameter
25: Label
26(o): 20(ptr) Variable Function
34: 33(ptr) AccessChain 26(o) 27 27
Store 34 32
40: 39(ptr) AccessChain 26(o) 27 35
Store 40 38
41: 19(GS_OUT) Load 26(o)
Store 23(ts) 41
EmitVertex
Return
FunctionEnd

Просмотреть файл

@ -1,10 +1,10 @@
hlsl.struct.split.trivial.vert
Shader version: 450
0:? Sequence
0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos})
0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Pos})
0:16 Function Parameters:
0:16 'vsin' (in structure{temp 4-component vector of float Pos_in})
0:16 'Pos_loose' (in 4-component vector of float Position)
0:16 'Pos_loose' (in 4-component vector of float)
0:? Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:19 Pos: direct index for structure (temp 4-component vector of float)
@ -16,7 +16,7 @@ Shader version: 450
0:19 'vsin' (in structure{temp 4-component vector of float Pos_in})
0:19 Constant:
0:19 0 (const int)
0:19 'Pos_loose' (in 4-component vector of float Position)
0:19 'Pos_loose' (in 4-component vector of float)
0:21 Branch: Return with expression
0:21 'vsout' (temp structure{temp 4-component vector of float Pos})
0:16 Function Definition: main( (temp void)
@ -35,8 +35,8 @@ Shader version: 450
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:16 Pos: direct index for structure (temp 4-component vector of float Position)
0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos})
0:16 Pos: direct index for structure (temp 4-component vector of float)
0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Pos})
0:? 'vsin' (temp structure{temp 4-component vector of float Pos_in})
0:? 'Pos_loose' (temp 4-component vector of float)
0:16 Constant:
@ -52,10 +52,10 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos})
0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Pos})
0:16 Function Parameters:
0:16 'vsin' (in structure{temp 4-component vector of float Pos_in})
0:16 'Pos_loose' (in 4-component vector of float Position)
0:16 'Pos_loose' (in 4-component vector of float)
0:? Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:19 Pos: direct index for structure (temp 4-component vector of float)
@ -67,7 +67,7 @@ Shader version: 450
0:19 'vsin' (in structure{temp 4-component vector of float Pos_in})
0:19 Constant:
0:19 0 (const int)
0:19 'Pos_loose' (in 4-component vector of float Position)
0:19 'Pos_loose' (in 4-component vector of float)
0:21 Branch: Return with expression
0:21 'vsout' (temp structure{temp 4-component vector of float Pos})
0:16 Function Definition: main( (temp void)
@ -86,8 +86,8 @@ Shader version: 450
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:16 Pos: direct index for structure (temp 4-component vector of float Position)
0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos})
0:16 Pos: direct index for structure (temp 4-component vector of float)
0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Pos})
0:? 'vsin' (temp structure{temp 4-component vector of float Pos_in})
0:? 'Pos_loose' (temp 4-component vector of float)
0:16 Constant:
@ -99,12 +99,12 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 54
// Id's are bound by 48
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 37 41 44 53
EntryPoint Vertex 4 "main" 31 35 38 47
Name 4 "main"
Name 8 "VS_INPUT"
MemberName 8(VS_INPUT) 0 "Pos_in"
@ -113,25 +113,22 @@ Shader version: 450
Name 15 "@main(struct-VS_INPUT-vf41;vf4;"
Name 13 "vsin"
Name 14 "Pos_loose"
Name 17 "VS_OUTPUT"
MemberName 17(VS_OUTPUT) 0 "Pos"
Name 19 "vsout"
Name 35 "vsin"
Name 37 "Pos_in"
Name 40 "Pos_loose"
Name 41 "Pos_loose"
Name 44 "@entryPointOutput_Pos"
Name 45 "param"
Name 47 "param"
Name 51 "PerVertex_out"
MemberName 51(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 53 "PerVertex_out"
MemberDecorate 11(VS_OUTPUT) 0 BuiltIn Position
Decorate 37(Pos_in) BuiltIn Position
Decorate 41(Pos_loose) BuiltIn Position
Decorate 44(@entryPointOutput_Pos) BuiltIn Position
MemberDecorate 51(PerVertex_out) 0 BuiltIn Position
Decorate 51(PerVertex_out) Block
Name 18 "vsout"
Name 29 "vsin"
Name 31 "Pos_in"
Name 34 "Pos_loose"
Name 35 "Pos_loose"
Name 38 "@entryPointOutput_Pos"
Name 39 "param"
Name 41 "param"
Name 45 "PerVertex_out"
MemberName 45(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 47 "PerVertex_out"
Decorate 31(Pos_in) BuiltIn Position
Decorate 35(Pos_loose) BuiltIn Position
Decorate 38(@entryPointOutput_Pos) BuiltIn Position
MemberDecorate 45(PerVertex_out) 0 BuiltIn Position
Decorate 45(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -141,55 +138,48 @@ Shader version: 450
10: TypePointer Function 7(fvec4)
11(VS_OUTPUT): TypeStruct 7(fvec4)
12: TypeFunction 11(VS_OUTPUT) 9(ptr) 10(ptr)
17(VS_OUTPUT): TypeStruct 7(fvec4)
18: TypePointer Function 17(VS_OUTPUT)
20: TypeInt 32 1
21: 20(int) Constant 0
28: TypePointer Function 11(VS_OUTPUT)
36: TypePointer Input 7(fvec4)
37(Pos_in): 36(ptr) Variable Input
41(Pos_loose): 36(ptr) Variable Input
43: TypePointer Output 7(fvec4)
44(@entryPointOutput_Pos): 43(ptr) Variable Output
51(PerVertex_out): TypeStruct 7(fvec4)
52: TypePointer Output 51(PerVertex_out)
53(PerVertex_out): 52(ptr) Variable Output
17: TypePointer Function 11(VS_OUTPUT)
19: TypeInt 32 1
20: 19(int) Constant 0
30: TypePointer Input 7(fvec4)
31(Pos_in): 30(ptr) Variable Input
35(Pos_loose): 30(ptr) Variable Input
37: TypePointer Output 7(fvec4)
38(@entryPointOutput_Pos): 37(ptr) Variable Output
45(PerVertex_out): TypeStruct 7(fvec4)
46: TypePointer Output 45(PerVertex_out)
47(PerVertex_out): 46(ptr) Variable Output
4(main): 2 Function None 3
5: Label
35(vsin): 9(ptr) Variable Function
40(Pos_loose): 10(ptr) Variable Function
45(param): 9(ptr) Variable Function
47(param): 10(ptr) Variable Function
38: 7(fvec4) Load 37(Pos_in)
39: 10(ptr) AccessChain 35(vsin) 21
Store 39 38
42: 7(fvec4) Load 41(Pos_loose)
Store 40(Pos_loose) 42
46: 8(VS_INPUT) Load 35(vsin)
Store 45(param) 46
48: 7(fvec4) Load 40(Pos_loose)
Store 47(param) 48
49:11(VS_OUTPUT) FunctionCall 15(@main(struct-VS_INPUT-vf41;vf4;) 45(param) 47(param)
50: 7(fvec4) CompositeExtract 49 0
Store 44(@entryPointOutput_Pos) 50
29(vsin): 9(ptr) Variable Function
34(Pos_loose): 10(ptr) Variable Function
39(param): 9(ptr) Variable Function
41(param): 10(ptr) Variable Function
32: 7(fvec4) Load 31(Pos_in)
33: 10(ptr) AccessChain 29(vsin) 20
Store 33 32
36: 7(fvec4) Load 35(Pos_loose)
Store 34(Pos_loose) 36
40: 8(VS_INPUT) Load 29(vsin)
Store 39(param) 40
42: 7(fvec4) Load 34(Pos_loose)
Store 41(param) 42
43:11(VS_OUTPUT) FunctionCall 15(@main(struct-VS_INPUT-vf41;vf4;) 39(param) 41(param)
44: 7(fvec4) CompositeExtract 43 0
Store 38(@entryPointOutput_Pos) 44
Return
FunctionEnd
15(@main(struct-VS_INPUT-vf41;vf4;):11(VS_OUTPUT) Function None 12
13(vsin): 9(ptr) FunctionParameter
14(Pos_loose): 10(ptr) FunctionParameter
16: Label
19(vsout): 18(ptr) Variable Function
29: 28(ptr) Variable Function
22: 10(ptr) AccessChain 13(vsin) 21
23: 7(fvec4) Load 22
24: 7(fvec4) Load 14(Pos_loose)
25: 7(fvec4) FAdd 23 24
26: 10(ptr) AccessChain 19(vsout) 21
Store 26 25
27:17(VS_OUTPUT) Load 19(vsout)
30: 7(fvec4) CompositeExtract 27 0
31: 10(ptr) AccessChain 29 21
Store 31 30
32:11(VS_OUTPUT) Load 29
ReturnValue 32
18(vsout): 17(ptr) Variable Function
21: 10(ptr) AccessChain 13(vsin) 20
22: 7(fvec4) Load 21
23: 7(fvec4) Load 14(Pos_loose)
24: 7(fvec4) FAdd 22 23
25: 10(ptr) AccessChain 18(vsout) 20
Store 25 24
26:11(VS_OUTPUT) Load 18(vsout)
ReturnValue 26
FunctionEnd

Просмотреть файл

@ -8,7 +8,7 @@ output primitive = triangle_strip
0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void)
0:16 Function Parameters:
0:16 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 'outStream' (out structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:19 color: direct index for structure (temp 4-component vector of float)
@ -47,8 +47,8 @@ output primitive = triangle_strip
0:21 Constant:
0:21 0 (const int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 move second child to first child (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'outStream' (out structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 EmitVertex (temp void)
0:16 Function Definition: main( (temp void)
@ -59,7 +59,7 @@ output primitive = triangle_strip
0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void)
0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream' (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Linker Objects
0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
@ -76,7 +76,7 @@ output primitive = triangle_strip
0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void)
0:16 Function Parameters:
0:16 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 'outStream' (out structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:19 color: direct index for structure (temp 4-component vector of float)
@ -115,8 +115,8 @@ output primitive = triangle_strip
0:21 Constant:
0:21 0 (const int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 move second child to first child (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'outStream' (out structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 EmitVertex (temp void)
0:16 Function Definition: main( (temp void)
@ -127,18 +127,18 @@ output primitive = triangle_strip
0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void)
0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream' (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Linker Objects
0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 55
// Id's are bound by 47
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 48
EntryPoint Geometry 4 "main" 40
ExecutionMode 4 InputLines
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
@ -155,18 +155,13 @@ output primitive = triangle_strip
Name 19 "@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;"
Name 17 "vin"
Name 18 "outStream"
Name 21 "PS_IN"
MemberName 21(PS_IN) 0 "position"
MemberName 21(PS_IN) 1 "color"
MemberName 21(PS_IN) 2 "uv"
Name 23 "vout"
Name 46 "vin"
Name 48 "vin"
Name 50 "outStream"
Name 51 "param"
Name 53 "param"
MemberDecorate 14(PS_IN) 0 BuiltIn Position
Decorate 48(vin) Location 0
Name 21 "vout"
Name 38 "vin"
Name 40 "vin"
Name 42 "outStream"
Name 43 "param"
Name 45 "param"
Decorate 40(vin) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -180,56 +175,46 @@ output primitive = triangle_strip
14(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
15: TypePointer Function 14(PS_IN)
16: TypeFunction 2 13(ptr) 15(ptr)
21(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
22: TypePointer Function 21(PS_IN)
24: TypeInt 32 1
25: 24(int) Constant 1
26: TypePointer Function 7(fvec4)
30: 24(int) Constant 2
31: TypePointer Function 8(fvec2)
35: 24(int) Constant 0
47: TypePointer Input 12
48(vin): 47(ptr) Variable Input
22: TypeInt 32 1
23: 22(int) Constant 1
24: TypePointer Function 7(fvec4)
28: 22(int) Constant 2
29: TypePointer Function 8(fvec2)
33: 22(int) Constant 0
39: TypePointer Input 12
40(vin): 39(ptr) Variable Input
4(main): 2 Function None 3
5: Label
46(vin): 13(ptr) Variable Function
50(outStream): 15(ptr) Variable Function
51(param): 13(ptr) Variable Function
53(param): 15(ptr) Variable Function
49: 12 Load 48(vin)
Store 46(vin) 49
52: 12 Load 46(vin)
Store 51(param) 52
54: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 51(param) 53(param)
38(vin): 13(ptr) Variable Function
42(outStream): 15(ptr) Variable Function
43(param): 13(ptr) Variable Function
45(param): 15(ptr) Variable Function
41: 12 Load 40(vin)
Store 38(vin) 41
44: 12 Load 38(vin)
Store 43(param) 44
46: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 43(param) 45(param)
Return
FunctionEnd
19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;): 2 Function None 16
17(vin): 13(ptr) FunctionParameter
18(outStream): 15(ptr) FunctionParameter
20: Label
23(vout): 22(ptr) Variable Function
27: 26(ptr) AccessChain 17(vin) 25 25
28: 7(fvec4) Load 27
29: 26(ptr) AccessChain 23(vout) 25
Store 29 28
32: 31(ptr) AccessChain 17(vin) 25 30
33: 8(fvec2) Load 32
34: 31(ptr) AccessChain 23(vout) 30
Store 34 33
36: 26(ptr) AccessChain 17(vin) 25 35
37: 7(fvec4) Load 36
38: 26(ptr) AccessChain 23(vout) 35
Store 38 37
39: 21(PS_IN) Load 23(vout)
40: 7(fvec4) CompositeExtract 39 0
41: 26(ptr) AccessChain 18(outStream) 35
Store 41 40
42: 7(fvec4) CompositeExtract 39 1
43: 26(ptr) AccessChain 18(outStream) 25
Store 43 42
44: 8(fvec2) CompositeExtract 39 2
45: 31(ptr) AccessChain 18(outStream) 30
Store 45 44
21(vout): 15(ptr) Variable Function
25: 24(ptr) AccessChain 17(vin) 23 23
26: 7(fvec4) Load 25
27: 24(ptr) AccessChain 21(vout) 23
Store 27 26
30: 29(ptr) AccessChain 17(vin) 23 28
31: 8(fvec2) Load 30
32: 29(ptr) AccessChain 21(vout) 28
Store 32 31
34: 24(ptr) AccessChain 17(vin) 23 33
35: 7(fvec4) Load 34
36: 24(ptr) AccessChain 21(vout) 33
Store 36 35
37: 14(PS_IN) Load 21(vout)
Store 18(outStream) 37
EmitVertex
Return
FunctionEnd

Просмотреть файл

@ -1,7 +1,7 @@
hlsl.structin.vert
Shader version: 450
0:? Sequence
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Parameters:
0:8 'd' (in 4-component vector of float)
0:8 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
@ -86,7 +86,7 @@ Shader version: 450
0:8 Sequence
0:8 move second child to first child (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'd' (temp 4-component vector of float)
0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'e' (temp 4-component vector of float)
@ -134,7 +134,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Parameters:
0:8 'd' (in 4-component vector of float)
0:8 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
@ -219,7 +219,7 @@ Shader version: 450
0:8 Sequence
0:8 move second child to first child (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'flattenTemp' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'd' (temp 4-component vector of float)
0:? 'vi' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'e' (temp 4-component vector of float)

Просмотреть файл

@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "Overload400-PrecQual.1780"
#define GLSLANG_REVISION "Overload400-PrecQual.1783"
#define GLSLANG_DATE "01-Feb-2017"

Просмотреть файл

@ -1094,8 +1094,8 @@ int HlslParseContext::flatten(const TSourceLoc& loc, const TVariable& variable,
// Add a single flattened member to the flattened data being tracked for the composite
// Returns true for the final flattening level.
int HlslParseContext::addFlattenedMember(const TSourceLoc& loc,
const TVariable& variable, const TType& type, TFlattenData& flattenData,
const TString& memberName, bool track)
const TVariable& variable, const TType& type, TFlattenData& flattenData,
const TString& memberName, bool track)
{
if (isFinalFlattening(type)) {
// This is as far as we flatten. Insert the variable.
@ -1121,12 +1121,9 @@ int HlslParseContext::addFlattenedMember(const TSourceLoc& loc,
// Figure out the mapping between an aggregate's top members and an
// equivalent set of individual variables.
//
// N.B. Erases memory of I/O-related annotations in the original type's member,
// effecting a transfer of this information to the flattened variable form.
//
// Assumes shouldFlatten() or equivalent was called first.
int HlslParseContext::flattenStruct(const TSourceLoc& loc, const TVariable& variable, const TType& type,
TFlattenData& flattenData, TString name)
TFlattenData& flattenData, TString name)
{
assert(type.isStruct());
@ -1143,9 +1140,6 @@ int HlslParseContext::flattenStruct(const TSourceLoc& loc, const TVariable& vari
const int mpos = addFlattenedMember(loc, variable, dereferencedType, flattenData, memberName, false);
flattenData.offsets[pos++] = mpos;
// N.B. Erase I/O-related annotations from the source-type member.
dereferencedType.getQualifier().makeTemporary();
}
return start;
@ -1643,6 +1637,8 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
TVector<TVariable*> inputs;
TVector<TVariable*> outputs;
remapEntryPointIO(userFunction, entryPointOutput, inputs, outputs);
// Once the parameters are moved to shader I/O, they should be non-I/O
remapNonEntryPointIO(userFunction);
// Further this return/in/out transform by flattening, splitting, and assigning locations
const auto makeVariableInOut = [&](TVariable& variable) {
@ -1805,11 +1801,11 @@ void HlslParseContext::remapNonEntryPointIO(TFunction& function)
{
// return value
if (function.getType().getBasicType() != EbtVoid)
makeNonIoType(&function.getWritableType());
makeTypeNonIo(&function.getWritableType());
// parameters
for (int i = 0; i < function.getParamCount(); i++)
makeNonIoType(function[i].type);
makeTypeNonIo(function[i].type);
}
// Handle function returns, including type conversions to the function return type
@ -5391,20 +5387,20 @@ void HlslParseContext::declareTypedef(const TSourceLoc& loc, TString& identifier
error(loc, "name already defined", "typedef", identifier.c_str());
}
// Create a non-IO type from an IO type. If there is no IO data, this
// returns the input type unmodified. Otherwise, it modifies the type
// in place, and returns a pointer to it.
TType* HlslParseContext::makeNonIoType(TType* type)
// Create a non-IO type from an IO type. If there is no IO data,
// the input type is unmodified. Otherwise, it modifies the type
// in place.
void HlslParseContext::makeTypeNonIo(TType* type)
{
// early out if there's nothing to do: prevents introduction of unneeded types.
if (!type->hasIoData())
return type;
return;
type->getQualifier().makeNonIo(); // Sanitize the qualifier.
// Nothing more to do if there is no deep structure.
if (!type->isStruct())
return type;
return;
const auto typeIter = nonIoTypeMap.find(type->getStruct());
@ -5426,8 +5422,6 @@ TType* HlslParseContext::makeNonIoType(TType* type)
nonIoTypeMap[type->getStruct()] = nonIoType.getWritableStruct();
type->shallowCopy(nonIoType); // we modify the input type in place
}
return type;
}
//
@ -5460,7 +5454,7 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i
switch (type.getQualifier().storage) {
case EvqGlobal:
case EvqTemporary:
makeNonIoType(&type);
makeTypeNonIo(&type);
default:
break;
}

Просмотреть файл

@ -230,7 +230,7 @@ protected:
// Create a non-IO type from an IO type. If there is no IO data, this returns the input type unmodified.
// Otherwise, it modifies the type in place, and returns a pointer to it.
TType* makeNonIoType(TType*);
void makeTypeNonIo(TType*);
void finish() override; // post-processing