0:8 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (global 4-component vector of float)
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:8 Function Parameters:
0:8 Function Parameters:
0:8 '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:8 'p' (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:? Sequence
0:? Sequence
0:9 Branch: Return with expression
0:9 add (temp float)
0:9 direct index (temp float)
0:9 v: direct index for structure (temp 2-component vector of float)
0:9 'p' (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:9 Constant:
0:9 0 (const int)
0:9 Constant:
0:9 1 (const int)
0:9 direct index (temp float)
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:9 'p' (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:9 Constant:
0:9 1 (const int)
0:9 Constant:
0:9 0 (const int)
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (global 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:? Sequence
0:10 move second child to first child (temp 2-component vector of float)
0:? Sequence
0:10 v: direct index for structure (temp 2-component vector of float)
0:15 move second child to first child (temp 2-component vector of float)
0:10 'local' (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:15 v: direct index for structure (temp 2-component vector of float)
0:10 Constant:
0:15 'local' (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:10 0 (const int)
0:15 Constant:
0:15 0 (const int)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:15 move second child to first child (temp 4-component vector of float)
0:15 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:15 'local' (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:15 Constant:
0:15 1 (const int)
0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:15 move second child to first child (temp 2-component vector of int)
0:15 i2: direct index for structure (temp 2-component vector of int)
0:15 'local' (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:15 Constant:
0:15 2 (const int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:16 'local' (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:17 Sequence
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:? Comma (temp float)
0:? Sequence
0:? move second child to first child (temp 2-component vector of float)
0:? v: direct index for structure (temp 2-component vector of float)
0:? 'aggShadow' (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:? Constant:
0:? 0 (const int)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:10 move second child to first child (temp 4-component vector of float)
0:? move second child to first child (temp 4-component vector of float)
0:10 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:10 'local' (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:? 'aggShadow' (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:10 Constant:
0:? Constant:
0:10 1 (const int)
0:? 1 (const int)
0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:10 move second child to first child (temp 2-component vector of int)
0:? move second child to first child (temp 2-component vector of int)
0:10 i2: direct index for structure (temp 2-component vector of int)
0:? i2: direct index for structure (temp 2-component vector of int)
0:10 'local' (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:? 'aggShadow' (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:10 Constant:
0:? Constant:
0:10 2 (const int)
0:? 2 (const int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:12 Sequence
0:? 'aggShadow' (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:12 move second child to first child (temp 4-component vector of float)
0:19 Sequence
0:19 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:12 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:19 vector-scale (temp 4-component vector of float)
0:12 'local' (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:19 vector-scale (temp 4-component vector of float)
0:12 Constant:
0:19 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:12 1 (const int)
0:19 'local' (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:12 Branch: Return
0:19 Constant:
0:19 1 (const int)
0:19 'ret1' (temp float)
0:19 'ret2' (temp float)
0:19 Branch: Return
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:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
...
@@ -46,37 +100,91 @@ Linked fragment stage:
...
@@ -46,37 +100,91 @@ Linked fragment stage:
Shader version: 450
Shader version: 450
gl_FragCoord origin is upper left
gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:8 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (global 4-component vector of float)
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:8 Function Parameters:
0:8 Function Parameters:
0:8 '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:8 'p' (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:? Sequence
0:9 Branch: Return with expression
0:9 add (temp float)
0:9 direct index (temp float)
0:9 v: direct index for structure (temp 2-component vector of float)
0:9 'p' (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:9 Constant:
0:9 0 (const int)
0:9 Constant:
0:9 1 (const int)
0:9 direct index (temp float)
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:9 'p' (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:9 Constant:
0:9 1 (const int)
0:9 Constant:
0:9 0 (const int)
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (global 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:? Sequence
0:? Sequence
0:? Sequence
0:10 move second child to first child (temp 2-component vector of float)
0:15 move second child to first child (temp 2-component vector of float)
0:10 v: direct index for structure (temp 2-component vector of float)
0:15 v: direct index for structure (temp 2-component vector of float)
0:10 'local' (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:15 'local' (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:10 Constant:
0:15 Constant:
0:10 0 (const int)
0:15 0 (const int)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:10 move second child to first child (temp 4-component vector of float)
0:15 move second child to first child (temp 4-component vector of float)
0:10 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:15 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:10 'local' (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:15 'local' (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:10 Constant:
0:15 Constant:
0:10 1 (const int)
0:15 1 (const int)
0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:10 move second child to first child (temp 2-component vector of int)
0:15 move second child to first child (temp 2-component vector of int)
0:10 i2: direct index for structure (temp 2-component vector of int)
0:15 i2: direct index for structure (temp 2-component vector of int)
0:10 'local' (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:15 'local' (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:10 Constant:
0:15 Constant:
0:10 2 (const int)
0:15 2 (const int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:12 Sequence
0:16 Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:16 'local' (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:17 Sequence
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:? Comma (temp float)
0:? Sequence
0:? move second child to first child (temp 2-component vector of float)
0:? v: direct index for structure (temp 2-component vector of float)
0:? 'aggShadow' (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:? Constant:
0:? 0 (const int)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? move second child to first child (temp 4-component vector of float)
0:? fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'aggShadow' (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:? Constant:
0:? 1 (const int)
0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:? move second child to first child (temp 2-component vector of int)
0:? i2: direct index for structure (temp 2-component vector of int)
0:? 'aggShadow' (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:? Constant:
0:? 2 (const int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:? 'aggShadow' (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:19 Sequence
0:19 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:12 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:19 vector-scale (temp 4-component vector of float)
0:12 'local' (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:19 vector-scale (temp 4-component vector of float)
0:12 Constant:
0:19 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:12 1 (const int)
0:19 'local' (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:12 Branch: Return
0:19 Constant:
0:19 1 (const int)
0:19 'ret1' (temp float)
0:19 'ret2' (temp float)
0:19 Branch: Return
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:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
...
@@ -85,28 +193,35 @@ gl_FragCoord origin is upper left
...
@@ -85,28 +193,35 @@ 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 37
// Id's are bound by 71
Capability Shader
Capability Shader
1: ExtInstImport "GLSL.std.450"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 16 22 28 33
EntryPoint Fragment 4 "PixelShaderFunction" 32 37 43 63
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 4 "PixelShaderFunction"
Name 11 "InParam"
Name 11 "InParam"
MemberName 11(InParam) 0 "v"
MemberName 11(InParam) 0 "v"
MemberName 11(InParam) 1 "fragCoord"
MemberName 11(InParam) 1 "fragCoord"
MemberName 11(InParam) 2 "i2"
MemberName 11(InParam) 2 "i2"
Name 13 "local"
Name 15 "fun(struct-InParam-vf2-vf4-vi21;"
Name 16 "v"
Name 14 "p"
Name 22 "fragCoord"
Name 30 "local"
Name 28 "i2"
Name 32 "v"
Name 33 "@entryPointOutput"
Name 37 "fragCoord"
Name 43 "i2"
Name 47 "ret1"
Name 48 "param"
Name 51 "ret2"
Name 52 "aggShadow"
Name 59 "param"
Name 63 "@entryPointOutput"
MemberDecorate 11(InParam) 1 BuiltIn FragCoord
MemberDecorate 11(InParam) 1 BuiltIn FragCoord
Decorate 16(v) Location 0
Decorate 32(v) Location 0
Decorate 22(fragCoord) BuiltIn FragCoord
Decorate 37(fragCoord) BuiltIn FragCoord
Decorate 28(i2) Location 1
Decorate 43(i2) Location 1
Decorate 33(@entryPointOutput) Location 0
Decorate 63(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeFloat 32
6: TypeFloat 32
...
@@ -116,34 +231,75 @@ gl_FragCoord origin is upper left
...
@@ -116,34 +231,75 @@ gl_FragCoord origin is upper left