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
parent 5d3023af03
commit abd8dca86d
24 changed files with 1146 additions and 1346 deletions

View File

@ -4,12 +4,12 @@ local_size = (1, 1, 1)
0:? Sequence 0:? Sequence
0:4 Function Definition: @main(i1;i1; (temp void) 0:4 Function Definition: @main(i1;i1; (temp void)
0:4 Function Parameters: 0:4 Function Parameters:
0:4 'dti' (in int GlobalInvocationID) 0:4 'dti' (in int)
0:4 'gti' (in int LocalInvocationID) 0:4 'gti' (in int)
0:? Sequence 0:? Sequence
0:5 subtract (temp int) 0:5 subtract (temp int)
0:5 'dti' (in int GlobalInvocationID) 0:5 'dti' (in int)
0:5 'gti' (in int LocalInvocationID) 0:5 'gti' (in int)
0:4 Function Definition: main( (temp void) 0:4 Function Definition: main( (temp void)
0:4 Function Parameters: 0:4 Function Parameters:
0:? Sequence 0:? Sequence
@ -36,12 +36,12 @@ local_size = (1, 1, 1)
0:? Sequence 0:? Sequence
0:4 Function Definition: @main(i1;i1; (temp void) 0:4 Function Definition: @main(i1;i1; (temp void)
0:4 Function Parameters: 0:4 Function Parameters:
0:4 'dti' (in int GlobalInvocationID) 0:4 'dti' (in int)
0:4 'gti' (in int LocalInvocationID) 0:4 'gti' (in int)
0:? Sequence 0:? Sequence
0:5 subtract (temp int) 0:5 subtract (temp int)
0:5 'dti' (in int GlobalInvocationID) 0:5 'dti' (in int)
0:5 'gti' (in int LocalInvocationID) 0:5 'gti' (in int)
0:4 Function Definition: main( (temp void) 0:4 Function Definition: main( (temp void)
0:4 Function Parameters: 0:4 Function Parameters:
0:? Sequence 0:? Sequence

View File

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

View File

@ -3,7 +3,7 @@ Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
using depth_less using depth_less
0:? Sequence 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:2 Function Parameters:
0:? Sequence 0:? Sequence
0:3 Branch: Return with expression 0:3 Branch: Return with expression
@ -14,7 +14,7 @@ using depth_less
0:? Sequence 0:? Sequence
0:2 move second child to first child (temp float) 0:2 move second child to first child (temp float)
0:? '@entryPointOutput' (out float FragDepth) 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:? Linker Objects
0:? '@entryPointOutput' (out float FragDepth) 0:? '@entryPointOutput' (out float FragDepth)
@ -26,7 +26,7 @@ Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
using depth_less using depth_less
0:? Sequence 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:2 Function Parameters:
0:? Sequence 0:? Sequence
0:3 Branch: Return with expression 0:3 Branch: Return with expression
@ -37,7 +37,7 @@ using depth_less
0:? Sequence 0:? Sequence
0:2 move second child to first child (temp float) 0:2 move second child to first child (temp float)
0:? '@entryPointOutput' (out float FragDepth) 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:? Linker Objects
0:? '@entryPointOutput' (out float FragDepth) 0:? '@entryPointOutput' (out float FragDepth)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -10,13 +10,13 @@ Shader version: 450
0:5 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int) 0:5 Convert uint to int (temp int)
0:5 'Index' (in uint) 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 Function Parameters:
0:9 'Index' (in uint VertexIndex) 0:9 'Index' (in uint)
0:? Sequence 0:? Sequence
0:10 Branch: Return with expression 0:10 Branch: Return with expression
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) 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 Definition: RealEntrypoint( (temp void)
0:9 Function Parameters: 0:9 Function Parameters:
0:? Sequence 0:? Sequence
@ -25,7 +25,7 @@ Shader version: 450
0:? 'Index' (in uint VertexIndex) 0:? 'Index' (in uint VertexIndex)
0:9 move second child to first child (temp 4-component vector of float) 0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position) 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:? 'Index' (temp uint)
0:? Linker Objects 0:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
@ -47,13 +47,13 @@ Shader version: 450
0:5 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int) 0:5 Convert uint to int (temp int)
0:5 'Index' (in uint) 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 Function Parameters:
0:9 'Index' (in uint VertexIndex) 0:9 'Index' (in uint)
0:? Sequence 0:? Sequence
0:10 Branch: Return with expression 0:10 Branch: Return with expression
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) 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 Definition: RealEntrypoint( (temp void)
0:9 Function Parameters: 0:9 Function Parameters:
0:? Sequence 0:? Sequence
@ -62,7 +62,7 @@ Shader version: 450
0:? 'Index' (in uint VertexIndex) 0:? 'Index' (in uint VertexIndex)
0:9 move second child to first child (temp 4-component vector of float) 0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position) 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:? 'Index' (temp uint)
0:? Linker Objects 0:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)

View File

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

View File

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

View File

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

View File

@ -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 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 Function Parameters:
0:34 'input' (in 4-component vector of float) 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:? Sequence
0:39 Compare Equal (temp bool) 0:39 Compare Equal (temp bool)
0:39 's3' (temp structure{temp 3-component vector of bool b3}) 0:39 's3' (temp structure{temp 3-component vector of bool b3})
@ -19,8 +19,8 @@ gl_FragCoord origin is upper left
0:40 's2' (global structure{temp 4-component vector of float i}) 0:40 's2' (global structure{temp 4-component vector of float i})
0:40 Constant: 0:40 Constant:
0:40 0 (const int) 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 ff4: direct index for structure (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 '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 Constant:
0:40 7 (const int) 0:40 7 (const int)
0:42 Branch: Return with expression 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:? 'input' (layout(location=0 ) in 4-component vector of float)
0:34 Sequence 0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float) 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:34 a: direct index for structure (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:34 Constant: 0:34 Constant:
0:34 0 (const int) 0:34 0 (const int)
0:34 a: direct index for structure (smooth temp 4-component vector of float) 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 Constant:
0:34 0 (const int) 0:34 0 (const int)
0:34 move second child to first child (temp bool) 0:34 move second child to first child (temp bool)
0:34 b: direct index for structure (flat temp bool) 0:34 b: direct index for structure (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:? '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 Constant:
0:34 1 (const int) 0:34 1 (const int)
0:34 b: direct index for structure (flat temp bool) 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 Constant:
0:34 1 (const int) 0:34 1 (const int)
0:34 move second child to first child (temp 1-component vector of float) 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:34 c: direct index for structure (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:? '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 Constant:
0:34 2 (const int) 0:34 2 (const int)
0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float) 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 Constant:
0:34 2 (const int) 0:34 2 (const int)
0:34 move second child to first child (temp 2-component vector of float) 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:34 d: direct index for structure (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:? '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 Constant:
0:34 3 (const int) 0:34 3 (const int)
0:34 d: direct index for structure (centroid sample temp 2-component vector of float) 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 Constant:
0:34 3 (const int) 0:34 3 (const int)
0:34 move second child to first child (temp bool) 0:34 move second child to first child (temp bool)
0:34 ff1: direct index for structure (temp bool Face) 0:34 ff1: direct index for structure (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:? '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 Constant:
0:34 4 (const int) 0:34 4 (const int)
0:? 's_ff1' (in bool Face) 0:? 's_ff1' (in bool Face)
0:34 move second child to first child (temp bool) 0:34 move second child to first child (temp bool)
0:34 ff2: direct index for structure (layout(offset=4 ) temp bool) 0:34 ff2: direct index for structure (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:? '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 Constant:
0:34 5 (const int) 0:34 5 (const int)
0:34 ff2: direct index for structure (layout(offset=4 ) temp bool) 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 Constant:
0:34 4 (const int) 0:34 4 (const int)
0:34 move second child to first child (temp bool) 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:34 ff3: direct index for structure (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:? '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 Constant:
0:34 6 (const int) 0:34 6 (const int)
0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool) 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 Constant:
0:34 5 (const int) 0:34 5 (const int)
0:34 move second child to first child (temp 4-component vector of float) 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:34 ff4: direct index for structure (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:34 Constant: 0:34 Constant:
0:34 7 (const int) 0:34 7 (const int)
0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) 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:? '@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: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:? '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:? Linker Objects
0:? 's2' (global structure{temp 4-component vector of float i}) 0:? 's2' (global structure{temp 4-component vector of float i})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 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 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 Function Parameters:
0:34 'input' (in 4-component vector of float) 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:? Sequence
0:39 Compare Equal (temp bool) 0:39 Compare Equal (temp bool)
0:39 's3' (temp structure{temp 3-component vector of bool b3}) 0:39 's3' (temp structure{temp 3-component vector of bool b3})
@ -134,8 +134,8 @@ gl_FragCoord origin is upper left
0:40 's2' (global structure{temp 4-component vector of float i}) 0:40 's2' (global structure{temp 4-component vector of float i})
0:40 Constant: 0:40 Constant:
0:40 0 (const int) 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 ff4: direct index for structure (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 '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 Constant:
0:40 7 (const int) 0:40 7 (const int)
0:42 Branch: Return with expression 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:? 'input' (layout(location=0 ) in 4-component vector of float)
0:34 Sequence 0:34 Sequence
0:34 move second child to first child (temp 4-component vector of float) 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:34 a: direct index for structure (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:34 Constant: 0:34 Constant:
0:34 0 (const int) 0:34 0 (const int)
0:34 a: direct index for structure (smooth temp 4-component vector of float) 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 Constant:
0:34 0 (const int) 0:34 0 (const int)
0:34 move second child to first child (temp bool) 0:34 move second child to first child (temp bool)
0:34 b: direct index for structure (flat temp bool) 0:34 b: direct index for structure (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:? '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 Constant:
0:34 1 (const int) 0:34 1 (const int)
0:34 b: direct index for structure (flat temp bool) 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 Constant:
0:34 1 (const int) 0:34 1 (const int)
0:34 move second child to first child (temp 1-component vector of float) 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:34 c: direct index for structure (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:? '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 Constant:
0:34 2 (const int) 0:34 2 (const int)
0:34 c: direct index for structure (centroid noperspective temp 1-component vector of float) 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 Constant:
0:34 2 (const int) 0:34 2 (const int)
0:34 move second child to first child (temp 2-component vector of float) 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:34 d: direct index for structure (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:? '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 Constant:
0:34 3 (const int) 0:34 3 (const int)
0:34 d: direct index for structure (centroid sample temp 2-component vector of float) 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 Constant:
0:34 3 (const int) 0:34 3 (const int)
0:34 move second child to first child (temp bool) 0:34 move second child to first child (temp bool)
0:34 ff1: direct index for structure (temp bool Face) 0:34 ff1: direct index for structure (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:? '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 Constant:
0:34 4 (const int) 0:34 4 (const int)
0:? 's_ff1' (in bool Face) 0:? 's_ff1' (in bool Face)
0:34 move second child to first child (temp bool) 0:34 move second child to first child (temp bool)
0:34 ff2: direct index for structure (layout(offset=4 ) temp bool) 0:34 ff2: direct index for structure (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:? '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 Constant:
0:34 5 (const int) 0:34 5 (const int)
0:34 ff2: direct index for structure (layout(offset=4 ) temp bool) 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 Constant:
0:34 4 (const int) 0:34 4 (const int)
0:34 move second child to first child (temp bool) 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:34 ff3: direct index for structure (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:? '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 Constant:
0:34 6 (const int) 0:34 6 (const int)
0:34 ff3: direct index for structure (layout(binding=0 offset=4 ) temp bool) 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 Constant:
0:34 5 (const int) 0:34 5 (const int)
0:34 move second child to first child (temp 4-component vector of float) 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:34 ff4: direct index for structure (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:34 Constant: 0:34 Constant:
0:34 7 (const int) 0:34 7 (const int)
0:34 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) 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:? '@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: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:? '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:? Linker Objects
0:? 's2' (global structure{temp 4-component vector of float i}) 0:? 's2' (global structure{temp 4-component vector of float i})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 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) 1 "ff5"
MemberName 94($Global) 2 "ff6" MemberName 94($Global) 2 "ff6"
Name 96 "" Name 96 ""
MemberDecorate 11(IN_S) 4 BuiltIn FrontFacing
Decorate 43(input) Location 0 Decorate 43(input) Location 0
Decorate 48(s) Location 1 Decorate 48(s) Location 1
Decorate 71(s_ff1) BuiltIn FrontFacing Decorate 71(s_ff1) BuiltIn FrontFacing

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
hlsl.structin.vert hlsl.structin.vert
Shader version: 450 Shader version: 450
0:? Sequence 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 Function Parameters:
0:8 'd' (in 4-component vector of float) 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}) 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 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 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 '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:? '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:? '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) 0:? 'e' (temp 4-component vector of float)
@ -134,7 +134,7 @@ Linked vertex stage:
Shader version: 450 Shader version: 450
0:? Sequence 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 Function Parameters:
0:8 'd' (in 4-component vector of float) 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}) 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 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 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 '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:? '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:? '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) 0:? 'e' (temp 4-component vector of float)

View File

@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits. // 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). // 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" #define GLSLANG_DATE "01-Feb-2017"

View File

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

View File

@ -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. // 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. // Otherwise, it modifies the type in place, and returns a pointer to it.
TType* makeNonIoType(TType*); void makeTypeNonIo(TType*);
void finish() override; // post-processing void finish() override; // post-processing