hlsl.whileLoop.frag
-Shader version: 450
+Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
-0:8 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
+0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:2 Function Parameters:
-0:2 'input' (in 4-component vector of float)
+0:2 'input' ( in 4-component vector of float)
0:? Sequence
0:3 Loop with condition tested first
0:3 Loop Condition
-0:3 Compare Not Equal (temp bool)
-0:3 'input' (in 4-component vector of float)
-0:3 'input' (in 4-component vector of float)
+0:3 any ( temp bool)
+0:3 NotEqual ( temp 4-component vector of bool)
+0:3 'input' ( in 4-component vector of float)
+0:3 'input' ( in 4-component vector of float)
0:3 Loop Body
0:? Sequence
0:3 Branch: Return with expression
-0:3 'input' (in 4-component vector of float)
+0:3 'input' ( in 4-component vector of float)
0:4 Loop with condition tested first
0:4 Loop Condition
0:4 Constant:
0:4 false (const bool)
0:4 No loop body
-0:5 Loop with condition tested first
+0:5 Loop with condition tested first: Unroll
0:5 Loop Condition
0:5 Constant:
0:5 false (const bool)
0:6 Constant:
0:6 false (const bool)
0:6 No loop body
+0:2 Function Definition: PixelShaderFunction( ( temp void)
+0:2 Function Parameters:
+0:? Sequence
+0:2 move second child to first child ( temp 4-component vector of float)
+0:? 'input' ( temp 4-component vector of float)
+0:? 'input' (layout( location=0) in 4-component vector of float)
+0:2 move second child to first child ( temp 4-component vector of float)
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
+0:? 'input' ( temp 4-component vector of float)
0:? Linker Objects
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:? 'input' (layout( location=0) in 4-component vector of float)
Linked fragment stage:
-Shader version: 450
+Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
-0:8 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
+0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:2 Function Parameters:
-0:2 'input' (in 4-component vector of float)
+0:2 'input' ( in 4-component vector of float)
0:? Sequence
0:3 Loop with condition tested first
0:3 Loop Condition
-0:3 Compare Not Equal (temp bool)
-0:3 'input' (in 4-component vector of float)
-0:3 'input' (in 4-component vector of float)
+0:3 any ( temp bool)
+0:3 NotEqual ( temp 4-component vector of bool)
+0:3 'input' ( in 4-component vector of float)
+0:3 'input' ( in 4-component vector of float)
0:3 Loop Body
0:? Sequence
0:3 Branch: Return with expression
-0:3 'input' (in 4-component vector of float)
+0:3 'input' ( in 4-component vector of float)
0:4 Loop with condition tested first
0:4 Loop Condition
0:4 Constant:
0:4 false (const bool)
0:4 No loop body
-0:5 Loop with condition tested first
+0:5 Loop with condition tested first: Unroll
0:5 Loop Condition
0:5 Constant:
0:5 false (const bool)
0:6 Constant:
0:6 false (const bool)
0:6 No loop body
+0:2 Function Definition: PixelShaderFunction( ( temp void)
+0:2 Function Parameters:
+0:? Sequence
+0:2 move second child to first child ( temp 4-component vector of float)
+0:? 'input' ( temp 4-component vector of float)
+0:? 'input' (layout( location=0) in 4-component vector of float)
+0:2 move second child to first child ( temp 4-component vector of float)
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
+0:? 'input' ( temp 4-component vector of float)
0:? Linker Objects
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:? 'input' (layout( location=0) in 4-component vector of float)
// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 39
+// Generated by (magic number): 80003
+// Id's are bound by 52
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "PixelShaderFunction" 14
+ EntryPoint Fragment 4 "PixelShaderFunction" 45 48
ExecutionMode 4 OriginUpperLeft
- Source HLSL 450
+ Source HLSL 500
Name 4 "PixelShaderFunction"
- Name 14 "input"
+ Name 11 "@PixelShaderFunction(vf4;"
+ Name 10 "input"
+ Name 43 "input"
+ Name 45 "input"
+ Name 48 "@entryPointOutput"
+ Name 49 "param"
+ Decorate 45(input) Location 0
+ Decorate 48(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
- 11: TypeFloat 32
- 12: TypeVector 11(float) 4
- 13: TypePointer Input 12(fvec4)
- 14(input): 13(ptr) Variable Input
- 17: TypeBool
- 18: TypeVector 17(bool) 4
- 28: 17(bool) ConstantFalse
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeFunction 7(fvec4) 8(ptr)
+ 20: TypeBool
+ 21: TypeVector 20(bool) 4
+ 31: 20(bool) ConstantFalse
+ 44: TypePointer Input 7(fvec4)
+ 45(input): 44(ptr) Variable Input
+ 47: TypePointer Output 7(fvec4)
+48(@entryPointOutput): 47(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
- Branch 6
- 6: Label
- LoopMerge 8 9 None
- Branch 10
- 10: Label
- 15: 12(fvec4) Load 14(input)
- 16: 12(fvec4) Load 14(input)
- 19: 18(bvec4) FOrdNotEqual 15 16
- 20: 17(bool) Any 19
- BranchConditional 20 7 8
- 7: Label
- 21: 12(fvec4) Load 14(input)
- ReturnValue 21
- 9: Label
- Branch 6
- 8: Label
- Branch 23
- 23: Label
- LoopMerge 25 26 None
- Branch 27
- 27: Label
- BranchConditional 28 24 25
- 24: Label
+ 43(input): 8(ptr) Variable Function
+ 49(param): 8(ptr) Variable Function
+ 46: 7(fvec4) Load 45(input)
+ Store 43(input) 46
+ 50: 7(fvec4) Load 43(input)
+ Store 49(param) 50
+ 51: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 49(param)
+ Store 48(@entryPointOutput) 51
+ Return
+ FunctionEnd
+11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
+ 10(input): 8(ptr) FunctionParameter
+ 12: Label
+ Branch 13
+ 13: Label
+ LoopMerge 15 16 None
+ Branch 17
+ 17: Label
+ 18: 7(fvec4) Load 10(input)
+ 19: 7(fvec4) Load 10(input)
+ 22: 21(bvec4) FOrdNotEqual 18 19
+ 23: 20(bool) Any 22
+ BranchConditional 23 14 15
+ 14: Label
+ 24: 7(fvec4) Load 10(input)
+ ReturnValue 24
+ 16: Label
+ Branch 13
+ 15: Label
+ Branch 26
+ 26: Label
+ LoopMerge 28 29 None
+ Branch 30
+ 30: Label
+ BranchConditional 31 27 28
+ 27: Label
+ Branch 29
+ 29: Label
Branch 26
- 26: Label
- Branch 23
- 25: Label
- Branch 29
- 29: Label
- LoopMerge 31 32 None
- Branch 33
- 33: Label
- BranchConditional 28 30 31
- 30: Label
+ 28: Label
+ Branch 32
+ 32: Label
+ LoopMerge 34 35 Unroll
+ Branch 36
+ 36: Label
+ BranchConditional 31 33 34
+ 33: Label
+ Branch 35
+ 35: Label
Branch 32
- 32: Label
- Branch 29
- 31: Label
- Branch 34
34: Label
- LoopMerge 36 37 None
- Branch 38
- 38: Label
- BranchConditional 28 35 36
- 35: Label
+ Branch 37
+ 37: Label
+ LoopMerge 39 40 None
+ Branch 41
+ 41: Label
+ BranchConditional 31 38 39
+ 38: Label
+ Branch 40
+ 40: Label
Branch 37
- 37: Label
- Branch 34
- 36: Label
- Return
+ 39: Label
+ 42: 7(fvec4) Undef
+ ReturnValue 42
FunctionEnd