Merge pull request #664 from steve-lunarg/stage-io-fix
add other builtins to interstage IO
This commit is contained in:
commit
e86fc0946f
@ -4,48 +4,96 @@ gl_FragCoord origin is upper left
|
|||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
||||||
0:8 Function Parameters:
|
0:8 Function Parameters:
|
||||||
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:8 'p' (temp 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:9 Branch: Return with expression
|
0:9 Branch: Return with expression
|
||||||
0:9 add (temp float)
|
0:9 add (temp float)
|
||||||
0:9 direct index (temp float)
|
0:9 direct index (temp float)
|
||||||
0:9 v: direct index for structure (temp 2-component vector of 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 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||||
0:9 Constant:
|
0:9 Constant:
|
||||||
0:9 0 (const int)
|
0:9 0 (const int)
|
||||||
0:9 Constant:
|
0:9 Constant:
|
||||||
0:9 1 (const int)
|
0:9 1 (const int)
|
||||||
0:9 direct index (temp float)
|
0:9 direct index (temp float)
|
||||||
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
|
0:9 fragCoord: direct index for structure (temp 4-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 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||||
0:9 Constant:
|
0:9 Constant:
|
||||||
0:9 1 (const int)
|
0:9 1 (const int)
|
||||||
0:9 Constant:
|
0:9 Constant:
|
||||||
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' (layout(location=0 ) 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 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 fragCoord, temp 2-component vector of int i2})
|
0:15 Sequence
|
||||||
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 move second child to first child (temp 2-component vector of float)
|
||||||
0:15 'i' (layout(location=0 ) 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 v: direct index for structure (temp 2-component vector of float)
|
||||||
|
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 Constant:
|
||||||
|
0:15 0 (const int)
|
||||||
|
0:15 v: direct index for structure (temp 2-component vector of float)
|
||||||
|
0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:15 Constant:
|
||||||
|
0:15 0 (const int)
|
||||||
|
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)
|
||||||
|
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 Constant:
|
||||||
|
0:15 1 (const int)
|
||||||
|
0:? 'i_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, temp 2-component vector of int i2})
|
||||||
|
0:15 Constant:
|
||||||
|
0:15 2 (const int)
|
||||||
|
0:15 i2: direct index for structure (temp 2-component vector of int)
|
||||||
|
0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:15 Constant:
|
||||||
|
0:15 1 (const int)
|
||||||
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)
|
||||||
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp 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:16 '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:17 Sequence
|
0:17 Sequence
|
||||||
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' (layout(location=0 ) 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 Comma (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 2-component vector of float)
|
||||||
|
0:17 v: direct index for structure (temp 2-component vector of float)
|
||||||
|
0:17 'aggShadow' (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 Constant:
|
||||||
|
0:17 0 (const int)
|
||||||
|
0:17 v: direct index for structure (temp 2-component vector of float)
|
||||||
|
0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:17 Constant:
|
||||||
|
0:17 0 (const int)
|
||||||
|
0:17 move second child to first child (temp 4-component vector of float)
|
||||||
|
0:17 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
|
||||||
|
0:17 'aggShadow' (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 Constant:
|
||||||
|
0:17 1 (const int)
|
||||||
|
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
|
||||||
|
0:17 move second child to first child (temp 2-component vector of int)
|
||||||
|
0:17 i2: direct index for structure (temp 2-component vector of int)
|
||||||
|
0:17 'aggShadow' (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 Constant:
|
||||||
|
0:17 2 (const int)
|
||||||
|
0:17 i2: direct index for structure (temp 2-component vector of int)
|
||||||
|
0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:17 Constant:
|
||||||
|
0:17 1 (const int)
|
||||||
|
0:17 'aggShadow' (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 Sequence
|
0:19 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:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout(location=0 ) out 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)
|
0:19 vector-scale (temp 4-component vector of float)
|
||||||
0:19 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
|
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
|
||||||
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:19 '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:19 Constant:
|
0:19 Constant:
|
||||||
0:19 1 (const int)
|
0:19 1 (const int)
|
||||||
0:19 'ret1' (temp float)
|
0:19 'ret1' (temp float)
|
||||||
@ -53,7 +101,8 @@ gl_FragCoord origin is upper left
|
|||||||
0:19 Branch: Return
|
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:? 'i' (layout(location=0 ) 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:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
|
||||||
|
|
||||||
|
|
||||||
Linked fragment stage:
|
Linked fragment stage:
|
||||||
@ -64,48 +113,96 @@ gl_FragCoord origin is upper left
|
|||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
||||||
0:8 Function Parameters:
|
0:8 Function Parameters:
|
||||||
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:8 'p' (temp 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:9 Branch: Return with expression
|
0:9 Branch: Return with expression
|
||||||
0:9 add (temp float)
|
0:9 add (temp float)
|
||||||
0:9 direct index (temp float)
|
0:9 direct index (temp float)
|
||||||
0:9 v: direct index for structure (temp 2-component vector of 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 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||||
0:9 Constant:
|
0:9 Constant:
|
||||||
0:9 0 (const int)
|
0:9 0 (const int)
|
||||||
0:9 Constant:
|
0:9 Constant:
|
||||||
0:9 1 (const int)
|
0:9 1 (const int)
|
||||||
0:9 direct index (temp float)
|
0:9 direct index (temp float)
|
||||||
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
|
0:9 fragCoord: direct index for structure (temp 4-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 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||||
0:9 Constant:
|
0:9 Constant:
|
||||||
0:9 1 (const int)
|
0:9 1 (const int)
|
||||||
0:9 Constant:
|
0:9 Constant:
|
||||||
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' (layout(location=0 ) 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 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 fragCoord, temp 2-component vector of int i2})
|
0:15 Sequence
|
||||||
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 move second child to first child (temp 2-component vector of float)
|
||||||
0:15 'i' (layout(location=0 ) 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 v: direct index for structure (temp 2-component vector of float)
|
||||||
|
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 Constant:
|
||||||
|
0:15 0 (const int)
|
||||||
|
0:15 v: direct index for structure (temp 2-component vector of float)
|
||||||
|
0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:15 Constant:
|
||||||
|
0:15 0 (const int)
|
||||||
|
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)
|
||||||
|
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 Constant:
|
||||||
|
0:15 1 (const int)
|
||||||
|
0:? 'i_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, temp 2-component vector of int i2})
|
||||||
|
0:15 Constant:
|
||||||
|
0:15 2 (const int)
|
||||||
|
0:15 i2: direct index for structure (temp 2-component vector of int)
|
||||||
|
0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:15 Constant:
|
||||||
|
0:15 1 (const int)
|
||||||
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)
|
||||||
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp 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:16 '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:17 Sequence
|
0:17 Sequence
|
||||||
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' (layout(location=0 ) 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 Comma (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 2-component vector of float)
|
||||||
|
0:17 v: direct index for structure (temp 2-component vector of float)
|
||||||
|
0:17 'aggShadow' (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 Constant:
|
||||||
|
0:17 0 (const int)
|
||||||
|
0:17 v: direct index for structure (temp 2-component vector of float)
|
||||||
|
0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:17 Constant:
|
||||||
|
0:17 0 (const int)
|
||||||
|
0:17 move second child to first child (temp 4-component vector of float)
|
||||||
|
0:17 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
|
||||||
|
0:17 'aggShadow' (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 Constant:
|
||||||
|
0:17 1 (const int)
|
||||||
|
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
|
||||||
|
0:17 move second child to first child (temp 2-component vector of int)
|
||||||
|
0:17 i2: direct index for structure (temp 2-component vector of int)
|
||||||
|
0:17 'aggShadow' (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 Constant:
|
||||||
|
0:17 2 (const int)
|
||||||
|
0:17 i2: direct index for structure (temp 2-component vector of int)
|
||||||
|
0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:17 Constant:
|
||||||
|
0:17 1 (const int)
|
||||||
|
0:17 'aggShadow' (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 Sequence
|
0:19 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:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout(location=0 ) out 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)
|
0:19 vector-scale (temp 4-component vector of float)
|
||||||
0:19 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
|
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
|
||||||
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:19 '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:19 Constant:
|
0:19 Constant:
|
||||||
0:19 1 (const int)
|
0:19 1 (const int)
|
||||||
0:19 'ret1' (temp float)
|
0:19 'ret1' (temp float)
|
||||||
@ -113,16 +210,17 @@ gl_FragCoord origin is upper left
|
|||||||
0:19 Branch: Return
|
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:? 'i' (layout(location=0 ) 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:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
|
||||||
|
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 52
|
// Id's are bound by 78
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Fragment 4 "PixelShaderFunction" 32 43
|
EntryPoint Fragment 4 "PixelShaderFunction" 33 40 70
|
||||||
ExecutionMode 4 OriginUpperLeft
|
ExecutionMode 4 OriginUpperLeft
|
||||||
Name 4 "PixelShaderFunction"
|
Name 4 "PixelShaderFunction"
|
||||||
Name 11 "InParam"
|
Name 11 "InParam"
|
||||||
@ -132,15 +230,25 @@ gl_FragCoord origin is upper left
|
|||||||
Name 15 "fun(struct-InParam-vf2-vf4-vi21;"
|
Name 15 "fun(struct-InParam-vf2-vf4-vi21;"
|
||||||
Name 14 "p"
|
Name 14 "p"
|
||||||
Name 30 "local"
|
Name 30 "local"
|
||||||
Name 32 "i"
|
Name 31 "InParam"
|
||||||
Name 34 "ret1"
|
MemberName 31(InParam) 0 "v"
|
||||||
Name 35 "param"
|
MemberName 31(InParam) 1 "i2"
|
||||||
Name 38 "ret2"
|
Name 33 "i"
|
||||||
Name 39 "param"
|
Name 40 "i_fragCoord"
|
||||||
Name 43 "@entryPointOutput"
|
Name 50 "ret1"
|
||||||
MemberDecorate 11(InParam) 1 BuiltIn FragCoord
|
Name 51 "param"
|
||||||
Decorate 32(i) Location 0
|
Name 54 "ret2"
|
||||||
Decorate 43(@entryPointOutput) Location 0
|
Name 55 "InParam"
|
||||||
|
MemberName 55(InParam) 0 "v"
|
||||||
|
MemberName 55(InParam) 1 "fragCoord"
|
||||||
|
MemberName 55(InParam) 2 "i2"
|
||||||
|
Name 57 "aggShadow"
|
||||||
|
Name 66 "param"
|
||||||
|
Name 70 "@entryPointOutput"
|
||||||
|
Decorate 33(i) Location 0
|
||||||
|
Decorate 40(i_fragCoord) BuiltIn FragCoord
|
||||||
|
MemberDecorate 55(InParam) 1 BuiltIn FragCoord
|
||||||
|
Decorate 70(@entryPointOutput) Location 0
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -157,35 +265,66 @@ gl_FragCoord origin is upper left
|
|||||||
20: TypePointer Function 6(float)
|
20: TypePointer Function 6(float)
|
||||||
23: 9(int) Constant 1
|
23: 9(int) Constant 1
|
||||||
24: 18(int) Constant 0
|
24: 18(int) Constant 0
|
||||||
31: TypePointer Input 11(InParam)
|
31(InParam): TypeStruct 7(fvec2) 10(ivec2)
|
||||||
32(i): 31(ptr) Variable Input
|
32: TypePointer Input 31(InParam)
|
||||||
42: TypePointer Output 8(fvec4)
|
33(i): 32(ptr) Variable Input
|
||||||
43(@entryPointOutput): 42(ptr) Variable Output
|
34: TypePointer Input 7(fvec2)
|
||||||
44: TypePointer Function 8(fvec4)
|
37: TypePointer Function 7(fvec2)
|
||||||
|
39: TypePointer Input 8(fvec4)
|
||||||
|
40(i_fragCoord): 39(ptr) Variable Input
|
||||||
|
42: TypePointer Function 8(fvec4)
|
||||||
|
44: 9(int) Constant 2
|
||||||
|
45: TypePointer Input 10(ivec2)
|
||||||
|
48: TypePointer Function 10(ivec2)
|
||||||
|
55(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
|
||||||
|
56: TypePointer Function 55(InParam)
|
||||||
|
69: TypePointer Output 8(fvec4)
|
||||||
|
70(@entryPointOutput): 69(ptr) Variable Output
|
||||||
4(PixelShaderFunction): 2 Function None 3
|
4(PixelShaderFunction): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
30(local): 12(ptr) Variable Function
|
30(local): 12(ptr) Variable Function
|
||||||
34(ret1): 20(ptr) Variable Function
|
50(ret1): 20(ptr) Variable Function
|
||||||
35(param): 12(ptr) Variable Function
|
51(param): 12(ptr) Variable Function
|
||||||
38(ret2): 20(ptr) Variable Function
|
54(ret2): 20(ptr) Variable Function
|
||||||
39(param): 12(ptr) Variable Function
|
57(aggShadow): 56(ptr) Variable Function
|
||||||
33: 11(InParam) Load 32(i)
|
66(param): 56(ptr) Variable Function
|
||||||
Store 30(local) 33
|
35: 34(ptr) AccessChain 33(i) 17
|
||||||
36: 11(InParam) Load 30(local)
|
36: 7(fvec2) Load 35
|
||||||
Store 35(param) 36
|
38: 37(ptr) AccessChain 30(local) 17
|
||||||
37: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 35(param)
|
Store 38 36
|
||||||
Store 34(ret1) 37
|
41: 8(fvec4) Load 40(i_fragCoord)
|
||||||
40: 11(InParam) Load 32(i)
|
43: 42(ptr) AccessChain 30(local) 23
|
||||||
Store 39(param) 40
|
Store 43 41
|
||||||
41: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 39(param)
|
46: 45(ptr) AccessChain 33(i) 23
|
||||||
Store 38(ret2) 41
|
47: 10(ivec2) Load 46
|
||||||
45: 44(ptr) AccessChain 30(local) 23
|
49: 48(ptr) AccessChain 30(local) 44
|
||||||
46: 8(fvec4) Load 45
|
Store 49 47
|
||||||
47: 6(float) Load 34(ret1)
|
52: 11(InParam) Load 30(local)
|
||||||
48: 8(fvec4) VectorTimesScalar 46 47
|
Store 51(param) 52
|
||||||
49: 6(float) Load 38(ret2)
|
53: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 51(param)
|
||||||
50: 8(fvec4) VectorTimesScalar 48 49
|
Store 50(ret1) 53
|
||||||
Store 43(@entryPointOutput) 50
|
58: 34(ptr) AccessChain 33(i) 17
|
||||||
|
59: 7(fvec2) Load 58
|
||||||
|
60: 37(ptr) AccessChain 57(aggShadow) 17
|
||||||
|
Store 60 59
|
||||||
|
61: 8(fvec4) Load 40(i_fragCoord)
|
||||||
|
62: 42(ptr) AccessChain 57(aggShadow) 23
|
||||||
|
Store 62 61
|
||||||
|
63: 45(ptr) AccessChain 33(i) 23
|
||||||
|
64: 10(ivec2) Load 63
|
||||||
|
65: 48(ptr) AccessChain 57(aggShadow) 44
|
||||||
|
Store 65 64
|
||||||
|
67: 55(InParam) Load 57(aggShadow)
|
||||||
|
Store 66(param) 67
|
||||||
|
68: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 66(param)
|
||||||
|
Store 54(ret2) 68
|
||||||
|
71: 42(ptr) AccessChain 30(local) 23
|
||||||
|
72: 8(fvec4) Load 71
|
||||||
|
73: 6(float) Load 50(ret1)
|
||||||
|
74: 8(fvec4) VectorTimesScalar 72 73
|
||||||
|
75: 6(float) Load 54(ret2)
|
||||||
|
76: 8(fvec4) VectorTimesScalar 74 75
|
||||||
|
Store 70(@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
|
||||||
|
|||||||
@ -102,7 +102,7 @@ Shader version: 450
|
|||||||
0:? 'g_tTexcdf4' (uniform textureCube)
|
0:? 'g_tTexcdf4' (uniform textureCube)
|
||||||
0:? 'g_tTexcdi4' (uniform itextureCube)
|
0:? 'g_tTexcdi4' (uniform itextureCube)
|
||||||
0:? 'g_tTexcdu4' (uniform utextureCube)
|
0:? 'g_tTexcdu4' (uniform utextureCube)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
@ -211,17 +211,17 @@ Shader version: 450
|
|||||||
0:? 'g_tTexcdf4' (uniform textureCube)
|
0:? 'g_tTexcdf4' (uniform textureCube)
|
||||||
0:? 'g_tTexcdi4' (uniform itextureCube)
|
0:? 'g_tTexcdi4' (uniform itextureCube)
|
||||||
0:? 'g_tTexcdu4' (uniform utextureCube)
|
0:? 'g_tTexcdu4' (uniform utextureCube)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 121
|
// Id's are bound by 124
|
||||||
|
|
||||||
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" 97
|
EntryPoint Vertex 4 "main" 97 123
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "txval20"
|
Name 9 "txval20"
|
||||||
Name 12 "g_tTex2df4"
|
Name 12 "g_tTex2df4"
|
||||||
@ -248,6 +248,9 @@ Shader version: 450
|
|||||||
Name 114 "g_tTex3df4"
|
Name 114 "g_tTex3df4"
|
||||||
Name 117 "g_tTex3di4"
|
Name 117 "g_tTex3di4"
|
||||||
Name 120 "g_tTex3du4"
|
Name 120 "g_tTex3du4"
|
||||||
|
Name 121 "PerVertex_out"
|
||||||
|
MemberName 121(PerVertex_out) 0 "Pos"
|
||||||
|
Name 123 "PerVertex_out"
|
||||||
Decorate 12(g_tTex2df4) DescriptorSet 0
|
Decorate 12(g_tTex2df4) DescriptorSet 0
|
||||||
Decorate 16(g_sSamp) DescriptorSet 0
|
Decorate 16(g_sSamp) DescriptorSet 0
|
||||||
Decorate 16(g_sSamp) Binding 0
|
Decorate 16(g_sSamp) Binding 0
|
||||||
@ -267,6 +270,8 @@ Shader version: 450
|
|||||||
Decorate 114(g_tTex3df4) DescriptorSet 0
|
Decorate 114(g_tTex3df4) DescriptorSet 0
|
||||||
Decorate 117(g_tTex3di4) DescriptorSet 0
|
Decorate 117(g_tTex3di4) DescriptorSet 0
|
||||||
Decorate 120(g_tTex3du4) DescriptorSet 0
|
Decorate 120(g_tTex3du4) DescriptorSet 0
|
||||||
|
MemberDecorate 121(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 121(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -349,6 +354,9 @@ Shader version: 450
|
|||||||
118: TypeImage 41(int) 3D sampled format:Unknown
|
118: TypeImage 41(int) 3D sampled format:Unknown
|
||||||
119: TypePointer UniformConstant 118
|
119: TypePointer UniformConstant 118
|
||||||
120(g_tTex3du4): 119(ptr) Variable UniformConstant
|
120(g_tTex3du4): 119(ptr) Variable UniformConstant
|
||||||
|
121(PerVertex_out): TypeStruct 7(fvec4)
|
||||||
|
122: TypePointer Output 121(PerVertex_out)
|
||||||
|
123(PerVertex_out): 122(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
9(txval20): 8(ptr) Variable Function
|
9(txval20): 8(ptr) Variable Function
|
||||||
|
|||||||
@ -48,7 +48,7 @@ Shader version: 450
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||||
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
@ -103,18 +103,18 @@ Shader version: 450
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||||
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 43
|
// Id's are bound by 46
|
||||||
|
|
||||||
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" 36
|
EntryPoint Vertex 4 "main" 36 45
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 8 "sizeQueryTemp"
|
Name 8 "sizeQueryTemp"
|
||||||
Name 12 "g_tTex1df4"
|
Name 12 "g_tTex1df4"
|
||||||
@ -126,11 +126,16 @@ Shader version: 450
|
|||||||
Name 29 "vsout"
|
Name 29 "vsout"
|
||||||
Name 36 "Pos"
|
Name 36 "Pos"
|
||||||
Name 42 "g_sSamp"
|
Name 42 "g_sSamp"
|
||||||
|
Name 43 "PerVertex_out"
|
||||||
|
MemberName 43(PerVertex_out) 0 "Pos"
|
||||||
|
Name 45 "PerVertex_out"
|
||||||
Decorate 12(g_tTex1df4) DescriptorSet 0
|
Decorate 12(g_tTex1df4) DescriptorSet 0
|
||||||
Decorate 12(g_tTex1df4) Binding 0
|
Decorate 12(g_tTex1df4) Binding 0
|
||||||
Decorate 36(Pos) BuiltIn Position
|
Decorate 36(Pos) BuiltIn Position
|
||||||
Decorate 42(g_sSamp) DescriptorSet 0
|
Decorate 42(g_sSamp) DescriptorSet 0
|
||||||
Decorate 42(g_sSamp) Binding 0
|
Decorate 42(g_sSamp) Binding 0
|
||||||
|
MemberDecorate 43(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 43(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeInt 32 0
|
6: TypeInt 32 0
|
||||||
@ -153,6 +158,9 @@ Shader version: 450
|
|||||||
40: TypeSampler
|
40: TypeSampler
|
||||||
41: TypePointer UniformConstant 40
|
41: TypePointer UniformConstant 40
|
||||||
42(g_sSamp): 41(ptr) Variable UniformConstant
|
42(g_sSamp): 41(ptr) Variable UniformConstant
|
||||||
|
43(PerVertex_out): TypeStruct 26(fvec4)
|
||||||
|
44: TypePointer Output 43(PerVertex_out)
|
||||||
|
45(PerVertex_out): 44(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
8(sizeQueryTemp): 7(ptr) Variable Function
|
8(sizeQueryTemp): 7(ptr) Variable Function
|
||||||
|
|||||||
@ -218,7 +218,7 @@ Shader version: 450
|
|||||||
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
|
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
|
||||||
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
|
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
|
||||||
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
@ -443,18 +443,18 @@ Shader version: 450
|
|||||||
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
|
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
|
||||||
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
|
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
|
||||||
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 166
|
// Id's are bound by 169
|
||||||
|
|
||||||
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" 123
|
EntryPoint Vertex 4 "main" 123 168
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "g_tTex1df4"
|
Name 9 "g_tTex1df4"
|
||||||
Name 15 "$Global"
|
Name 15 "$Global"
|
||||||
@ -492,6 +492,9 @@ Shader version: 450
|
|||||||
Name 159 "g_tTexcdf4a"
|
Name 159 "g_tTexcdf4a"
|
||||||
Name 162 "g_tTexcdi4a"
|
Name 162 "g_tTexcdi4a"
|
||||||
Name 165 "g_tTexcdu4a"
|
Name 165 "g_tTexcdu4a"
|
||||||
|
Name 166 "PerVertex_out"
|
||||||
|
MemberName 166(PerVertex_out) 0 "Pos"
|
||||||
|
Name 168 "PerVertex_out"
|
||||||
Decorate 9(g_tTex1df4) DescriptorSet 0
|
Decorate 9(g_tTex1df4) DescriptorSet 0
|
||||||
Decorate 9(g_tTex1df4) Binding 0
|
Decorate 9(g_tTex1df4) Binding 0
|
||||||
MemberDecorate 15($Global) 0 Offset 0
|
MemberDecorate 15($Global) 0 Offset 0
|
||||||
@ -527,6 +530,8 @@ Shader version: 450
|
|||||||
Decorate 159(g_tTexcdf4a) DescriptorSet 0
|
Decorate 159(g_tTexcdf4a) DescriptorSet 0
|
||||||
Decorate 162(g_tTexcdi4a) DescriptorSet 0
|
Decorate 162(g_tTexcdi4a) DescriptorSet 0
|
||||||
Decorate 165(g_tTexcdu4a) DescriptorSet 0
|
Decorate 165(g_tTexcdu4a) DescriptorSet 0
|
||||||
|
MemberDecorate 166(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 166(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -624,6 +629,9 @@ Shader version: 450
|
|||||||
163: TypeImage 19(int) Cube array sampled format:Unknown
|
163: TypeImage 19(int) Cube array sampled format:Unknown
|
||||||
164: TypePointer UniformConstant 163
|
164: TypePointer UniformConstant 163
|
||||||
165(g_tTexcdu4a): 164(ptr) Variable UniformConstant
|
165(g_tTexcdu4a): 164(ptr) Variable UniformConstant
|
||||||
|
166(PerVertex_out): TypeStruct 27(fvec4)
|
||||||
|
167: TypePointer Output 166(PerVertex_out)
|
||||||
|
168(PerVertex_out): 167(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
116(vsout): 115(ptr) Variable Function
|
116(vsout): 115(ptr) Variable Function
|
||||||
|
|||||||
@ -239,7 +239,7 @@ Shader version: 450
|
|||||||
0:? 'g_tTexcdf4' (uniform textureCube)
|
0:? 'g_tTexcdf4' (uniform textureCube)
|
||||||
0:? 'g_tTexcdi4' (uniform itextureCube)
|
0:? 'g_tTexcdi4' (uniform itextureCube)
|
||||||
0:? 'g_tTexcdu4' (uniform utextureCube)
|
0:? 'g_tTexcdu4' (uniform utextureCube)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
@ -485,17 +485,17 @@ Shader version: 450
|
|||||||
0:? 'g_tTexcdf4' (uniform textureCube)
|
0:? 'g_tTexcdf4' (uniform textureCube)
|
||||||
0:? 'g_tTexcdi4' (uniform itextureCube)
|
0:? 'g_tTexcdi4' (uniform itextureCube)
|
||||||
0:? 'g_tTexcdu4' (uniform utextureCube)
|
0:? 'g_tTexcdu4' (uniform utextureCube)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 161
|
// Id's are bound by 164
|
||||||
|
|
||||||
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" 156
|
EntryPoint Vertex 4 "main" 156 163
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "txval10"
|
Name 9 "txval10"
|
||||||
Name 12 "g_tTex1df4"
|
Name 12 "g_tTex1df4"
|
||||||
@ -527,6 +527,9 @@ Shader version: 450
|
|||||||
Name 150 "vsout"
|
Name 150 "vsout"
|
||||||
Name 156 "Pos"
|
Name 156 "Pos"
|
||||||
Name 160 "g_tTex1df4a"
|
Name 160 "g_tTex1df4a"
|
||||||
|
Name 161 "PerVertex_out"
|
||||||
|
MemberName 161(PerVertex_out) 0 "Pos"
|
||||||
|
Name 163 "PerVertex_out"
|
||||||
Decorate 12(g_tTex1df4) DescriptorSet 0
|
Decorate 12(g_tTex1df4) DescriptorSet 0
|
||||||
Decorate 12(g_tTex1df4) Binding 0
|
Decorate 12(g_tTex1df4) Binding 0
|
||||||
Decorate 16(g_sSamp) DescriptorSet 0
|
Decorate 16(g_sSamp) DescriptorSet 0
|
||||||
@ -545,6 +548,8 @@ Shader version: 450
|
|||||||
Decorate 156(Pos) BuiltIn Position
|
Decorate 156(Pos) BuiltIn Position
|
||||||
Decorate 160(g_tTex1df4a) DescriptorSet 0
|
Decorate 160(g_tTex1df4a) DescriptorSet 0
|
||||||
Decorate 160(g_tTex1df4a) Binding 1
|
Decorate 160(g_tTex1df4a) Binding 1
|
||||||
|
MemberDecorate 161(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 161(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -637,6 +642,9 @@ Shader version: 450
|
|||||||
155: TypePointer Output 7(fvec4)
|
155: TypePointer Output 7(fvec4)
|
||||||
156(Pos): 155(ptr) Variable Output
|
156(Pos): 155(ptr) Variable Output
|
||||||
160(g_tTex1df4a): 11(ptr) Variable UniformConstant
|
160(g_tTex1df4a): 11(ptr) Variable UniformConstant
|
||||||
|
161(PerVertex_out): TypeStruct 7(fvec4)
|
||||||
|
162: TypePointer Output 161(PerVertex_out)
|
||||||
|
163(PerVertex_out): 162(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
9(txval10): 8(ptr) Variable Function
|
9(txval10): 8(ptr) Variable Function
|
||||||
|
|||||||
@ -185,7 +185,7 @@ Shader version: 450
|
|||||||
0:? 'g_tTexcdf4' (uniform textureCube)
|
0:? 'g_tTexcdf4' (uniform textureCube)
|
||||||
0:? 'g_tTexcdi4' (uniform itextureCube)
|
0:? 'g_tTexcdi4' (uniform itextureCube)
|
||||||
0:? 'g_tTexcdu4' (uniform utextureCube)
|
0:? 'g_tTexcdu4' (uniform utextureCube)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
@ -377,17 +377,17 @@ Shader version: 450
|
|||||||
0:? 'g_tTexcdf4' (uniform textureCube)
|
0:? 'g_tTexcdf4' (uniform textureCube)
|
||||||
0:? 'g_tTexcdi4' (uniform itextureCube)
|
0:? 'g_tTexcdi4' (uniform itextureCube)
|
||||||
0:? 'g_tTexcdu4' (uniform utextureCube)
|
0:? 'g_tTexcdu4' (uniform utextureCube)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 157
|
// Id's are bound by 160
|
||||||
|
|
||||||
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" 152
|
EntryPoint Vertex 4 "main" 152 159
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "txval10"
|
Name 9 "txval10"
|
||||||
Name 12 "g_tTex1df4"
|
Name 12 "g_tTex1df4"
|
||||||
@ -419,6 +419,9 @@ Shader version: 450
|
|||||||
Name 146 "vsout"
|
Name 146 "vsout"
|
||||||
Name 152 "Pos"
|
Name 152 "Pos"
|
||||||
Name 156 "g_tTex1df4a"
|
Name 156 "g_tTex1df4a"
|
||||||
|
Name 157 "PerVertex_out"
|
||||||
|
MemberName 157(PerVertex_out) 0 "Pos"
|
||||||
|
Name 159 "PerVertex_out"
|
||||||
Decorate 12(g_tTex1df4) DescriptorSet 0
|
Decorate 12(g_tTex1df4) DescriptorSet 0
|
||||||
Decorate 12(g_tTex1df4) Binding 0
|
Decorate 12(g_tTex1df4) Binding 0
|
||||||
Decorate 16(g_sSamp) DescriptorSet 0
|
Decorate 16(g_sSamp) DescriptorSet 0
|
||||||
@ -437,6 +440,8 @@ Shader version: 450
|
|||||||
Decorate 152(Pos) BuiltIn Position
|
Decorate 152(Pos) BuiltIn Position
|
||||||
Decorate 156(g_tTex1df4a) DescriptorSet 0
|
Decorate 156(g_tTex1df4a) DescriptorSet 0
|
||||||
Decorate 156(g_tTex1df4a) Binding 1
|
Decorate 156(g_tTex1df4a) Binding 1
|
||||||
|
MemberDecorate 157(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 157(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -525,6 +530,9 @@ Shader version: 450
|
|||||||
151: TypePointer Output 7(fvec4)
|
151: TypePointer Output 7(fvec4)
|
||||||
152(Pos): 151(ptr) Variable Output
|
152(Pos): 151(ptr) Variable Output
|
||||||
156(g_tTex1df4a): 11(ptr) Variable UniformConstant
|
156(g_tTex1df4a): 11(ptr) Variable UniformConstant
|
||||||
|
157(PerVertex_out): TypeStruct 7(fvec4)
|
||||||
|
158: TypePointer Output 157(PerVertex_out)
|
||||||
|
159(PerVertex_out): 158(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
9(txval10): 8(ptr) Variable Function
|
9(txval10): 8(ptr) Variable Function
|
||||||
|
|||||||
@ -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' (layout(location=0 ) in 4-component vector of float)
|
0:34 'input' (layout(location=0 ) in 4-component vector of float)
|
||||||
0:34 's' (layout(location=1 ) 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{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:? 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})
|
||||||
@ -20,9 +20,9 @@ gl_FragCoord origin is upper left
|
|||||||
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 (layout(binding=0 offset=4 ) temp 4-component vector of float)
|
||||||
0:40 's' (layout(location=1 ) 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' (layout(location=1 ) 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, 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 Constant:
|
0:40 Constant:
|
||||||
0:40 7 (const int)
|
0:40 6 (const int)
|
||||||
0:42 Sequence
|
0:42 Sequence
|
||||||
0:42 move second child to first child (temp 4-component vector of float)
|
0:42 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)
|
||||||
@ -31,9 +31,10 @@ gl_FragCoord origin is upper left
|
|||||||
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:? 'input' (layout(location=0 ) in 4-component vector of float)
|
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||||
0:? 's' (layout(location=1 ) 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:? 's' (layout(location=1 ) 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, 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:? 's2' (global structure{temp 4-component vector of float i})
|
0:? 's2' (global structure{temp 4-component vector of float i})
|
||||||
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
|
||||||
|
0:? 's_ff1' (in bool Face)
|
||||||
|
|
||||||
|
|
||||||
Linked fragment stage:
|
Linked fragment stage:
|
||||||
@ -45,7 +46,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' (layout(location=0 ) in 4-component vector of float)
|
0:34 'input' (layout(location=0 ) in 4-component vector of float)
|
||||||
0:34 's' (layout(location=1 ) 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{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:? 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})
|
||||||
@ -56,9 +57,9 @@ gl_FragCoord origin is upper left
|
|||||||
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 (layout(binding=0 offset=4 ) temp 4-component vector of float)
|
||||||
0:40 's' (layout(location=1 ) 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' (layout(location=1 ) 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, 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 Constant:
|
0:40 Constant:
|
||||||
0:40 7 (const int)
|
0:40 6 (const int)
|
||||||
0:42 Sequence
|
0:42 Sequence
|
||||||
0:42 move second child to first child (temp 4-component vector of float)
|
0:42 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)
|
||||||
@ -67,18 +68,19 @@ gl_FragCoord origin is upper left
|
|||||||
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:? 'input' (layout(location=0 ) in 4-component vector of float)
|
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||||
0:? 's' (layout(location=1 ) 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:? 's' (layout(location=1 ) 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, 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:? 's2' (global structure{temp 4-component vector of float i})
|
0:? 's2' (global structure{temp 4-component vector of float i})
|
||||||
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
|
||||||
|
0:? 's_ff1' (in bool Face)
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 44
|
// Id's are bound by 46
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Fragment 4 "PixelShaderFunction" 27 35 36
|
EntryPoint Fragment 4 "PixelShaderFunction" 27 35 36 45
|
||||||
ExecutionMode 4 OriginUpperLeft
|
ExecutionMode 4 OriginUpperLeft
|
||||||
Name 4 "PixelShaderFunction"
|
Name 4 "PixelShaderFunction"
|
||||||
Name 8 "FS"
|
Name 8 "FS"
|
||||||
@ -92,10 +94,9 @@ gl_FragCoord origin is upper left
|
|||||||
MemberName 25(IN_S) 1 "b"
|
MemberName 25(IN_S) 1 "b"
|
||||||
MemberName 25(IN_S) 2 "c"
|
MemberName 25(IN_S) 2 "c"
|
||||||
MemberName 25(IN_S) 3 "d"
|
MemberName 25(IN_S) 3 "d"
|
||||||
MemberName 25(IN_S) 4 "ff1"
|
MemberName 25(IN_S) 4 "ff2"
|
||||||
MemberName 25(IN_S) 5 "ff2"
|
MemberName 25(IN_S) 5 "ff3"
|
||||||
MemberName 25(IN_S) 6 "ff3"
|
MemberName 25(IN_S) 6 "ff4"
|
||||||
MemberName 25(IN_S) 7 "ff4"
|
|
||||||
Name 27 "s"
|
Name 27 "s"
|
||||||
Name 35 "@entryPointOutput"
|
Name 35 "@entryPointOutput"
|
||||||
Name 36 "input"
|
Name 36 "input"
|
||||||
@ -109,7 +110,7 @@ gl_FragCoord origin is upper left
|
|||||||
MemberName 41($Global) 1 "ff5"
|
MemberName 41($Global) 1 "ff5"
|
||||||
MemberName 41($Global) 2 "ff6"
|
MemberName 41($Global) 2 "ff6"
|
||||||
Name 43 ""
|
Name 43 ""
|
||||||
MemberDecorate 25(IN_S) 4 BuiltIn FrontFacing
|
Name 45 "s_ff1"
|
||||||
Decorate 27(s) Location 1
|
Decorate 27(s) Location 1
|
||||||
Decorate 35(@entryPointOutput) Location 0
|
Decorate 35(@entryPointOutput) Location 0
|
||||||
Decorate 36(input) Location 0
|
Decorate 36(input) Location 0
|
||||||
@ -122,6 +123,7 @@ gl_FragCoord origin is upper left
|
|||||||
MemberDecorate 41($Global) 2 Offset 1636
|
MemberDecorate 41($Global) 2 Offset 1636
|
||||||
Decorate 41($Global) Block
|
Decorate 41($Global) Block
|
||||||
Decorate 43 DescriptorSet 0
|
Decorate 43 DescriptorSet 0
|
||||||
|
Decorate 45(s_ff1) BuiltIn FrontFacing
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeBool
|
6: TypeBool
|
||||||
@ -136,10 +138,10 @@ gl_FragCoord origin is upper left
|
|||||||
22: TypeInt 32 1
|
22: TypeInt 32 1
|
||||||
23: 22(int) Constant 0
|
23: 22(int) Constant 0
|
||||||
24: TypeVector 17(float) 2
|
24: TypeVector 17(float) 2
|
||||||
25(IN_S): TypeStruct 18(fvec4) 6(bool) 17(float) 24(fvec2) 6(bool) 6(bool) 6(bool) 18(fvec4)
|
25(IN_S): TypeStruct 18(fvec4) 6(bool) 17(float) 24(fvec2) 6(bool) 6(bool) 18(fvec4)
|
||||||
26: TypePointer Input 25(IN_S)
|
26: TypePointer Input 25(IN_S)
|
||||||
27(s): 26(ptr) Variable Input
|
27(s): 26(ptr) Variable Input
|
||||||
28: 22(int) Constant 7
|
28: 22(int) Constant 6
|
||||||
29: TypePointer Input 18(fvec4)
|
29: TypePointer Input 18(fvec4)
|
||||||
32: TypePointer Private 18(fvec4)
|
32: TypePointer Private 18(fvec4)
|
||||||
34: TypePointer Output 18(fvec4)
|
34: TypePointer Output 18(fvec4)
|
||||||
@ -150,6 +152,8 @@ gl_FragCoord origin is upper left
|
|||||||
41($Global): TypeStruct 40(myS) 17(float) 17(float)
|
41($Global): TypeStruct 40(myS) 17(float) 17(float)
|
||||||
42: TypePointer Uniform 41($Global)
|
42: TypePointer Uniform 41($Global)
|
||||||
43: 42(ptr) Variable Uniform
|
43: 42(ptr) Variable Uniform
|
||||||
|
44: TypePointer Input 6(bool)
|
||||||
|
45(s_ff1): 44(ptr) Variable Input
|
||||||
4(PixelShaderFunction): 2 Function None 3
|
4(PixelShaderFunction): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
10(s3): 9(ptr) Variable Function
|
10(s3): 9(ptr) Variable Function
|
||||||
|
|||||||
@ -59,7 +59,7 @@ Shader version: 450
|
|||||||
0:? 'Pos_in' (in 4-component vector of float Position)
|
0:? 'Pos_in' (in 4-component vector of float Position)
|
||||||
0:? 'x1_in' (layout(location=1 ) in int)
|
0:? 'x1_in' (layout(location=1 ) in int)
|
||||||
0:? 'Pos_loose' (in 4-component vector of float Position)
|
0:? 'Pos_loose' (in 4-component vector of float Position)
|
||||||
0:? 'Pos_out' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
@ -125,16 +125,16 @@ Shader version: 450
|
|||||||
0:? 'Pos_in' (in 4-component vector of float Position)
|
0:? 'Pos_in' (in 4-component vector of float Position)
|
||||||
0:? 'x1_in' (layout(location=1 ) in int)
|
0:? 'x1_in' (layout(location=1 ) in int)
|
||||||
0:? 'Pos_loose' (in 4-component vector of float Position)
|
0:? 'Pos_loose' (in 4-component vector of float Position)
|
||||||
0:? 'Pos_out' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 46
|
// Id's are bound by 49
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Vertex 4 "main" 14 20 22 28 33 39
|
EntryPoint Vertex 4 "main" 14 20 22 28 33 39 48
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "VS_OUTPUT"
|
Name 9 "VS_OUTPUT"
|
||||||
MemberName 9(VS_OUTPUT) 0 "x0_out"
|
MemberName 9(VS_OUTPUT) 0 "x0_out"
|
||||||
@ -150,12 +150,17 @@ Shader version: 450
|
|||||||
MemberName 31(VS_OUTPUT) 1 "x1_out"
|
MemberName 31(VS_OUTPUT) 1 "x1_out"
|
||||||
Name 33 "@entryPointOutput"
|
Name 33 "@entryPointOutput"
|
||||||
Name 39 "Pos_out"
|
Name 39 "Pos_out"
|
||||||
|
Name 46 "PerVertex_out"
|
||||||
|
MemberName 46(PerVertex_out) 0 "Pos_out"
|
||||||
|
Name 48 "PerVertex_out"
|
||||||
Decorate 14(x0_in) Location 0
|
Decorate 14(x0_in) Location 0
|
||||||
Decorate 20(Pos_in) BuiltIn Position
|
Decorate 20(Pos_in) BuiltIn Position
|
||||||
Decorate 22(Pos_loose) BuiltIn Position
|
Decorate 22(Pos_loose) BuiltIn Position
|
||||||
Decorate 28(x1_in) Location 1
|
Decorate 28(x1_in) Location 1
|
||||||
Decorate 33(@entryPointOutput) Location 0
|
Decorate 33(@entryPointOutput) Location 0
|
||||||
Decorate 39(Pos_out) BuiltIn Position
|
Decorate 39(Pos_out) BuiltIn Position
|
||||||
|
MemberDecorate 46(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 46(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeInt 32 1
|
6: TypeInt 32 1
|
||||||
@ -180,6 +185,9 @@ Shader version: 450
|
|||||||
36: TypePointer Output 6(int)
|
36: TypePointer Output 6(int)
|
||||||
38: TypePointer Output 8(fvec4)
|
38: TypePointer Output 8(fvec4)
|
||||||
39(Pos_out): 38(ptr) Variable Output
|
39(Pos_out): 38(ptr) Variable Output
|
||||||
|
46(PerVertex_out): TypeStruct 8(fvec4)
|
||||||
|
47: TypePointer Output 46(PerVertex_out)
|
||||||
|
48(PerVertex_out): 47(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
11(vsout): 10(ptr) Variable Function
|
11(vsout): 10(ptr) Variable Function
|
||||||
|
|||||||
@ -64,7 +64,7 @@ output primitive = triangle_strip
|
|||||||
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)
|
||||||
0:? 'OutputStream' (layout(location=0 ) out structure{temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
|
0:? 'OutputStream' (layout(location=0 ) out structure{temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
|
||||||
0:? 'OutputStream.Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position OutputStream_Pos})
|
||||||
|
|
||||||
|
|
||||||
Linked geometry stage:
|
Linked geometry stage:
|
||||||
@ -135,16 +135,16 @@ output primitive = triangle_strip
|
|||||||
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)
|
||||||
0:? 'OutputStream' (layout(location=0 ) out structure{temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
|
0:? 'OutputStream' (layout(location=0 ) out structure{temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID})
|
||||||
0:? 'OutputStream.Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position OutputStream_Pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 89
|
// Id's are bound by 90
|
||||||
|
|
||||||
Capability Geometry
|
Capability Geometry
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Geometry 4 "main" 83 86 88
|
EntryPoint Geometry 4 "main" 83 86 89
|
||||||
ExecutionMode 4 InputPoints
|
ExecutionMode 4 InputPoints
|
||||||
ExecutionMode 4 Invocations 1
|
ExecutionMode 4 Invocations 1
|
||||||
ExecutionMode 4 OutputTriangleStrip
|
ExecutionMode 4 OutputTriangleStrip
|
||||||
@ -175,11 +175,14 @@ output primitive = triangle_strip
|
|||||||
MemberName 84(PSInput) 1 "TerrainPos"
|
MemberName 84(PSInput) 1 "TerrainPos"
|
||||||
MemberName 84(PSInput) 2 "VertexID"
|
MemberName 84(PSInput) 2 "VertexID"
|
||||||
Name 86 "OutputStream"
|
Name 86 "OutputStream"
|
||||||
Name 88 "OutputStream.Pos"
|
Name 87 "PerVertex_out"
|
||||||
|
MemberName 87(PerVertex_out) 0 "OutputStream_Pos"
|
||||||
|
Name 89 "PerVertex_out"
|
||||||
MemberDecorate 14(PSInput) 0 BuiltIn Position
|
MemberDecorate 14(PSInput) 0 BuiltIn Position
|
||||||
Decorate 83(v) Location 0
|
Decorate 83(v) Location 0
|
||||||
Decorate 86(OutputStream) Location 0
|
Decorate 86(OutputStream) Location 0
|
||||||
Decorate 88(OutputStream.Pos) BuiltIn Position
|
MemberDecorate 87(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 87(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -221,8 +224,9 @@ output primitive = triangle_strip
|
|||||||
84(PSInput): TypeStruct 8(fvec2) 9(fvec3) 10(int)
|
84(PSInput): TypeStruct 8(fvec2) 9(fvec3) 10(int)
|
||||||
85: TypePointer Output 84(PSInput)
|
85: TypePointer Output 84(PSInput)
|
||||||
86(OutputStream): 85(ptr) Variable Output
|
86(OutputStream): 85(ptr) Variable Output
|
||||||
87: TypePointer Output 7(fvec4)
|
87(PerVertex_out): TypeStruct 7(fvec4)
|
||||||
88(OutputStream.Pos): 87(ptr) Variable Output
|
88: TypePointer Output 87(PerVertex_out)
|
||||||
|
89(PerVertex_out): 88(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
13(Out): 12(ptr) Variable Function
|
13(Out): 12(ptr) Variable Function
|
||||||
|
|||||||
@ -92,7 +92,7 @@ Shader version: 450
|
|||||||
0:? 'x0_in' (layout(location=0 ) in int)
|
0:? 'x0_in' (layout(location=0 ) in int)
|
||||||
0:? 'Pos_in' (in 4-component vector of float Position)
|
0:? 'Pos_in' (in 4-component vector of float Position)
|
||||||
0:? 'x1_in' (layout(location=1 ) in int)
|
0:? 'x1_in' (layout(location=1 ) in int)
|
||||||
0:? 'Pos_out' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
@ -191,16 +191,16 @@ Shader version: 450
|
|||||||
0:? 'x0_in' (layout(location=0 ) in int)
|
0:? 'x0_in' (layout(location=0 ) in int)
|
||||||
0:? 'Pos_in' (in 4-component vector of float Position)
|
0:? 'Pos_in' (in 4-component vector of float Position)
|
||||||
0:? 'x1_in' (layout(location=1 ) in int)
|
0:? 'x1_in' (layout(location=1 ) in int)
|
||||||
0:? 'Pos_out' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 69
|
// Id's are bound by 72
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Vertex 4 "main" 28 33 37 56 62
|
EntryPoint Vertex 4 "main" 28 33 37 56 62 71
|
||||||
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"
|
||||||
@ -229,11 +229,16 @@ Shader version: 450
|
|||||||
MemberName 54(VS_OUTPUT) 1 "x1_out"
|
MemberName 54(VS_OUTPUT) 1 "x1_out"
|
||||||
Name 56 "@entryPointOutput"
|
Name 56 "@entryPointOutput"
|
||||||
Name 62 "Pos_out"
|
Name 62 "Pos_out"
|
||||||
|
Name 69 "PerVertex_out"
|
||||||
|
MemberName 69(PerVertex_out) 0 "Pos_out"
|
||||||
|
Name 71 "PerVertex_out"
|
||||||
Decorate 28(x0_in) Location 0
|
Decorate 28(x0_in) Location 0
|
||||||
Decorate 33(Pos_in) BuiltIn Position
|
Decorate 33(Pos_in) BuiltIn Position
|
||||||
Decorate 37(x1_in) Location 1
|
Decorate 37(x1_in) Location 1
|
||||||
Decorate 56(@entryPointOutput) Location 0
|
Decorate 56(@entryPointOutput) Location 0
|
||||||
Decorate 62(Pos_out) BuiltIn Position
|
Decorate 62(Pos_out) BuiltIn Position
|
||||||
|
MemberDecorate 69(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 69(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeInt 32 1
|
6: TypeInt 32 1
|
||||||
@ -262,6 +267,9 @@ Shader version: 450
|
|||||||
59: TypePointer Output 6(int)
|
59: TypePointer Output 6(int)
|
||||||
61: TypePointer Output 8(fvec4)
|
61: TypePointer Output 8(fvec4)
|
||||||
62(Pos_out): 61(ptr) Variable Output
|
62(Pos_out): 61(ptr) Variable Output
|
||||||
|
69(PerVertex_out): TypeStruct 8(fvec4)
|
||||||
|
70: TypePointer Output 69(PerVertex_out)
|
||||||
|
71(PerVertex_out): 70(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
25(vsout): 12(ptr) Variable Function
|
25(vsout): 12(ptr) Variable Function
|
||||||
|
|||||||
@ -37,7 +37,7 @@ output primitive = triangle_strip
|
|||||||
0:30 Sequence
|
0:30 Sequence
|
||||||
0:30 Sequence
|
0:30 Sequence
|
||||||
0:30 move second child to first child (temp 4-component vector of float)
|
0:30 move second child to first child (temp 4-component vector of float)
|
||||||
0:? 'ts.psIn.pos' (out 4-component vector of float Position)
|
0:? 'ts_psIn_pos' (out 4-component vector of float Position)
|
||||||
0:30 pos: direct index for structure (temp 4-component vector of float)
|
0:30 pos: direct index for structure (temp 4-component vector of float)
|
||||||
0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
|
0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
|
||||||
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})
|
||||||
@ -73,8 +73,8 @@ output primitive = triangle_strip
|
|||||||
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:? 'ts' (layout(location=0 ) out structure{temp structure{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' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
|
||||||
0:? 'tin.pos' (in 3-element array of 4-component vector of float Position)
|
0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos})
|
||||||
0:? 'ts.psIn.pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_psIn_pos})
|
||||||
|
|
||||||
|
|
||||||
Linked geometry stage:
|
Linked geometry stage:
|
||||||
@ -118,7 +118,7 @@ output primitive = triangle_strip
|
|||||||
0:30 Sequence
|
0:30 Sequence
|
||||||
0:30 Sequence
|
0:30 Sequence
|
||||||
0:30 move second child to first child (temp 4-component vector of float)
|
0:30 move second child to first child (temp 4-component vector of float)
|
||||||
0:? 'ts.psIn.pos' (out 4-component vector of float Position)
|
0:? 'ts_psIn_pos' (out 4-component vector of float Position)
|
||||||
0:30 pos: direct index for structure (temp 4-component vector of float)
|
0:30 pos: direct index for structure (temp 4-component vector of float)
|
||||||
0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
|
0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc})
|
||||||
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})
|
||||||
@ -154,17 +154,17 @@ output primitive = triangle_strip
|
|||||||
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:? 'ts' (layout(location=0 ) out structure{temp structure{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' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
|
||||||
0:? 'tin.pos' (in 3-element array of 4-component vector of float Position)
|
0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos})
|
||||||
0:? 'ts.psIn.pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_psIn_pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 64
|
// Id's are bound by 68
|
||||||
|
|
||||||
Capability Geometry
|
Capability Geometry
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Geometry 4 "main" 33 40 60 63
|
EntryPoint Geometry 4 "main" 33 40 60 64 67
|
||||||
ExecutionMode 4 Triangles
|
ExecutionMode 4 Triangles
|
||||||
ExecutionMode 4 Invocations 1
|
ExecutionMode 4 Invocations 1
|
||||||
ExecutionMode 4 OutputTriangleStrip
|
ExecutionMode 4 OutputTriangleStrip
|
||||||
@ -180,7 +180,7 @@ output primitive = triangle_strip
|
|||||||
MemberName 15(GS_OUT) 0 "psIn"
|
MemberName 15(GS_OUT) 0 "psIn"
|
||||||
MemberName 15(GS_OUT) 1 "contains_no_builtin_io"
|
MemberName 15(GS_OUT) 1 "contains_no_builtin_io"
|
||||||
Name 17 "o"
|
Name 17 "o"
|
||||||
Name 33 "ts.psIn.pos"
|
Name 33 "ts_psIn_pos"
|
||||||
Name 36 "PS_IN"
|
Name 36 "PS_IN"
|
||||||
MemberName 36(PS_IN) 0 "tc"
|
MemberName 36(PS_IN) 0 "tc"
|
||||||
Name 37 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
|
Name 37 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
|
||||||
@ -193,11 +193,19 @@ output primitive = triangle_strip
|
|||||||
Name 56 "PS_IN"
|
Name 56 "PS_IN"
|
||||||
MemberName 56(PS_IN) 0 "tc"
|
MemberName 56(PS_IN) 0 "tc"
|
||||||
Name 60 "tin"
|
Name 60 "tin"
|
||||||
Name 63 "tin.pos"
|
Name 61 "PerVertex_in"
|
||||||
Decorate 33(ts.psIn.pos) BuiltIn Position
|
MemberName 61(PerVertex_in) 0 "tin_pos"
|
||||||
|
Name 64 "PerVertex_in"
|
||||||
|
Name 65 "PerVertex_out"
|
||||||
|
MemberName 65(PerVertex_out) 0 "ts_psIn_pos"
|
||||||
|
Name 67 "PerVertex_out"
|
||||||
|
Decorate 33(ts_psIn_pos) BuiltIn Position
|
||||||
Decorate 40(ts) Location 0
|
Decorate 40(ts) Location 0
|
||||||
Decorate 60(tin) Location 0
|
Decorate 60(tin) Location 0
|
||||||
Decorate 63(tin.pos) BuiltIn Position
|
MemberDecorate 61(PerVertex_in) 0 BuiltIn Position
|
||||||
|
Decorate 61(PerVertex_in) Block
|
||||||
|
MemberDecorate 65(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 65(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -224,7 +232,7 @@ output primitive = triangle_strip
|
|||||||
29: 8(fvec2) ConstantComposite 27 28
|
29: 8(fvec2) ConstantComposite 27 28
|
||||||
30: TypePointer Function 8(fvec2)
|
30: TypePointer Function 8(fvec2)
|
||||||
32: TypePointer Output 7(fvec4)
|
32: TypePointer Output 7(fvec4)
|
||||||
33(ts.psIn.pos): 32(ptr) Variable Output
|
33(ts_psIn_pos): 32(ptr) Variable Output
|
||||||
36(PS_IN): TypeStruct 8(fvec2)
|
36(PS_IN): TypeStruct 8(fvec2)
|
||||||
37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 12 13(int)
|
37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 12 13(int)
|
||||||
38(GS_OUT): TypeStruct 36(PS_IN) 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
38(GS_OUT): TypeStruct 36(PS_IN) 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
||||||
@ -240,9 +248,13 @@ output primitive = triangle_strip
|
|||||||
58: TypeArray 56(PS_IN) 57
|
58: TypeArray 56(PS_IN) 57
|
||||||
59: TypePointer Input 58
|
59: TypePointer Input 58
|
||||||
60(tin): 59(ptr) Variable Input
|
60(tin): 59(ptr) Variable Input
|
||||||
61: TypeArray 7(fvec4) 57
|
61(PerVertex_in): TypeStruct 7(fvec4)
|
||||||
62: TypePointer Input 61
|
62: TypeArray 61(PerVertex_in) 57
|
||||||
63(tin.pos): 62(ptr) Variable Input
|
63: TypePointer Input 62
|
||||||
|
64(PerVertex_in): 63(ptr) Variable Input
|
||||||
|
65(PerVertex_out): TypeStruct 7(fvec4)
|
||||||
|
66: TypePointer Output 65(PerVertex_out)
|
||||||
|
67(PerVertex_out): 66(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
17(o): 16(ptr) Variable Function
|
17(o): 16(ptr) Variable Function
|
||||||
@ -252,7 +264,7 @@ output primitive = triangle_strip
|
|||||||
Store 31 29
|
Store 31 29
|
||||||
34: 24(ptr) AccessChain 17(o) 18 18
|
34: 24(ptr) AccessChain 17(o) 18 18
|
||||||
35: 7(fvec4) Load 34
|
35: 7(fvec4) Load 34
|
||||||
Store 33(ts.psIn.pos) 35
|
Store 33(ts_psIn_pos) 35
|
||||||
41: 30(ptr) AccessChain 17(o) 18 26
|
41: 30(ptr) AccessChain 17(o) 18 26
|
||||||
42: 8(fvec2) Load 41
|
42: 8(fvec2) Load 41
|
||||||
44: 43(ptr) AccessChain 40(ts) 18 18
|
44: 43(ptr) AccessChain 40(ts) 18 18
|
||||||
|
|||||||
@ -29,12 +29,12 @@ output primitive = triangle_strip
|
|||||||
0:18 Constant:
|
0:18 Constant:
|
||||||
0:18 0 (const int)
|
0:18 0 (const int)
|
||||||
0:18 indirect index (temp 4-component vector of float Position)
|
0:18 indirect index (temp 4-component vector of float Position)
|
||||||
0:18 'i.pos' (in 3-element array of 4-component vector of float Position)
|
0:18 'i_pos' (in 3-element array of 4-component vector of float Position)
|
||||||
0:18 'x' (temp int)
|
0:18 'x' (temp int)
|
||||||
0:19 Sequence
|
0:19 Sequence
|
||||||
0:19 Sequence
|
0:19 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:? 'ts.pos' (out 4-component vector of float Position)
|
0:? 'ts_pos' (out 4-component vector of float Position)
|
||||||
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)
|
||||||
0:19 'o' (temp structure{temp 4-component vector of float pos})
|
0:19 'o' (temp structure{temp 4-component vector of float pos})
|
||||||
0:19 Constant:
|
0:19 Constant:
|
||||||
@ -44,8 +44,8 @@ output primitive = triangle_strip
|
|||||||
0:17 Pre-Increment (temp int)
|
0:17 Pre-Increment (temp int)
|
||||||
0:17 'x' (temp int)
|
0:17 'x' (temp int)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'i.pos' (in 3-element array of 4-component vector of float Position)
|
0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position i_pos})
|
||||||
0:? 'ts.pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_pos})
|
||||||
|
|
||||||
|
|
||||||
Linked geometry stage:
|
Linked geometry stage:
|
||||||
@ -81,12 +81,12 @@ output primitive = triangle_strip
|
|||||||
0:18 Constant:
|
0:18 Constant:
|
||||||
0:18 0 (const int)
|
0:18 0 (const int)
|
||||||
0:18 indirect index (temp 4-component vector of float Position)
|
0:18 indirect index (temp 4-component vector of float Position)
|
||||||
0:18 'i.pos' (in 3-element array of 4-component vector of float Position)
|
0:18 'i_pos' (in 3-element array of 4-component vector of float Position)
|
||||||
0:18 'x' (temp int)
|
0:18 'x' (temp int)
|
||||||
0:19 Sequence
|
0:19 Sequence
|
||||||
0:19 Sequence
|
0:19 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:? 'ts.pos' (out 4-component vector of float Position)
|
0:? 'ts_pos' (out 4-component vector of float Position)
|
||||||
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)
|
||||||
0:19 'o' (temp structure{temp 4-component vector of float pos})
|
0:19 'o' (temp structure{temp 4-component vector of float pos})
|
||||||
0:19 Constant:
|
0:19 Constant:
|
||||||
@ -96,17 +96,17 @@ output primitive = triangle_strip
|
|||||||
0:17 Pre-Increment (temp int)
|
0:17 Pre-Increment (temp int)
|
||||||
0:17 'x' (temp int)
|
0:17 'x' (temp int)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'i.pos' (in 3-element array of 4-component vector of float Position)
|
0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position i_pos})
|
||||||
0:? 'ts.pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 42
|
// Id's are bound by 49
|
||||||
|
|
||||||
Capability Geometry
|
Capability Geometry
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Geometry 4 "main" 28 36
|
EntryPoint Geometry 4 "main" 28 36 45 48
|
||||||
ExecutionMode 4 Triangles
|
ExecutionMode 4 Triangles
|
||||||
ExecutionMode 4 Invocations 1
|
ExecutionMode 4 Invocations 1
|
||||||
ExecutionMode 4 OutputTriangleStrip
|
ExecutionMode 4 OutputTriangleStrip
|
||||||
@ -116,10 +116,20 @@ output primitive = triangle_strip
|
|||||||
Name 21 "GS_OUT"
|
Name 21 "GS_OUT"
|
||||||
MemberName 21(GS_OUT) 0 "pos"
|
MemberName 21(GS_OUT) 0 "pos"
|
||||||
Name 23 "o"
|
Name 23 "o"
|
||||||
Name 28 "i.pos"
|
Name 28 "i_pos"
|
||||||
Name 36 "ts.pos"
|
Name 36 "ts_pos"
|
||||||
Decorate 28(i.pos) BuiltIn Position
|
Name 42 "PerVertex_in"
|
||||||
Decorate 36(ts.pos) BuiltIn Position
|
MemberName 42(PerVertex_in) 0 "i_pos"
|
||||||
|
Name 45 "PerVertex_in"
|
||||||
|
Name 46 "PerVertex_out"
|
||||||
|
MemberName 46(PerVertex_out) 0 "ts_pos"
|
||||||
|
Name 48 "PerVertex_out"
|
||||||
|
Decorate 28(i_pos) BuiltIn Position
|
||||||
|
Decorate 36(ts_pos) BuiltIn Position
|
||||||
|
MemberDecorate 42(PerVertex_in) 0 BuiltIn Position
|
||||||
|
Decorate 42(PerVertex_in) Block
|
||||||
|
MemberDecorate 46(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 46(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeInt 32 1
|
6: TypeInt 32 1
|
||||||
@ -135,12 +145,19 @@ output primitive = triangle_strip
|
|||||||
25: 24(int) Constant 3
|
25: 24(int) Constant 3
|
||||||
26: TypeArray 20(fvec4) 25
|
26: TypeArray 20(fvec4) 25
|
||||||
27: TypePointer Input 26
|
27: TypePointer Input 26
|
||||||
28(i.pos): 27(ptr) Variable Input
|
28(i_pos): 27(ptr) Variable Input
|
||||||
30: TypePointer Input 20(fvec4)
|
30: TypePointer Input 20(fvec4)
|
||||||
33: TypePointer Function 20(fvec4)
|
33: TypePointer Function 20(fvec4)
|
||||||
35: TypePointer Output 20(fvec4)
|
35: TypePointer Output 20(fvec4)
|
||||||
36(ts.pos): 35(ptr) Variable Output
|
36(ts_pos): 35(ptr) Variable Output
|
||||||
40: 6(int) Constant 1
|
40: 6(int) Constant 1
|
||||||
|
42(PerVertex_in): TypeStruct 20(fvec4)
|
||||||
|
43: TypeArray 42(PerVertex_in) 25
|
||||||
|
44: TypePointer Input 43
|
||||||
|
45(PerVertex_in): 44(ptr) Variable Input
|
||||||
|
46(PerVertex_out): TypeStruct 20(fvec4)
|
||||||
|
47: TypePointer Output 46(PerVertex_out)
|
||||||
|
48(PerVertex_out): 47(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
8(x): 7(ptr) Variable Function
|
8(x): 7(ptr) Variable Function
|
||||||
@ -156,13 +173,13 @@ output primitive = triangle_strip
|
|||||||
BranchConditional 18 11 12
|
BranchConditional 18 11 12
|
||||||
11: Label
|
11: Label
|
||||||
29: 6(int) Load 8(x)
|
29: 6(int) Load 8(x)
|
||||||
31: 30(ptr) AccessChain 28(i.pos) 29
|
31: 30(ptr) AccessChain 28(i_pos) 29
|
||||||
32: 20(fvec4) Load 31
|
32: 20(fvec4) Load 31
|
||||||
34: 33(ptr) AccessChain 23(o) 9
|
34: 33(ptr) AccessChain 23(o) 9
|
||||||
Store 34 32
|
Store 34 32
|
||||||
37: 33(ptr) AccessChain 23(o) 9
|
37: 33(ptr) AccessChain 23(o) 9
|
||||||
38: 20(fvec4) Load 37
|
38: 20(fvec4) Load 37
|
||||||
Store 36(ts.pos) 38
|
Store 36(ts_pos) 38
|
||||||
EmitVertex
|
EmitVertex
|
||||||
Branch 13
|
Branch 13
|
||||||
13: Label
|
13: Label
|
||||||
|
|||||||
@ -26,7 +26,7 @@ Shader version: 450
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'Pos_in' (in 4-component vector of float Position)
|
0:? 'Pos_in' (in 4-component vector of float Position)
|
||||||
0:? 'Pos_loose' (in 4-component vector of float Position)
|
0:? 'Pos_loose' (in 4-component vector of float Position)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
@ -59,16 +59,16 @@ Shader version: 450
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'Pos_in' (in 4-component vector of float Position)
|
0:? 'Pos_in' (in 4-component vector of float Position)
|
||||||
0:? 'Pos_loose' (in 4-component vector of float Position)
|
0:? 'Pos_loose' (in 4-component vector of float Position)
|
||||||
0:? 'Pos' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 26
|
// Id's are bound by 29
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Vertex 4 "main" 14 16 22
|
EntryPoint Vertex 4 "main" 14 16 22 28
|
||||||
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"
|
||||||
@ -76,9 +76,14 @@ Shader version: 450
|
|||||||
Name 14 "Pos_in"
|
Name 14 "Pos_in"
|
||||||
Name 16 "Pos_loose"
|
Name 16 "Pos_loose"
|
||||||
Name 22 "Pos"
|
Name 22 "Pos"
|
||||||
|
Name 26 "PerVertex_out"
|
||||||
|
MemberName 26(PerVertex_out) 0 "Pos"
|
||||||
|
Name 28 "PerVertex_out"
|
||||||
Decorate 14(Pos_in) BuiltIn Position
|
Decorate 14(Pos_in) BuiltIn Position
|
||||||
Decorate 16(Pos_loose) BuiltIn Position
|
Decorate 16(Pos_loose) BuiltIn Position
|
||||||
Decorate 22(Pos) BuiltIn Position
|
Decorate 22(Pos) BuiltIn Position
|
||||||
|
MemberDecorate 26(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 26(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -93,6 +98,9 @@ Shader version: 450
|
|||||||
19: TypePointer Function 7(fvec4)
|
19: TypePointer Function 7(fvec4)
|
||||||
21: TypePointer Output 7(fvec4)
|
21: TypePointer Output 7(fvec4)
|
||||||
22(Pos): 21(ptr) Variable Output
|
22(Pos): 21(ptr) Variable Output
|
||||||
|
26(PerVertex_out): TypeStruct 7(fvec4)
|
||||||
|
27: TypePointer Output 26(PerVertex_out)
|
||||||
|
28(PerVertex_out): 27(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
10(vsout): 9(ptr) Variable Function
|
10(vsout): 9(ptr) Variable Function
|
||||||
|
|||||||
@ -49,7 +49,7 @@ output primitive = triangle_strip
|
|||||||
0:22 Sequence
|
0:22 Sequence
|
||||||
0:22 Sequence
|
0:22 Sequence
|
||||||
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:? 'outStream.position' (out 4-component vector of float Position)
|
0:? 'outStream_position' (out 4-component vector of float Position)
|
||||||
0:22 position: direct index for structure (temp 4-component vector of float)
|
0:22 position: direct index for structure (temp 4-component vector of float)
|
||||||
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 Constant:
|
0:22 Constant:
|
||||||
@ -76,7 +76,7 @@ output primitive = triangle_strip
|
|||||||
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})
|
||||||
0:? 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv})
|
0:? 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv})
|
||||||
0:? 'outStream.position' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position outStream_position})
|
||||||
|
|
||||||
|
|
||||||
Linked geometry stage:
|
Linked geometry stage:
|
||||||
@ -132,7 +132,7 @@ output primitive = triangle_strip
|
|||||||
0:22 Sequence
|
0:22 Sequence
|
||||||
0:22 Sequence
|
0:22 Sequence
|
||||||
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:? 'outStream.position' (out 4-component vector of float Position)
|
0:? 'outStream_position' (out 4-component vector of float Position)
|
||||||
0:22 position: direct index for structure (temp 4-component vector of float)
|
0:22 position: direct index for structure (temp 4-component vector of float)
|
||||||
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 Constant:
|
0:22 Constant:
|
||||||
@ -159,16 +159,16 @@ output primitive = triangle_strip
|
|||||||
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})
|
||||||
0:? 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv})
|
0:? 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv})
|
||||||
0:? 'outStream.position' (out 4-component vector of float Position)
|
0:? 'PerVertex_out' (out block{out 4-component vector of float Position outStream_position})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 49
|
// Id's are bound by 52
|
||||||
|
|
||||||
Capability Geometry
|
Capability Geometry
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Geometry 4 "main" 19 36 41
|
EntryPoint Geometry 4 "main" 19 36 41 51
|
||||||
ExecutionMode 4 InputLines
|
ExecutionMode 4 InputLines
|
||||||
ExecutionMode 4 Invocations 1
|
ExecutionMode 4 Invocations 1
|
||||||
ExecutionMode 4 OutputTriangleStrip
|
ExecutionMode 4 OutputTriangleStrip
|
||||||
@ -184,14 +184,19 @@ output primitive = triangle_strip
|
|||||||
MemberName 14(VertexData) 1 "color"
|
MemberName 14(VertexData) 1 "color"
|
||||||
MemberName 14(VertexData) 2 "uv"
|
MemberName 14(VertexData) 2 "uv"
|
||||||
Name 19 "vin"
|
Name 19 "vin"
|
||||||
Name 36 "outStream.position"
|
Name 36 "outStream_position"
|
||||||
Name 39 "PS_IN"
|
Name 39 "PS_IN"
|
||||||
MemberName 39(PS_IN) 0 "color"
|
MemberName 39(PS_IN) 0 "color"
|
||||||
MemberName 39(PS_IN) 1 "uv"
|
MemberName 39(PS_IN) 1 "uv"
|
||||||
Name 41 "outStream"
|
Name 41 "outStream"
|
||||||
|
Name 49 "PerVertex_out"
|
||||||
|
MemberName 49(PerVertex_out) 0 "outStream_position"
|
||||||
|
Name 51 "PerVertex_out"
|
||||||
Decorate 19(vin) Location 0
|
Decorate 19(vin) Location 0
|
||||||
Decorate 36(outStream.position) BuiltIn Position
|
Decorate 36(outStream_position) BuiltIn Position
|
||||||
Decorate 41(outStream) Location 0
|
Decorate 41(outStream) Location 0
|
||||||
|
MemberDecorate 49(PerVertex_out) 0 BuiltIn Position
|
||||||
|
Decorate 49(PerVertex_out) Block
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -214,11 +219,14 @@ output primitive = triangle_strip
|
|||||||
29: TypePointer Function 8(fvec2)
|
29: TypePointer Function 8(fvec2)
|
||||||
31: 12(int) Constant 0
|
31: 12(int) Constant 0
|
||||||
35: TypePointer Output 7(fvec4)
|
35: TypePointer Output 7(fvec4)
|
||||||
36(outStream.position): 35(ptr) Variable Output
|
36(outStream_position): 35(ptr) Variable Output
|
||||||
39(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
|
39(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
|
||||||
40: TypePointer Output 39(PS_IN)
|
40: TypePointer Output 39(PS_IN)
|
||||||
41(outStream): 40(ptr) Variable Output
|
41(outStream): 40(ptr) Variable Output
|
||||||
47: TypePointer Output 8(fvec2)
|
47: TypePointer Output 8(fvec2)
|
||||||
|
49(PerVertex_out): TypeStruct 7(fvec4)
|
||||||
|
50: TypePointer Output 49(PerVertex_out)
|
||||||
|
51(PerVertex_out): 50(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
11(vout): 10(ptr) Variable Function
|
11(vout): 10(ptr) Variable Function
|
||||||
@ -236,7 +244,7 @@ output primitive = triangle_strip
|
|||||||
Store 34 33
|
Store 34 33
|
||||||
37: 23(ptr) AccessChain 11(vout) 31
|
37: 23(ptr) AccessChain 11(vout) 31
|
||||||
38: 7(fvec4) Load 37
|
38: 7(fvec4) Load 37
|
||||||
Store 36(outStream.position) 38
|
Store 36(outStream_position) 38
|
||||||
42: 23(ptr) AccessChain 11(vout) 13
|
42: 23(ptr) AccessChain 11(vout) 13
|
||||||
43: 7(fvec4) Load 42
|
43: 7(fvec4) Load 42
|
||||||
44: 35(ptr) AccessChain 41(outStream) 31
|
44: 35(ptr) AccessChain 41(outStream) 31
|
||||||
|
|||||||
@ -1319,9 +1319,18 @@ public:
|
|||||||
virtual bool isImage() const { return basicType == EbtSampler && getSampler().isImage(); }
|
virtual bool isImage() const { return basicType == EbtSampler && getSampler().isImage(); }
|
||||||
virtual bool isSubpass() const { return basicType == EbtSampler && getSampler().isSubpass(); }
|
virtual bool isSubpass() const { return basicType == EbtSampler && getSampler().isSubpass(); }
|
||||||
|
|
||||||
// Return true if this is interstage IO
|
virtual bool isBuiltInInterstageIO(EShLanguage language) const
|
||||||
virtual bool isBuiltInInterstageIO() const
|
|
||||||
{
|
{
|
||||||
|
return isPerVertexAndBuiltIn(language) || isLooseAndBuiltIn(language);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return true if this is an interstage IO builtin
|
||||||
|
virtual bool isPerVertexAndBuiltIn(EShLanguage language) const
|
||||||
|
{
|
||||||
|
if (language == EShLangFragment)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Any non-fragment stage
|
||||||
switch (getQualifier().builtIn) {
|
switch (getQualifier().builtIn) {
|
||||||
case EbvPosition:
|
case EbvPosition:
|
||||||
case EbvPointSize:
|
case EbvPointSize:
|
||||||
@ -1333,6 +1342,15 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return true if this is a loose builtin
|
||||||
|
virtual bool isLooseAndBuiltIn(EShLanguage language) const
|
||||||
|
{
|
||||||
|
if (getQualifier().builtIn == EbvNone)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return !isPerVertexAndBuiltIn(language);
|
||||||
|
}
|
||||||
|
|
||||||
// Recursively checks if the type contains the given basic type
|
// Recursively checks if the type contains the given basic type
|
||||||
virtual bool containsBasicType(TBasicType checkType) const
|
virtual bool containsBasicType(TBasicType checkType) const
|
||||||
{
|
{
|
||||||
@ -1401,33 +1419,20 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Recursively checks if the type contains an interstage IO builtin
|
// Recursively checks if the type contains an interstage IO builtin
|
||||||
virtual bool containsBuiltInInterstageIO() const
|
virtual bool containsBuiltInInterstageIO(EShLanguage language) const
|
||||||
{
|
{
|
||||||
if (isBuiltInInterstageIO())
|
if (isBuiltInInterstageIO(language))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (! structure)
|
if (! structure)
|
||||||
return false;
|
return false;
|
||||||
for (unsigned int i = 0; i < structure->size(); ++i) {
|
for (unsigned int i = 0; i < structure->size(); ++i) {
|
||||||
if ((*structure)[i].type->containsBuiltInInterstageIO())
|
if ((*structure)[i].type->containsBuiltInInterstageIO(language))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recursively checks whether a struct contains only interstage IO
|
|
||||||
virtual bool containsOnlyBuiltInInterstageIO() const
|
|
||||||
{
|
|
||||||
if (! structure)
|
|
||||||
return isBuiltInInterstageIO();
|
|
||||||
|
|
||||||
for (unsigned int i = 0; i < structure->size(); ++i) {
|
|
||||||
if (!(*structure)[i].type->containsOnlyBuiltInInterstageIO())
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool containsNonOpaque() const
|
virtual bool containsNonOpaque() const
|
||||||
{
|
{
|
||||||
// list all non-opaque types
|
// list all non-opaque types
|
||||||
|
|||||||
@ -933,7 +933,7 @@ bool HlslParseContext::shouldSplit(const TType& type)
|
|||||||
const TStorageQualifier qualifier = type.getQualifier().storage;
|
const TStorageQualifier qualifier = type.getQualifier().storage;
|
||||||
|
|
||||||
// If it contains interstage IO, but not ONLY interstage IO, split the struct.
|
// If it contains interstage IO, but not ONLY interstage IO, split the struct.
|
||||||
return type.isStruct() && type.containsBuiltInInterstageIO() &&
|
return type.isStruct() && type.containsBuiltInInterstageIO(language) &&
|
||||||
(qualifier == EvqVaryingIn || qualifier == EvqVaryingOut);
|
(qualifier == EvqVaryingIn || qualifier == EvqVaryingOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -990,13 +990,13 @@ TType& HlslParseContext::split(TType& type, TString name, const TType* outerStru
|
|||||||
|
|
||||||
// Get iterator to (now at end) set of builtin iterstage IO members
|
// Get iterator to (now at end) set of builtin iterstage IO members
|
||||||
const auto firstIo = std::stable_partition(userStructure->begin(), userStructure->end(),
|
const auto firstIo = std::stable_partition(userStructure->begin(), userStructure->end(),
|
||||||
[](const TTypeLoc& t) {return !t.type->isBuiltInInterstageIO();});
|
[this](const TTypeLoc& t) {return !t.type->isBuiltInInterstageIO(language);});
|
||||||
|
|
||||||
// Move those to the builtin IO. However, we also propagate arrayness (just one level is handled
|
// Move those to the builtin IO. However, we also propagate arrayness (just one level is handled
|
||||||
// now) to this variable.
|
// now) to this variable.
|
||||||
for (auto ioType = firstIo; ioType != userStructure->end(); ++ioType) {
|
for (auto ioType = firstIo; ioType != userStructure->end(); ++ioType) {
|
||||||
const TType& memberType = *ioType->type;
|
const TType& memberType = *ioType->type;
|
||||||
TVariable* ioVar = makeInternalVariable(name + (name.empty() ? "" : ".") + memberType.getFieldName(), memberType);
|
TVariable* ioVar = makeInternalVariable(name + (name.empty() ? "" : "_") + memberType.getFieldName(), memberType);
|
||||||
|
|
||||||
if (arraySizes)
|
if (arraySizes)
|
||||||
ioVar->getWritableType().newArraySizes(*arraySizes);
|
ioVar->getWritableType().newArraySizes(*arraySizes);
|
||||||
@ -1013,7 +1013,7 @@ TType& HlslParseContext::split(TType& type, TString name, const TType* outerStru
|
|||||||
// Recurse further into the members.
|
// Recurse further into the members.
|
||||||
for (unsigned int i = 0; i < userStructure->size(); ++i)
|
for (unsigned int i = 0; i < userStructure->size(); ++i)
|
||||||
split(*(*userStructure)[i].type,
|
split(*(*userStructure)[i].type,
|
||||||
name + (name.empty() ? "" : ".") + (*userStructure)[i].type->getFieldName(),
|
name + (name.empty() ? "" : "_") + (*userStructure)[i].type->getFieldName(),
|
||||||
outerStructType);
|
outerStructType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1320,7 +1320,7 @@ TIntermTyped* HlslParseContext::splitAccessStruct(const TSourceLoc& loc, TInterm
|
|||||||
|
|
||||||
const TType& memberType = *members[member].type;
|
const TType& memberType = *members[member].type;
|
||||||
|
|
||||||
if (memberType.isBuiltInInterstageIO()) {
|
if (memberType.isBuiltInInterstageIO(language)) {
|
||||||
// It's one of the interstage IO variables we split off.
|
// It's one of the interstage IO variables we split off.
|
||||||
TIntermTyped* builtIn = intermediate.addSymbol(*interstageBuiltInIo[tInterstageIoData(memberType, base->getType())], loc);
|
TIntermTyped* builtIn = intermediate.addSymbol(*interstageBuiltInIo[tInterstageIoData(memberType, base->getType())], loc);
|
||||||
|
|
||||||
@ -1344,7 +1344,7 @@ TIntermTyped* HlslParseContext::splitAccessStruct(const TSourceLoc& loc, TInterm
|
|||||||
|
|
||||||
int newMember = 0;
|
int newMember = 0;
|
||||||
for (int m=0; m<member; ++m)
|
for (int m=0; m<member; ++m)
|
||||||
if (!members[m].type->isBuiltInInterstageIO())
|
if (!members[m].type->isBuiltInInterstageIO(language))
|
||||||
++newMember;
|
++newMember;
|
||||||
|
|
||||||
member = newMember;
|
member = newMember;
|
||||||
@ -1437,6 +1437,9 @@ TFunction& HlslParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFu
|
|||||||
// Add interstage IO variables to the linkage in canonical order.
|
// Add interstage IO variables to the linkage in canonical order.
|
||||||
void HlslParseContext::addInterstageIoToLinkage()
|
void HlslParseContext::addInterstageIoToLinkage()
|
||||||
{
|
{
|
||||||
|
TSourceLoc loc;
|
||||||
|
loc.init();
|
||||||
|
|
||||||
std::vector<tInterstageIoData> io;
|
std::vector<tInterstageIoData> io;
|
||||||
io.reserve(interstageBuiltInIo.size());
|
io.reserve(interstageBuiltInIo.size());
|
||||||
|
|
||||||
@ -1446,8 +1449,75 @@ void HlslParseContext::addInterstageIoToLinkage()
|
|||||||
// Our canonical order is the TBuiltInVariable numeric order.
|
// Our canonical order is the TBuiltInVariable numeric order.
|
||||||
std::sort(io.begin(), io.end());
|
std::sort(io.begin(), io.end());
|
||||||
|
|
||||||
for (int idx = 0; idx < int(io.size()); ++idx)
|
// We have to (potentially) track two IO blocks, one in, one out. E.g, a GS may have a
|
||||||
trackLinkageDeferred(*interstageBuiltInIo[io[idx]]);
|
// PerVertex block in both directions, possibly with different members.
|
||||||
|
static const TStorageQualifier ioType[2] = { EvqVaryingIn, EvqVaryingOut };
|
||||||
|
static const char* blockName[2] = { "PerVertex_in", "PerVertex_out" };
|
||||||
|
|
||||||
|
TTypeList* ioBlockTypes[2] = { nullptr, nullptr };
|
||||||
|
TArraySizes* ioBlockArray[2] = { nullptr, nullptr };
|
||||||
|
|
||||||
|
for (int idx = 0; idx < int(io.size()); ++idx) {
|
||||||
|
TVariable* var = interstageBuiltInIo[io[idx]];
|
||||||
|
|
||||||
|
// Add the loose interstage IO to the linkage
|
||||||
|
if (var->getType().isLooseAndBuiltIn(language))
|
||||||
|
trackLinkageDeferred(*var);
|
||||||
|
|
||||||
|
// Add the PerVertex interstage IO to the IO block
|
||||||
|
if (var->getType().isPerVertexAndBuiltIn(language)) {
|
||||||
|
int blockId = 0;
|
||||||
|
switch (var->getType().getQualifier().storage) {
|
||||||
|
case EvqVaryingIn: blockId = 0; break;
|
||||||
|
case EvqVaryingOut: blockId = 1; break;
|
||||||
|
default: assert(0 && "Invalid storage qualifier");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lazy creation of type list only if we end up needing it.
|
||||||
|
if (ioBlockTypes[blockId] == nullptr)
|
||||||
|
ioBlockTypes[blockId] = new TTypeList();
|
||||||
|
|
||||||
|
TTypeLoc member = { new TType(EbtVoid), loc };
|
||||||
|
member.type->shallowCopy(var->getType());
|
||||||
|
member.type->setFieldName(var->getName());
|
||||||
|
|
||||||
|
// We may have collected these from different parts of different structures. If their
|
||||||
|
// array dimensions are not the same, we don't know what to do, so issue an error.
|
||||||
|
if (member.type->isArray()) {
|
||||||
|
if (ioBlockArray[blockId] == nullptr) {
|
||||||
|
ioBlockArray[blockId] = &member.type->getArraySizes();
|
||||||
|
} else {
|
||||||
|
if (*ioBlockArray[blockId] != member.type->getArraySizes())
|
||||||
|
error(loc, "PerVertex block array dimension mismatch", "", "");
|
||||||
|
}
|
||||||
|
member.type->clearArraySizes();
|
||||||
|
}
|
||||||
|
|
||||||
|
ioBlockTypes[blockId]->push_back(member);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there were PerVertex items, add the block to the linkage. Handle in and out separately.
|
||||||
|
for (int blockId = 0; blockId <= 1; ++blockId) {
|
||||||
|
if (ioBlockTypes[blockId] != nullptr) {
|
||||||
|
const TString* instanceName = NewPoolTString(blockName[blockId]);
|
||||||
|
TQualifier blockQualifier;
|
||||||
|
|
||||||
|
blockQualifier.clear();
|
||||||
|
blockQualifier.storage = ioType[blockId];
|
||||||
|
|
||||||
|
TType blockType(ioBlockTypes[blockId], *instanceName, blockQualifier);
|
||||||
|
|
||||||
|
if (ioBlockArray[blockId] != nullptr)
|
||||||
|
blockType.newArraySizes(*ioBlockArray[blockId]);
|
||||||
|
|
||||||
|
TVariable* ioBlock = new TVariable(instanceName, blockType);
|
||||||
|
if (!symbolTable.insert(*ioBlock))
|
||||||
|
error(loc, "block instance name redefinition", ioBlock->getName().c_str(), "");
|
||||||
|
else
|
||||||
|
trackLinkageDeferred(*ioBlock);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -1786,7 +1856,7 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op
|
|||||||
const TOperator op = node->getType().isArray() ? EOpIndexDirect : EOpIndexDirectStruct;
|
const TOperator op = node->getType().isArray() ? EOpIndexDirect : EOpIndexDirectStruct;
|
||||||
const TType derefType(node->getType(), member);
|
const TType derefType(node->getType(), member);
|
||||||
|
|
||||||
if (split && derefType.isBuiltInInterstageIO()) {
|
if (split && derefType.isBuiltInInterstageIO(language)) {
|
||||||
// copy from interstage IO builtin if needed
|
// copy from interstage IO builtin if needed
|
||||||
subTree = intermediate.addSymbol(*interstageBuiltInIo.find(tInterstageIoData(derefType, outer->getType()))->second);
|
subTree = intermediate.addSymbol(*interstageBuiltInIo.find(tInterstageIoData(derefType, outer->getType()))->second);
|
||||||
} else if (flattened && isFinalFlattening(derefType)) {
|
} else if (flattened && isFinalFlattening(derefType)) {
|
||||||
@ -1855,14 +1925,14 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op
|
|||||||
// recurse into it if there's something for splitting to do. That can save a lot of AST verbosity for
|
// recurse into it if there's something for splitting to do. That can save a lot of AST verbosity for
|
||||||
// a bunch of memberwise copies.
|
// a bunch of memberwise copies.
|
||||||
if (isFinalFlattening(typeL) || (!isFlattenLeft && !isFlattenRight &&
|
if (isFinalFlattening(typeL) || (!isFlattenLeft && !isFlattenRight &&
|
||||||
!typeL.containsBuiltInInterstageIO() && !typeR.containsBuiltInInterstageIO())) {
|
!typeL.containsBuiltInInterstageIO(language) && !typeR.containsBuiltInInterstageIO(language))) {
|
||||||
assignList = intermediate.growAggregate(assignList, intermediate.addAssign(op, subSplitLeft, subSplitRight, loc), loc);
|
assignList = intermediate.growAggregate(assignList, intermediate.addAssign(op, subSplitLeft, subSplitRight, loc), loc);
|
||||||
} else {
|
} else {
|
||||||
traverse(subLeft, subRight, subSplitLeft, subSplitRight);
|
traverse(subLeft, subRight, subSplitLeft, subSplitRight);
|
||||||
}
|
}
|
||||||
|
|
||||||
memberL += (typeL.isBuiltInInterstageIO() ? 0 : 1);
|
memberL += (typeL.isBuiltInInterstageIO(language) ? 0 : 1);
|
||||||
memberR += (typeR.isBuiltInInterstageIO() ? 0 : 1);
|
memberR += (typeR.isBuiltInInterstageIO(language) ? 0 : 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
assert(0); // we should never be called on a non-flattenable thing, because
|
assert(0); // we should never be called on a non-flattenable thing, because
|
||||||
@ -5163,7 +5233,7 @@ TType* HlslParseContext::sanitizeType(TType* type)
|
|||||||
sanitizedType->clearArraySizes();
|
sanitizedType->clearArraySizes();
|
||||||
return sanitizedType;
|
return sanitizedType;
|
||||||
} else {
|
} else {
|
||||||
if (type->containsBuiltInInterstageIO()) {
|
if (type->containsBuiltInInterstageIO(language)) {
|
||||||
// This means the type contains interstage IO, but we've never encountered it before.
|
// This means the type contains interstage IO, but we've never encountered it before.
|
||||||
// Copy it, sanitize it, and remember it in the sanitizedTypeMap
|
// Copy it, sanitize it, and remember it in the sanitizedTypeMap
|
||||||
TType* sanitizedType = type->clone();
|
TType* sanitizedType = type->clone();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user