diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out index 0aa38ba8..5c519ee5 100755 --- a/Test/baseResults/hlsl.array.frag.out +++ b/Test/baseResults/hlsl.array.frag.out @@ -7,42 +7,45 @@ gl_FragCoord origin is upper left 0:8 'i' (in int) 0:8 'input' (in 3-element array of 4-component vector of float) 0:? Sequence -0:10 Branch: Return with expression -0:10 add (temp 4-component vector of float) +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) +0:10 add (temp 4-component vector of float) +0:10 direct index (temp 4-component vector of float) +0:10 'a' (global 4-element array of 4-component vector of float) +0:10 Constant: +0:10 1 (const int) +0:10 indirect index (temp 4-component vector of float) +0:10 'a' (global 4-element array of 4-component vector of float) +0:10 'i' (in int) 0:10 direct index (temp 4-component vector of float) -0:10 'a' (global 4-element array of 4-component vector of float) +0:10 'input' (in 3-element array of 4-component vector of float) 0:10 Constant: -0:10 1 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'a' (global 4-element array of 4-component vector of float) -0:10 'i' (in int) -0:10 direct index (temp 4-component vector of float) +0:10 2 (const int) +0:10 indirect index (temp 4-component vector of float) 0:10 'input' (in 3-element array of 4-component vector of float) -0:10 Constant: -0:10 2 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'input' (in 3-element array of 4-component vector of float) -0:10 'i' (in int) -0:10 direct index (temp 4-component vector of float) +0:10 'i' (in int) +0:10 direct index (temp 4-component vector of float) +0:10 'b' (temp 10-element array of 4-component vector of float) +0:10 Constant: +0:10 5 (const int) +0:10 indirect index (temp 4-component vector of float) 0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 Constant: -0:10 5 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 'i' (in int) -0:10 indirect index (temp 4-component vector of float) -0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) -0:10 indirect index (temp structure{temp 7-element array of 4-component vector of float m}) -0:10 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m}) 0:10 'i' (in int) -0:10 Constant: -0:10 0 (const int) -0:10 'i' (in int) +0:10 indirect index (temp 4-component vector of float) +0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) +0:10 indirect index (temp structure{temp 7-element array of 4-component vector of float m}) +0:10 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m}) +0:10 'i' (in int) +0:10 Constant: +0:10 0 (const int) +0:10 'i' (in int) +0:10 Branch: Return 0:? Linker Objects 0:? 'a' (global 4-element array of 4-component vector of float) 0:? 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m}) @@ -59,123 +62,130 @@ gl_FragCoord origin is upper left 0:8 'i' (in int) 0:8 'input' (in 3-element array of 4-component vector of float) 0:? Sequence -0:10 Branch: Return with expression -0:10 add (temp 4-component vector of float) +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) +0:10 add (temp 4-component vector of float) +0:10 direct index (temp 4-component vector of float) +0:10 'a' (global 4-element array of 4-component vector of float) +0:10 Constant: +0:10 1 (const int) +0:10 indirect index (temp 4-component vector of float) +0:10 'a' (global 4-element array of 4-component vector of float) +0:10 'i' (in int) 0:10 direct index (temp 4-component vector of float) -0:10 'a' (global 4-element array of 4-component vector of float) +0:10 'input' (in 3-element array of 4-component vector of float) 0:10 Constant: -0:10 1 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'a' (global 4-element array of 4-component vector of float) -0:10 'i' (in int) -0:10 direct index (temp 4-component vector of float) +0:10 2 (const int) +0:10 indirect index (temp 4-component vector of float) 0:10 'input' (in 3-element array of 4-component vector of float) -0:10 Constant: -0:10 2 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'input' (in 3-element array of 4-component vector of float) -0:10 'i' (in int) -0:10 direct index (temp 4-component vector of float) +0:10 'i' (in int) +0:10 direct index (temp 4-component vector of float) +0:10 'b' (temp 10-element array of 4-component vector of float) +0:10 Constant: +0:10 5 (const int) +0:10 indirect index (temp 4-component vector of float) 0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 Constant: -0:10 5 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 'i' (in int) -0:10 indirect index (temp 4-component vector of float) -0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) -0:10 indirect index (temp structure{temp 7-element array of 4-component vector of float m}) -0:10 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m}) 0:10 'i' (in int) -0:10 Constant: -0:10 0 (const int) -0:10 'i' (in int) +0:10 indirect index (temp 4-component vector of float) +0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) +0:10 indirect index (temp structure{temp 7-element array of 4-component vector of float m}) +0:10 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m}) +0:10 'i' (in int) +0:10 Constant: +0:10 0 (const int) +0:10 'i' (in int) +0:10 Branch: Return 0:? Linker Objects 0:? 'a' (global 4-element array of 4-component vector of float) 0:? 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 64 +// Id's are bound by 66 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 19 27 + EntryPoint Fragment 4 "PixelShaderFunction" 9 21 29 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 12 "a" - Name 19 "i" - Name 27 "input" - Name 40 "b" - Name 52 "" - MemberName 52 0 "m" - Name 56 "s" + Name 9 "@entryPointOutput" + Name 14 "a" + Name 21 "i" + Name 29 "input" + Name 42 "b" + Name 54 "" + MemberName 54 0 "m" + Name 58 "s" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypeInt 32 0 - 9: 8(int) Constant 4 - 10: TypeArray 7(fvec4) 9 - 11: TypePointer Private 10 - 12(a): 11(ptr) Variable Private - 13: TypeInt 32 1 - 14: 13(int) Constant 1 - 15: TypePointer Private 7(fvec4) - 18: TypePointer Input 13(int) - 19(i): 18(ptr) Variable Input - 24: 8(int) Constant 3 - 25: TypeArray 7(fvec4) 24 - 26: TypePointer Input 25 - 27(input): 26(ptr) Variable Input - 28: 13(int) Constant 2 - 29: TypePointer Input 7(fvec4) - 37: 8(int) Constant 10 - 38: TypeArray 7(fvec4) 37 - 39: TypePointer Function 38 - 41: 13(int) Constant 5 - 42: TypePointer Function 7(fvec4) - 50: 8(int) Constant 7 - 51: TypeArray 7(fvec4) 50 - 52: TypeStruct 51 - 53: 8(int) Constant 11 - 54: TypeArray 52(struct) 53 - 55: TypePointer Private 54 - 56(s): 55(ptr) Variable Private - 58: 13(int) Constant 0 + 8: TypePointer Output 7(fvec4) +9(@entryPointOutput): 8(ptr) Variable Output + 10: TypeInt 32 0 + 11: 10(int) Constant 4 + 12: TypeArray 7(fvec4) 11 + 13: TypePointer Private 12 + 14(a): 13(ptr) Variable Private + 15: TypeInt 32 1 + 16: 15(int) Constant 1 + 17: TypePointer Private 7(fvec4) + 20: TypePointer Input 15(int) + 21(i): 20(ptr) Variable Input + 26: 10(int) Constant 3 + 27: TypeArray 7(fvec4) 26 + 28: TypePointer Input 27 + 29(input): 28(ptr) Variable Input + 30: 15(int) Constant 2 + 31: TypePointer Input 7(fvec4) + 39: 10(int) Constant 10 + 40: TypeArray 7(fvec4) 39 + 41: TypePointer Function 40 + 43: 15(int) Constant 5 + 44: TypePointer Function 7(fvec4) + 52: 10(int) Constant 7 + 53: TypeArray 7(fvec4) 52 + 54: TypeStruct 53 + 55: 10(int) Constant 11 + 56: TypeArray 54(struct) 55 + 57: TypePointer Private 56 + 58(s): 57(ptr) Variable Private + 60: 15(int) Constant 0 4(PixelShaderFunction): 2 Function None 3 5: Label - 40(b): 39(ptr) Variable Function - 16: 15(ptr) AccessChain 12(a) 14 - 17: 7(fvec4) Load 16 - 20: 13(int) Load 19(i) - 21: 15(ptr) AccessChain 12(a) 20 - 22: 7(fvec4) Load 21 - 23: 7(fvec4) FAdd 17 22 - 30: 29(ptr) AccessChain 27(input) 28 - 31: 7(fvec4) Load 30 - 32: 7(fvec4) FAdd 23 31 - 33: 13(int) Load 19(i) - 34: 29(ptr) AccessChain 27(input) 33 - 35: 7(fvec4) Load 34 - 36: 7(fvec4) FAdd 32 35 - 43: 42(ptr) AccessChain 40(b) 41 - 44: 7(fvec4) Load 43 - 45: 7(fvec4) FAdd 36 44 - 46: 13(int) Load 19(i) - 47: 42(ptr) AccessChain 40(b) 46 - 48: 7(fvec4) Load 47 - 49: 7(fvec4) FAdd 45 48 - 57: 13(int) Load 19(i) - 59: 13(int) Load 19(i) - 60: 15(ptr) AccessChain 56(s) 57 58 59 - 61: 7(fvec4) Load 60 - 62: 7(fvec4) FAdd 49 61 - ReturnValue 62 + 42(b): 41(ptr) Variable Function + 18: 17(ptr) AccessChain 14(a) 16 + 19: 7(fvec4) Load 18 + 22: 15(int) Load 21(i) + 23: 17(ptr) AccessChain 14(a) 22 + 24: 7(fvec4) Load 23 + 25: 7(fvec4) FAdd 19 24 + 32: 31(ptr) AccessChain 29(input) 30 + 33: 7(fvec4) Load 32 + 34: 7(fvec4) FAdd 25 33 + 35: 15(int) Load 21(i) + 36: 31(ptr) AccessChain 29(input) 35 + 37: 7(fvec4) Load 36 + 38: 7(fvec4) FAdd 34 37 + 45: 44(ptr) AccessChain 42(b) 43 + 46: 7(fvec4) Load 45 + 47: 7(fvec4) FAdd 38 46 + 48: 15(int) Load 21(i) + 49: 44(ptr) AccessChain 42(b) 48 + 50: 7(fvec4) Load 49 + 51: 7(fvec4) FAdd 47 50 + 59: 15(int) Load 21(i) + 61: 15(int) Load 21(i) + 62: 17(ptr) AccessChain 58(s) 59 60 61 + 63: 7(fvec4) Load 62 + 64: 7(fvec4) FAdd 51 63 + Store 9(@entryPointOutput) 64 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.assoc.frag.out b/Test/baseResults/hlsl.assoc.frag.out index 14a747cf..5f617c90 100755 --- a/Test/baseResults/hlsl.assoc.frag.out +++ b/Test/baseResults/hlsl.assoc.frag.out @@ -19,16 +19,19 @@ gl_FragCoord origin is upper left 0:9 move second child to first child (temp 4-component vector of float) 0:9 'a4' (in 4-component vector of float) 0:9 'a5' (in 4-component vector of float) -0:10 Branch: Return with expression -0:10 add (temp 4-component vector of float) +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) -0:10 'a1' (in 4-component vector of float) -0:10 'a2' (in 4-component vector of float) -0:10 'a3' (in 4-component vector of float) -0:10 'a4' (in 4-component vector of float) -0:10 'a5' (in 4-component vector of float) +0:10 add (temp 4-component vector of float) +0:10 'a1' (in 4-component vector of float) +0:10 'a2' (in 4-component vector of float) +0:10 'a3' (in 4-component vector of float) +0:10 'a4' (in 4-component vector of float) +0:10 'a5' (in 4-component vector of float) +0:10 Branch: Return 0:? Linker Objects @@ -55,26 +58,29 @@ gl_FragCoord origin is upper left 0:9 move second child to first child (temp 4-component vector of float) 0:9 'a4' (in 4-component vector of float) 0:9 'a5' (in 4-component vector of float) -0:10 Branch: Return with expression -0:10 add (temp 4-component vector of float) +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) 0:10 add (temp 4-component vector of float) -0:10 'a1' (in 4-component vector of float) -0:10 'a2' (in 4-component vector of float) -0:10 'a3' (in 4-component vector of float) -0:10 'a4' (in 4-component vector of float) -0:10 'a5' (in 4-component vector of float) +0:10 add (temp 4-component vector of float) +0:10 'a1' (in 4-component vector of float) +0:10 'a2' (in 4-component vector of float) +0:10 'a3' (in 4-component vector of float) +0:10 'a4' (in 4-component vector of float) +0:10 'a5' (in 4-component vector of float) +0:10 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 25 +// Id's are bound by 27 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 10 11 12 13 + EntryPoint Fragment 4 "PixelShaderFunction" 9 10 11 12 13 16 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 9 "a1" @@ -82,6 +88,7 @@ gl_FragCoord origin is upper left Name 11 "a3" Name 12 "a4" Name 13 "a5" + Name 16 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -92,6 +99,8 @@ gl_FragCoord origin is upper left 11(a3): 8(ptr) Variable Input 12(a4): 8(ptr) Variable Input 13(a5): 8(ptr) Variable Input + 15: TypePointer Output 7(fvec4) +16(@entryPointOutput): 15(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label 14: 7(fvec4) Load 13(a5) @@ -99,14 +108,15 @@ gl_FragCoord origin is upper left Store 11(a3) 14 Store 10(a2) 14 Store 9(a1) 14 - 15: 7(fvec4) Load 9(a1) - 16: 7(fvec4) Load 10(a2) - 17: 7(fvec4) FAdd 15 16 - 18: 7(fvec4) Load 11(a3) + 17: 7(fvec4) Load 9(a1) + 18: 7(fvec4) Load 10(a2) 19: 7(fvec4) FAdd 17 18 - 20: 7(fvec4) Load 12(a4) + 20: 7(fvec4) Load 11(a3) 21: 7(fvec4) FAdd 19 20 - 22: 7(fvec4) Load 13(a5) + 22: 7(fvec4) Load 12(a4) 23: 7(fvec4) FAdd 21 22 - ReturnValue 23 + 24: 7(fvec4) Load 13(a5) + 25: 7(fvec4) FAdd 23 24 + Store 16(@entryPointOutput) 25 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out index 5faeceb8..a51cb165 100755 --- a/Test/baseResults/hlsl.buffer.frag.out +++ b/Test/baseResults/hlsl.buffer.frag.out @@ -6,28 +6,31 @@ gl_FragCoord origin is upper left 0:26 Function Parameters: 0:26 'input' (in 4-component vector of float) 0:? Sequence -0:27 Branch: Return with expression -0:27 add (temp 4-component vector of float) +0:27 Sequence +0:27 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:27 add (temp 4-component vector of float) 0:27 add (temp 4-component vector of float) 0:27 add (temp 4-component vector of float) -0:27 'input' (in 4-component vector of float) -0:27 v1: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float) -0:27 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1}) +0:27 add (temp 4-component vector of float) +0:27 'input' (in 4-component vector of float) +0:27 v1: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float) +0:27 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1}) +0:27 Constant: +0:27 0 (const uint) +0:27 v2: direct index for structure (layout(column_major std430 ) buffer 4-component vector of float) +0:27 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2}) 0:27 Constant: 0:27 0 (const uint) -0:27 v2: direct index for structure (layout(column_major std430 ) buffer 4-component vector of float) -0:27 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2}) +0:27 v3: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float) +0:27 'anon@2' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v3, layout(column_major std140 offset=20 ) uniform int i3}) 0:27 Constant: 0:27 0 (const uint) -0:27 v3: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float) -0:27 'anon@2' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v3, layout(column_major std140 offset=20 ) uniform int i3}) +0:27 v4: direct index for structure (layout(column_major std430 offset=16 ) buffer 4-component vector of float) +0:27 'anon@3' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v4, layout(column_major std430 offset=48 ) buffer int i4, layout(column_major std430 offset=60 ) buffer float f1, layout(column_major std430 offset=64 ) buffer float f3, layout(column_major std430 offset=68 ) buffer float f4, layout(column_major std430 offset=72 ) buffer float f5, layout(column_major std430 ) buffer float f6, layout(column_major std430 ) buffer float f7}) 0:27 Constant: 0:27 0 (const uint) -0:27 v4: direct index for structure (layout(column_major std430 offset=16 ) buffer 4-component vector of float) -0:27 'anon@3' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v4, layout(column_major std430 offset=48 ) buffer int i4, layout(column_major std430 offset=60 ) buffer float f1, layout(column_major std430 offset=64 ) buffer float f3, layout(column_major std430 offset=68 ) buffer float f4, layout(column_major std430 offset=72 ) buffer float f5, layout(column_major std430 ) buffer float f6, layout(column_major std430 ) buffer float f7}) -0:27 Constant: -0:27 0 (const uint) +0:27 Branch: Return 0:? Linker Objects 0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1}) 0:? 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2}) @@ -45,28 +48,31 @@ gl_FragCoord origin is upper left 0:26 Function Parameters: 0:26 'input' (in 4-component vector of float) 0:? Sequence -0:27 Branch: Return with expression -0:27 add (temp 4-component vector of float) +0:27 Sequence +0:27 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:27 add (temp 4-component vector of float) 0:27 add (temp 4-component vector of float) 0:27 add (temp 4-component vector of float) -0:27 'input' (in 4-component vector of float) -0:27 v1: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float) -0:27 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1}) +0:27 add (temp 4-component vector of float) +0:27 'input' (in 4-component vector of float) +0:27 v1: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float) +0:27 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1}) +0:27 Constant: +0:27 0 (const uint) +0:27 v2: direct index for structure (layout(column_major std430 ) buffer 4-component vector of float) +0:27 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2}) 0:27 Constant: 0:27 0 (const uint) -0:27 v2: direct index for structure (layout(column_major std430 ) buffer 4-component vector of float) -0:27 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2}) +0:27 v3: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float) +0:27 'anon@2' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v3, layout(column_major std140 offset=20 ) uniform int i3}) 0:27 Constant: 0:27 0 (const uint) -0:27 v3: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float) -0:27 'anon@2' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v3, layout(column_major std140 offset=20 ) uniform int i3}) +0:27 v4: direct index for structure (layout(column_major std430 offset=16 ) buffer 4-component vector of float) +0:27 'anon@3' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v4, layout(column_major std430 offset=48 ) buffer int i4, layout(column_major std430 offset=60 ) buffer float f1, layout(column_major std430 offset=64 ) buffer float f3, layout(column_major std430 offset=68 ) buffer float f4, layout(column_major std430 offset=72 ) buffer float f5, layout(column_major std430 ) buffer float f6, layout(column_major std430 ) buffer float f7}) 0:27 Constant: 0:27 0 (const uint) -0:27 v4: direct index for structure (layout(column_major std430 offset=16 ) buffer 4-component vector of float) -0:27 'anon@3' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v4, layout(column_major std430 offset=48 ) buffer int i4, layout(column_major std430 offset=60 ) buffer float f1, layout(column_major std430 offset=64 ) buffer float f3, layout(column_major std430 offset=68 ) buffer float f4, layout(column_major std430 offset=72 ) buffer float f5, layout(column_major std430 ) buffer float f6, layout(column_major std430 ) buffer float f7}) -0:27 Constant: -0:27 0 (const uint) +0:27 Branch: Return 0:? Linker Objects 0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1}) 0:? 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2}) @@ -75,90 +81,94 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 41 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 + EntryPoint Fragment 4 "PixelShaderFunction" 9 11 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "input" - Name 11 "" - MemberName 11 0 "v1" + Name 9 "@entryPointOutput" + Name 11 "input" Name 13 "" - Name 20 "" - MemberName 20 0 "v2" + MemberName 13 0 "v1" + Name 15 "" Name 22 "" - Name 26 "" - MemberName 26 0 "v3" - MemberName 26 1 "i3" + MemberName 22 0 "v2" + Name 24 "" Name 28 "" - Name 32 "" - MemberName 32 0 "v4" - MemberName 32 1 "i4" - MemberName 32 2 "f1" - MemberName 32 3 "f3" - MemberName 32 4 "f4" - MemberName 32 5 "f5" - MemberName 32 6 "f6" - MemberName 32 7 "f7" + MemberName 28 0 "v3" + MemberName 28 1 "i3" + Name 30 "" Name 34 "" - MemberDecorate 11 0 Offset 0 - Decorate 11 Block - Decorate 13 DescriptorSet 0 - MemberDecorate 20 0 Offset 0 - Decorate 20 BufferBlock - Decorate 22 DescriptorSet 0 - MemberDecorate 26 0 Offset 0 - MemberDecorate 26 1 Offset 20 - Decorate 26 Block - Decorate 28 DescriptorSet 0 - MemberDecorate 32 0 Offset 16 - MemberDecorate 32 1 Offset 48 - MemberDecorate 32 2 Offset 60 - MemberDecorate 32 3 Offset 64 - MemberDecorate 32 4 Offset 68 - MemberDecorate 32 5 Offset 72 - MemberDecorate 32 6 Offset 76 - MemberDecorate 32 7 Offset 80 - Decorate 32 BufferBlock - Decorate 34 DescriptorSet 0 + MemberName 34 0 "v4" + MemberName 34 1 "i4" + MemberName 34 2 "f1" + MemberName 34 3 "f3" + MemberName 34 4 "f4" + MemberName 34 5 "f5" + MemberName 34 6 "f6" + MemberName 34 7 "f7" + Name 36 "" + MemberDecorate 13 0 Offset 0 + Decorate 13 Block + Decorate 15 DescriptorSet 0 + MemberDecorate 22 0 Offset 0 + Decorate 22 BufferBlock + Decorate 24 DescriptorSet 0 + MemberDecorate 28 0 Offset 0 + MemberDecorate 28 1 Offset 20 + Decorate 28 Block + Decorate 30 DescriptorSet 0 + MemberDecorate 34 0 Offset 16 + MemberDecorate 34 1 Offset 48 + MemberDecorate 34 2 Offset 60 + MemberDecorate 34 3 Offset 64 + MemberDecorate 34 4 Offset 68 + MemberDecorate 34 5 Offset 72 + MemberDecorate 34 6 Offset 76 + MemberDecorate 34 7 Offset 80 + Decorate 34 BufferBlock + Decorate 36 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(input): 8(ptr) Variable Input - 11: TypeStruct 7(fvec4) - 12: TypePointer Uniform 11(struct) - 13: 12(ptr) Variable Uniform - 14: TypeInt 32 1 - 15: 14(int) Constant 0 - 16: TypePointer Uniform 7(fvec4) - 20: TypeStruct 7(fvec4) - 21: TypePointer Uniform 20(struct) - 22: 21(ptr) Variable Uniform - 26: TypeStruct 7(fvec4) 14(int) - 27: TypePointer Uniform 26(struct) - 28: 27(ptr) Variable Uniform - 32: TypeStruct 7(fvec4) 14(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) - 33: TypePointer Uniform 32(struct) - 34: 33(ptr) Variable Uniform + 8: TypePointer Output 7(fvec4) +9(@entryPointOutput): 8(ptr) Variable Output + 10: TypePointer Input 7(fvec4) + 11(input): 10(ptr) Variable Input + 13: TypeStruct 7(fvec4) + 14: TypePointer Uniform 13(struct) + 15: 14(ptr) Variable Uniform + 16: TypeInt 32 1 + 17: 16(int) Constant 0 + 18: TypePointer Uniform 7(fvec4) + 22: TypeStruct 7(fvec4) + 23: TypePointer Uniform 22(struct) + 24: 23(ptr) Variable Uniform + 28: TypeStruct 7(fvec4) 16(int) + 29: TypePointer Uniform 28(struct) + 30: 29(ptr) Variable Uniform + 34: TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) + 35: TypePointer Uniform 34(struct) + 36: 35(ptr) Variable Uniform 4(PixelShaderFunction): 2 Function None 3 5: Label - 10: 7(fvec4) Load 9(input) - 17: 16(ptr) AccessChain 13 15 - 18: 7(fvec4) Load 17 - 19: 7(fvec4) FAdd 10 18 - 23: 16(ptr) AccessChain 22 15 - 24: 7(fvec4) Load 23 - 25: 7(fvec4) FAdd 19 24 - 29: 16(ptr) AccessChain 28 15 - 30: 7(fvec4) Load 29 - 31: 7(fvec4) FAdd 25 30 - 35: 16(ptr) AccessChain 34 15 - 36: 7(fvec4) Load 35 - 37: 7(fvec4) FAdd 31 36 - ReturnValue 37 + 12: 7(fvec4) Load 11(input) + 19: 18(ptr) AccessChain 15 17 + 20: 7(fvec4) Load 19 + 21: 7(fvec4) FAdd 12 20 + 25: 18(ptr) AccessChain 24 17 + 26: 7(fvec4) Load 25 + 27: 7(fvec4) FAdd 21 26 + 31: 18(ptr) AccessChain 30 17 + 32: 7(fvec4) Load 31 + 33: 7(fvec4) FAdd 27 32 + 37: 18(ptr) AccessChain 36 17 + 38: 7(fvec4) Load 37 + 39: 7(fvec4) FAdd 33 38 + Store 9(@entryPointOutput) 39 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out index 0a616db3..0ce3e645 100644 --- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -139,8 +139,11 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Branch: Return with expression -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Sequence +0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -298,8 +301,11 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Branch: Return with expression -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Sequence +0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -315,7 +321,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 143 +// Id's are bound by 145 Capability Shader Capability Sampled1D @@ -323,7 +329,7 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 141 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "txval10" @@ -349,7 +355,8 @@ gl_FragCoord origin is upper left MemberName 131(PS_OUTPUT) 0 "Color" MemberName 131(PS_OUTPUT) 1 "Depth" Name 133 "psout" - Name 142 "g_tTex1df4" + Name 141 "@entryPointOutput" + Name 144 "g_tTex1df4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 11(g_tTex1df4a) Binding 1 Decorate 15(g_sSamp) DescriptorSet 0 @@ -363,8 +370,8 @@ gl_FragCoord origin is upper left Decorate 106(g_tTexcdi4a) DescriptorSet 0 Decorate 118(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 131(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 142(g_tTex1df4) DescriptorSet 0 - Decorate 142(g_tTex1df4) Binding 0 + Decorate 144(g_tTex1df4) DescriptorSet 0 + Decorate 144(g_tTex1df4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -435,7 +442,9 @@ gl_FragCoord origin is upper left 135: 130(fvec4) ConstantComposite 134 134 134 134 136: TypePointer Function 130(fvec4) 138: 23(int) Constant 1 - 142(g_tTex1df4): 10(ptr) Variable UniformConstant + 140: TypePointer Output 131(PS_OUTPUT) +141(@entryPointOutput): 140(ptr) Variable Output + 144(g_tTex1df4): 10(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(txval10): 7(ptr) Variable Function @@ -515,6 +524,7 @@ gl_FragCoord origin is upper left Store 137 135 139: 7(ptr) AccessChain 133(psout) 138 Store 139 134 - 140:131(PS_OUTPUT) Load 133(psout) - ReturnValue 140 + 142:131(PS_OUTPUT) Load 133(psout) + Store 141(@entryPointOutput) 142 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index e2dc1db7..8dbdc57b 100644 --- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -151,8 +151,11 @@ ERROR: node is still EOpNull! 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Branch: Return with expression -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Sequence +0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -310,8 +313,11 @@ ERROR: node is still EOpNull! 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Branch: Return with expression -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Sequence +0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) diff --git a/Test/baseResults/hlsl.cast.frag.out b/Test/baseResults/hlsl.cast.frag.out index 04ac605c..4710ba42 100755 --- a/Test/baseResults/hlsl.cast.frag.out +++ b/Test/baseResults/hlsl.cast.frag.out @@ -6,19 +6,22 @@ gl_FragCoord origin is upper left 0:2 Function Parameters: 0:2 'input' (in 4-component vector of float) 0:? Sequence -0:3 Branch: Return with expression -0:3 add (temp 4-component vector of float) +0:3 Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:3 add (temp 4-component vector of float) -0:3 Construct vec4 (temp 4-component vector of float) -0:3 'input' (in 4-component vector of float) -0:3 Convert int to float (temp 4-component vector of float) -0:3 Convert float to int (temp 4-component vector of int) +0:3 add (temp 4-component vector of float) +0:3 Construct vec4 (temp 4-component vector of float) 0:3 'input' (in 4-component vector of float) -0:3 Constant: -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 +0:3 Convert int to float (temp 4-component vector of float) +0:3 Convert float to int (temp 4-component vector of int) +0:3 'input' (in 4-component vector of float) +0:3 Constant: +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:3 Branch: Return 0:? Linker Objects @@ -32,54 +35,61 @@ gl_FragCoord origin is upper left 0:2 Function Parameters: 0:2 'input' (in 4-component vector of float) 0:? Sequence -0:3 Branch: Return with expression -0:3 add (temp 4-component vector of float) +0:3 Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:3 add (temp 4-component vector of float) -0:3 Construct vec4 (temp 4-component vector of float) -0:3 'input' (in 4-component vector of float) -0:3 Convert int to float (temp 4-component vector of float) -0:3 Convert float to int (temp 4-component vector of int) +0:3 add (temp 4-component vector of float) +0:3 Construct vec4 (temp 4-component vector of float) 0:3 'input' (in 4-component vector of float) -0:3 Constant: -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 +0:3 Convert int to float (temp 4-component vector of float) +0:3 Convert float to int (temp 4-component vector of int) +0:3 'input' (in 4-component vector of float) +0:3 Constant: +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:3 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 26 +// Id's are bound by 28 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 + EntryPoint Fragment 4 "PixelShaderFunction" 9 11 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "input" + Name 9 "@entryPointOutput" + Name 11 "input" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(input): 8(ptr) Variable Input - 17: TypeInt 32 1 - 18: TypeVector 17(int) 4 - 22: 6(float) Constant 1067014160 - 23: 7(fvec4) ConstantComposite 22 22 22 22 + 8: TypePointer Output 7(fvec4) +9(@entryPointOutput): 8(ptr) Variable Output + 10: TypePointer Input 7(fvec4) + 11(input): 10(ptr) Variable Input + 19: TypeInt 32 1 + 20: TypeVector 19(int) 4 + 24: 6(float) Constant 1067014160 + 25: 7(fvec4) ConstantComposite 24 24 24 24 4(PixelShaderFunction): 2 Function None 3 5: Label - 10: 7(fvec4) Load 9(input) - 11: 6(float) CompositeExtract 10 0 - 12: 6(float) CompositeExtract 10 1 - 13: 6(float) CompositeExtract 10 2 - 14: 6(float) CompositeExtract 10 3 - 15: 7(fvec4) CompositeConstruct 11 12 13 14 - 16: 7(fvec4) Load 9(input) - 19: 18(ivec4) ConvertFToS 16 - 20: 7(fvec4) ConvertSToF 19 - 21: 7(fvec4) FAdd 15 20 - 24: 7(fvec4) FAdd 21 23 - ReturnValue 24 + 12: 7(fvec4) Load 11(input) + 13: 6(float) CompositeExtract 12 0 + 14: 6(float) CompositeExtract 12 1 + 15: 6(float) CompositeExtract 12 2 + 16: 6(float) CompositeExtract 12 3 + 17: 7(fvec4) CompositeConstruct 13 14 15 16 + 18: 7(fvec4) Load 11(input) + 21: 20(ivec4) ConvertFToS 18 + 22: 7(fvec4) ConvertSToF 21 + 23: 7(fvec4) FAdd 17 22 + 26: 7(fvec4) FAdd 23 25 + Store 9(@entryPointOutput) 26 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out index ff096784..ce354f17 100755 --- a/Test/baseResults/hlsl.conditional.frag.out +++ b/Test/baseResults/hlsl.conditional.frag.out @@ -98,13 +98,16 @@ gl_FragCoord origin is upper left 0:14 Convert int to float (temp float) 0:14 'd' (temp int) 0:14 'input' (in 4-component vector of float) -0:15 Branch: Return with expression -0:15 add (temp 4-component vector of float) -0:15 vector-scale (temp 4-component vector of float) -0:15 Convert int to float (temp float) -0:15 'e' (temp int) -0:15 'ret' (temp 4-component vector of float) -0:15 'f' (temp 4-component vector of float) +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:15 add (temp 4-component vector of float) +0:15 vector-scale (temp 4-component vector of float) +0:15 Convert int to float (temp float) +0:15 'e' (temp int) +0:15 'ret' (temp 4-component vector of float) +0:15 'f' (temp 4-component vector of float) +0:15 Branch: Return 0:? Linker Objects @@ -210,23 +213,26 @@ gl_FragCoord origin is upper left 0:14 Convert int to float (temp float) 0:14 'd' (temp int) 0:14 'input' (in 4-component vector of float) -0:15 Branch: Return with expression -0:15 add (temp 4-component vector of float) -0:15 vector-scale (temp 4-component vector of float) -0:15 Convert int to float (temp float) -0:15 'e' (temp int) -0:15 'ret' (temp 4-component vector of float) -0:15 'f' (temp 4-component vector of float) +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:15 add (temp 4-component vector of float) +0:15 vector-scale (temp 4-component vector of float) +0:15 Convert int to float (temp float) +0:15 'e' (temp int) +0:15 'ret' (temp 4-component vector of float) +0:15 'f' (temp 4-component vector of float) +0:15 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 89 +// Id's are bound by 91 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 22 + EntryPoint Fragment 4 "PixelShaderFunction" 22 83 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 8 "a" @@ -237,6 +243,7 @@ gl_FragCoord origin is upper left Name 22 "input" Name 40 "e" Name 57 "f" + Name 83 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -257,6 +264,8 @@ gl_FragCoord origin is upper left 64: 59(int) Constant 1 65: TypePointer Input 15(float) 68: TypeBool + 82: TypePointer Output 16(fvec4) +83(@entryPointOutput): 82(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label 8(a): 7(ptr) Variable Function @@ -346,11 +355,12 @@ gl_FragCoord origin is upper left 71: Label 81: 16(fvec4) Load 58 Store 57(f) 81 - 82: 6(int) Load 40(e) - 83: 15(float) ConvertSToF 82 - 84: 16(fvec4) Load 18(ret) - 85: 16(fvec4) VectorTimesScalar 84 83 - 86: 16(fvec4) Load 57(f) - 87: 16(fvec4) FAdd 85 86 - ReturnValue 87 + 84: 6(int) Load 40(e) + 85: 15(float) ConvertSToF 84 + 86: 16(fvec4) Load 18(ret) + 87: 16(fvec4) VectorTimesScalar 86 85 + 88: 16(fvec4) Load 57(f) + 89: 16(fvec4) FAdd 87 88 + Store 83(@entryPointOutput) 89 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.constructexpr.frag.out b/Test/baseResults/hlsl.constructexpr.frag.out index 0dcfca62..0dab6a80 100644 --- a/Test/baseResults/hlsl.constructexpr.frag.out +++ b/Test/baseResults/hlsl.constructexpr.frag.out @@ -34,8 +34,11 @@ gl_FragCoord origin is upper left 0:15 1.000000 0:15 1.000000 0:15 1.000000 -0:16 Branch: Return with expression -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 Sequence +0:16 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) +0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 Branch: Return 0:? Linker Objects @@ -77,23 +80,27 @@ gl_FragCoord origin is upper left 0:15 1.000000 0:15 1.000000 0:15 1.000000 -0:16 Branch: Return with expression -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 Sequence +0:16 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) +0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 32 +// Id's are bound by 34 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 31 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 22 "PS_OUTPUT" MemberName 22(PS_OUTPUT) 0 "color" Name 24 "ps_output" + Name 31 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -118,11 +125,14 @@ gl_FragCoord origin is upper left 26: 13(float) Constant 1065353216 27: 21(fvec4) ConstantComposite 26 26 26 26 28: TypePointer Function 21(fvec4) + 30: TypePointer Output 22(PS_OUTPUT) +31(@entryPointOutput): 30(ptr) Variable Output 4(main): 2 Function None 3 5: Label 24(ps_output): 23(ptr) Variable Function 29: 28(ptr) AccessChain 24(ps_output) 25 Store 29 27 - 30:22(PS_OUTPUT) Load 24(ps_output) - ReturnValue 30 + 32:22(PS_OUTPUT) Load 24(ps_output) + Store 31(@entryPointOutput) 32 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.doLoop.frag.out b/Test/baseResults/hlsl.doLoop.frag.out index 9bef3328..3fdd46f0 100755 --- a/Test/baseResults/hlsl.doLoop.frag.out +++ b/Test/baseResults/hlsl.doLoop.frag.out @@ -22,8 +22,11 @@ gl_FragCoord origin is upper left 0:5 'input' (in 4-component vector of float) 0:5 'input' (in 4-component vector of float) 0:5 Loop Body -0:5 Branch: Return with expression -0:5 'input' (in 4-component vector of float) +0:5 Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:5 'input' (in 4-component vector of float) +0:5 Branch: Return 0:? Linker Objects @@ -53,30 +56,36 @@ gl_FragCoord origin is upper left 0:5 'input' (in 4-component vector of float) 0:5 'input' (in 4-component vector of float) 0:5 Loop Body -0:5 Branch: Return with expression -0:5 'input' (in 4-component vector of float) +0:5 Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:5 'input' (in 4-component vector of float) +0:5 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 31 +// Id's are bound by 33 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 23 + EntryPoint Fragment 4 "PixelShaderFunction" 23 25 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 23 "input" + Name 23 "@entryPointOutput" + Name 25 "input" 2: TypeVoid 3: TypeFunction 2 10: TypeBool 11: 10(bool) ConstantFalse 20: TypeFloat 32 21: TypeVector 20(float) 4 - 22: TypePointer Input 21(fvec4) - 23(input): 22(ptr) Variable Input - 28: TypeVector 10(bool) 4 + 22: TypePointer Output 21(fvec4) +23(@entryPointOutput): 22(ptr) Variable Output + 24: TypePointer Input 21(fvec4) + 25(input): 24(ptr) Variable Input + 30: TypeVector 10(bool) 4 4(PixelShaderFunction): 2 Function None 3 5: Label Branch 6 @@ -102,14 +111,15 @@ gl_FragCoord origin is upper left LoopMerge 18 19 None Branch 17 17: Label - 24: 21(fvec4) Load 23(input) - ReturnValue 24 + 26: 21(fvec4) Load 25(input) + Store 23(@entryPointOutput) 26 + Return 19: Label - 26: 21(fvec4) Load 23(input) - 27: 21(fvec4) Load 23(input) - 29: 28(bvec4) FOrdEqual 26 27 - 30: 10(bool) All 29 - BranchConditional 30 16 18 + 28: 21(fvec4) Load 25(input) + 29: 21(fvec4) Load 25(input) + 31: 30(bvec4) FOrdEqual 28 29 + 32: 10(bool) All 31 + BranchConditional 32 16 18 18: Label Return FunctionEnd diff --git a/Test/baseResults/hlsl.entry-out.frag.out b/Test/baseResults/hlsl.entry-out.frag.out new file mode 100755 index 00000000..96f5b78b --- /dev/null +++ b/Test/baseResults/hlsl.entry-out.frag.out @@ -0,0 +1,127 @@ +hlsl.entry-out.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21; (global 4-component vector of float) +0:7 Function Parameters: +0:7 'input' (in 4-component vector of float) +0:7 'out1' (out 4-component vector of float) +0:7 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:? Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:8 'out1' (out 4-component vector of float) +0:8 'input' (in 4-component vector of float) +0:9 move second child to first child (temp 2-component vector of float) +0:9 v: direct index for structure (temp 2-component vector of float) +0:9 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:9 Constant: +0:9 0 (const int) +0:9 Constant: +0:9 2.000000 +0:9 2.000000 +0:10 move second child to first child (temp 2-component vector of int) +0:10 i: direct index for structure (temp 2-component vector of int) +0:10 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:10 Constant: +0:10 1 (const int) +0:10 Constant: +0:10 3 (const int) +0:10 3 (const int) +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:11 'out1' (out 4-component vector of float) +0:11 Branch: Return +0:? Linker Objects + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21; (global 4-component vector of float) +0:7 Function Parameters: +0:7 'input' (in 4-component vector of float) +0:7 'out1' (out 4-component vector of float) +0:7 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:? Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:8 'out1' (out 4-component vector of float) +0:8 'input' (in 4-component vector of float) +0:9 move second child to first child (temp 2-component vector of float) +0:9 v: direct index for structure (temp 2-component vector of float) +0:9 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:9 Constant: +0:9 0 (const int) +0:9 Constant: +0:9 2.000000 +0:9 2.000000 +0:10 move second child to first child (temp 2-component vector of int) +0:10 i: direct index for structure (temp 2-component vector of int) +0:10 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:10 Constant: +0:10 1 (const int) +0:10 Constant: +0:10 3 (const int) +0:10 3 (const int) +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:11 'out1' (out 4-component vector of float) +0:11 Branch: Return +0:? Linker Objects + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 32 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "PixelShaderFunction" 9 11 18 29 + ExecutionMode 4 OriginUpperLeft + Name 4 "PixelShaderFunction" + Name 9 "out1" + Name 11 "input" + Name 16 "OutParam" + MemberName 16(OutParam) 0 "v" + MemberName 16(OutParam) 1 "i" + Name 18 "out2" + Name 29 "@entryPointOutput" + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Output 7(fvec4) + 9(out1): 8(ptr) Variable Output + 10: TypePointer Input 7(fvec4) + 11(input): 10(ptr) Variable Input + 13: TypeVector 6(float) 2 + 14: TypeInt 32 1 + 15: TypeVector 14(int) 2 + 16(OutParam): TypeStruct 13(fvec2) 15(ivec2) + 17: TypePointer Output 16(OutParam) + 18(out2): 17(ptr) Variable Output + 19: 14(int) Constant 0 + 20: 6(float) Constant 1073741824 + 21: 13(fvec2) ConstantComposite 20 20 + 22: TypePointer Output 13(fvec2) + 24: 14(int) Constant 1 + 25: 14(int) Constant 3 + 26: 15(ivec2) ConstantComposite 25 25 + 27: TypePointer Output 15(ivec2) +29(@entryPointOutput): 8(ptr) Variable Output +4(PixelShaderFunction): 2 Function None 3 + 5: Label + 12: 7(fvec4) Load 11(input) + Store 9(out1) 12 + 23: 22(ptr) AccessChain 18(out2) 19 + Store 23 21 + 28: 27(ptr) AccessChain 18(out2) 24 + Store 28 26 + 30: 7(fvec4) Load 9(out1) + Store 29(@entryPointOutput) 30 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.forLoop.frag.out b/Test/baseResults/hlsl.forLoop.frag.out index 45d2e996..3fd9a973 100755 --- a/Test/baseResults/hlsl.forLoop.frag.out +++ b/Test/baseResults/hlsl.forLoop.frag.out @@ -31,9 +31,12 @@ gl_FragCoord origin is upper left 0:6 'input' (in 4-component vector of float) 0:6 Loop Body 0:? Sequence -0:6 Branch: Return with expression -0:6 Negate value (temp 4-component vector of float) -0:6 'input' (in 4-component vector of float) +0:6 Sequence +0:6 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:6 Negate value (temp 4-component vector of float) +0:6 'input' (in 4-component vector of float) +0:6 Branch: Return 0:7 Sequence 0:7 Pre-Decrement (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) @@ -44,9 +47,12 @@ gl_FragCoord origin is upper left 0:7 'input' (in 4-component vector of float) 0:7 Loop Body 0:? Sequence -0:7 Branch: Return with expression -0:7 Negate value (temp 4-component vector of float) -0:7 'input' (in 4-component vector of float) +0:7 Sequence +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:7 Negate value (temp 4-component vector of float) +0:7 'input' (in 4-component vector of float) +0:7 Branch: Return 0:7 Loop Terminal Expression 0:7 add second child into first child (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) @@ -145,9 +151,12 @@ gl_FragCoord origin is upper left 0:6 'input' (in 4-component vector of float) 0:6 Loop Body 0:? Sequence -0:6 Branch: Return with expression -0:6 Negate value (temp 4-component vector of float) -0:6 'input' (in 4-component vector of float) +0:6 Sequence +0:6 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:6 Negate value (temp 4-component vector of float) +0:6 'input' (in 4-component vector of float) +0:6 Branch: Return 0:7 Sequence 0:7 Pre-Decrement (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) @@ -158,9 +167,12 @@ gl_FragCoord origin is upper left 0:7 'input' (in 4-component vector of float) 0:7 Loop Body 0:? Sequence -0:7 Branch: Return with expression -0:7 Negate value (temp 4-component vector of float) -0:7 'input' (in 4-component vector of float) +0:7 Sequence +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:7 Negate value (temp 4-component vector of float) +0:7 'input' (in 4-component vector of float) +0:7 Branch: Return 0:7 Loop Terminal Expression 0:7 add second child into first child (temp 4-component vector of float) 0:7 'input' (in 4-component vector of float) @@ -225,17 +237,18 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 112 +// Id's are bound by 114 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 13 + EntryPoint Fragment 4 "PixelShaderFunction" 13 43 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 13 "input" - Name 89 "ii" - Name 109 "ii" + Name 43 "@entryPointOutput" + Name 91 "ii" + Name 111 "ii" 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 @@ -245,21 +258,23 @@ gl_FragCoord origin is upper left 15: 10(float) Constant 1065353216 29: TypeBool 30: TypeVector 29(bool) 4 - 60: 10(float) Constant 1073741824 - 68: TypeInt 32 0 - 69: 68(int) Constant 0 - 70: TypePointer Input 10(float) - 87: TypeInt 32 1 - 88: TypePointer Function 87(int) - 90: 87(int) Constant 4294967295 - 97: 87(int) Constant 3 - 100: 87(int) Constant 2 - 106: 87(int) Constant 1 - 108: TypePointer Function 10(float) + 42: TypePointer Output 11(fvec4) +43(@entryPointOutput): 42(ptr) Variable Output + 62: 10(float) Constant 1073741824 + 70: TypeInt 32 0 + 71: 70(int) Constant 0 + 72: TypePointer Input 10(float) + 89: TypeInt 32 1 + 90: TypePointer Function 89(int) + 92: 89(int) Constant 4294967295 + 99: 89(int) Constant 3 + 102: 89(int) Constant 2 + 108: 89(int) Constant 1 + 110: TypePointer Function 10(float) 4(PixelShaderFunction): 2 Function None 3 5: Label - 89(ii): 88(ptr) Variable Function - 109(ii): 108(ptr) Variable Function + 91(ii): 90(ptr) Variable Function + 111(ii): 110(ptr) Variable Function Branch 6 6: Label LoopMerge 8 9 None @@ -308,97 +323,99 @@ gl_FragCoord origin is upper left 41: 29(bool) Any 40 BranchConditional 41 34 35 34: Label - 42: 11(fvec4) Load 13(input) - 43: 11(fvec4) FNegate 42 - ReturnValue 43 + 44: 11(fvec4) Load 13(input) + 45: 11(fvec4) FNegate 44 + Store 43(@entryPointOutput) 45 + Return 36: Label Branch 33 35: Label - 45: 11(fvec4) Load 13(input) - 46: 11(fvec4) CompositeConstruct 15 15 15 15 - 47: 11(fvec4) FSub 45 46 - Store 13(input) 47 - Branch 48 - 48: Label - LoopMerge 50 51 None - Branch 52 - 52: Label - 53: 11(fvec4) Load 13(input) - 54: 11(fvec4) Load 13(input) - 55: 30(bvec4) FOrdNotEqual 53 54 - 56: 29(bool) Any 55 - BranchConditional 56 49 50 - 49: Label - 57: 11(fvec4) Load 13(input) - 58: 11(fvec4) FNegate 57 - ReturnValue 58 - 51: Label - 61: 11(fvec4) Load 13(input) - 62: 11(fvec4) CompositeConstruct 60 60 60 60 - 63: 11(fvec4) FAdd 61 62 - Store 13(input) 63 - Branch 48 + 47: 11(fvec4) Load 13(input) + 48: 11(fvec4) CompositeConstruct 15 15 15 15 + 49: 11(fvec4) FSub 47 48 + Store 13(input) 49 + Branch 50 50: Label - Branch 64 - 64: Label - LoopMerge 66 67 None - Branch 65 - 65: Label - 71: 70(ptr) AccessChain 13(input) 69 - 72: 10(float) Load 71 - 73: 29(bool) FOrdGreaterThan 72 60 - SelectionMerge 75 None - BranchConditional 73 74 75 - 74: Label - Branch 66 - 75: Label + LoopMerge 52 53 None + Branch 54 + 54: Label + 55: 11(fvec4) Load 13(input) + 56: 11(fvec4) Load 13(input) + 57: 30(bvec4) FOrdNotEqual 55 56 + 58: 29(bool) Any 57 + BranchConditional 58 51 52 + 51: Label + 59: 11(fvec4) Load 13(input) + 60: 11(fvec4) FNegate 59 + Store 43(@entryPointOutput) 60 + Return + 53: Label + 63: 11(fvec4) Load 13(input) + 64: 11(fvec4) CompositeConstruct 62 62 62 62 + 65: 11(fvec4) FAdd 63 64 + Store 13(input) 65 + Branch 50 + 52: Label + Branch 66 + 66: Label + LoopMerge 68 69 None Branch 67 67: Label - Branch 64 - 66: Label - Branch 77 + 73: 72(ptr) AccessChain 13(input) 71 + 74: 10(float) Load 73 + 75: 29(bool) FOrdGreaterThan 74 62 + SelectionMerge 77 None + BranchConditional 75 76 77 + 76: Label + Branch 68 77: Label - LoopMerge 79 80 None - Branch 78 - 78: Label - 81: 70(ptr) AccessChain 13(input) 69 - 82: 10(float) Load 81 - 83: 29(bool) FOrdGreaterThan 82 60 - SelectionMerge 85 None - BranchConditional 83 84 85 - 84: Label - Branch 80 - 85: Label + Branch 69 + 69: Label + Branch 66 + 68: Label + Branch 79 + 79: Label + LoopMerge 81 82 None Branch 80 80: Label - Branch 77 - 79: Label - Store 89(ii) 90 - Branch 91 - 91: Label - LoopMerge 93 94 None - Branch 95 - 95: Label - 96: 87(int) Load 89(ii) - 98: 29(bool) SLessThan 96 97 - BranchConditional 98 92 93 - 92: Label - 99: 87(int) Load 89(ii) - 101: 29(bool) IEqual 99 100 - SelectionMerge 103 None - BranchConditional 101 102 103 - 102: Label - Branch 94 - 103: Label - Branch 94 - 94: Label - 105: 87(int) Load 89(ii) - 107: 87(int) IAdd 105 106 - Store 89(ii) 107 - Branch 91 + 83: 72(ptr) AccessChain 13(input) 71 + 84: 10(float) Load 83 + 85: 29(bool) FOrdGreaterThan 84 62 + SelectionMerge 87 None + BranchConditional 85 86 87 + 86: Label + Branch 82 + 87: Label + Branch 82 + 82: Label + Branch 79 + 81: Label + Store 91(ii) 92 + Branch 93 93: Label - 110: 10(float) Load 109(ii) - 111: 10(float) FSub 110 15 - Store 109(ii) 111 + LoopMerge 95 96 None + Branch 97 + 97: Label + 98: 89(int) Load 91(ii) + 100: 29(bool) SLessThan 98 99 + BranchConditional 100 94 95 + 94: Label + 101: 89(int) Load 91(ii) + 103: 29(bool) IEqual 101 102 + SelectionMerge 105 None + BranchConditional 103 104 105 + 104: Label + Branch 96 + 105: Label + Branch 96 + 96: Label + 107: 89(int) Load 91(ii) + 109: 89(int) IAdd 107 108 + Store 91(ii) 109 + Branch 93 + 95: Label + 112: 10(float) Load 111(ii) + 113: 10(float) FSub 112 15 + Store 111(ii) 113 Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out index 0cac13aa..58f7a77c 100644 --- a/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -91,8 +91,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -202,8 +205,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -219,14 +225,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 110 +// Id's are bound by 112 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 99 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval20" @@ -246,10 +252,11 @@ gl_FragCoord origin is upper left MemberName 90(PS_OUTPUT) 0 "Color" MemberName 90(PS_OUTPUT) 1 "Depth" Name 92 "psout" - Name 102 "g_tTex1df4a" - Name 103 "g_tTex1df4" - Name 106 "g_tTex1di4a" - Name 109 "g_tTex1du4a" + Name 99 "@entryPointOutput" + Name 104 "g_tTex1df4a" + Name 105 "g_tTex1df4" + Name 108 "g_tTex1di4a" + Name 111 "g_tTex1du4a" Decorate 12(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -259,12 +266,12 @@ gl_FragCoord origin is upper left Decorate 70(g_tTexcdi4a) DescriptorSet 0 Decorate 80(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 90(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 102(g_tTex1df4a) DescriptorSet 0 - Decorate 102(g_tTex1df4a) Binding 1 - Decorate 103(g_tTex1df4) DescriptorSet 0 - Decorate 103(g_tTex1df4) Binding 0 - Decorate 106(g_tTex1di4a) DescriptorSet 0 - Decorate 109(g_tTex1du4a) DescriptorSet 0 + Decorate 104(g_tTex1df4a) DescriptorSet 0 + Decorate 104(g_tTex1df4a) Binding 1 + Decorate 105(g_tTex1df4) DescriptorSet 0 + Decorate 105(g_tTex1df4) Binding 0 + Decorate 108(g_tTex1di4a) DescriptorSet 0 + Decorate 111(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -326,16 +333,18 @@ gl_FragCoord origin is upper left 93: 7(fvec4) ConstantComposite 87 87 87 87 95: 25(int) Constant 1 96: TypePointer Function 6(float) - 100: TypeImage 6(float) 1D array sampled format:Unknown - 101: TypePointer UniformConstant 100 -102(g_tTex1df4a): 101(ptr) Variable UniformConstant - 103(g_tTex1df4): 101(ptr) Variable UniformConstant - 104: TypeImage 25(int) 1D array sampled format:Unknown - 105: TypePointer UniformConstant 104 -106(g_tTex1di4a): 105(ptr) Variable UniformConstant - 107: TypeImage 42(int) 1D array sampled format:Unknown - 108: TypePointer UniformConstant 107 -109(g_tTex1du4a): 108(ptr) Variable UniformConstant + 98: TypePointer Output 90(PS_OUTPUT) +99(@entryPointOutput): 98(ptr) Variable Output + 102: TypeImage 6(float) 1D array sampled format:Unknown + 103: TypePointer UniformConstant 102 +104(g_tTex1df4a): 103(ptr) Variable UniformConstant + 105(g_tTex1df4): 103(ptr) Variable UniformConstant + 106: TypeImage 25(int) 1D array sampled format:Unknown + 107: TypePointer UniformConstant 106 +108(g_tTex1di4a): 107(ptr) Variable UniformConstant + 109: TypeImage 42(int) 1D array sampled format:Unknown + 110: TypePointer UniformConstant 109 +111(g_tTex1du4a): 110(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -379,6 +388,7 @@ gl_FragCoord origin is upper left Store 94 93 97: 96(ptr) AccessChain 92(psout) 95 Store 97 87 - 98:90(PS_OUTPUT) Load 92(psout) - ReturnValue 98 + 100:90(PS_OUTPUT) Load 92(psout) + Store 99(@entryPointOutput) 100 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out index fc90646c..c75a0598 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -85,8 +85,11 @@ gl_FragCoord origin is upper left 0:45 1 (const int) 0:45 Constant: 0:45 1.000000 -0:47 Branch: Return with expression -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 Sequence +0:47 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -194,8 +197,11 @@ gl_FragCoord origin is upper left 0:45 1 (const int) 0:45 Constant: 0:45 1.000000 -0:47 Branch: Return with expression -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 Sequence +0:47 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:47 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -215,13 +221,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 121 +// Id's are bound by 123 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 100 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval20" @@ -241,14 +247,15 @@ gl_FragCoord origin is upper left MemberName 90(PS_OUTPUT) 0 "Color" MemberName 90(PS_OUTPUT) 1 "Depth" Name 92 "psout" - Name 101 "g_sSamp2d" - Name 104 "g_tTex1df4a" - Name 105 "g_tTex1df4" - Name 108 "g_tTex1di4" - Name 111 "g_tTex1du4" - Name 114 "g_tTex3df4" - Name 117 "g_tTex3di4" - Name 120 "g_tTex3du4" + Name 100 "@entryPointOutput" + Name 103 "g_sSamp2d" + Name 106 "g_tTex1df4a" + Name 107 "g_tTex1df4" + Name 110 "g_tTex1di4" + Name 113 "g_tTex1du4" + Name 116 "g_tTex3df4" + Name 119 "g_tTex3di4" + Name 122 "g_tTex3du4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -258,16 +265,16 @@ gl_FragCoord origin is upper left Decorate 70(g_tTexcdi4) DescriptorSet 0 Decorate 80(g_tTexcdu4) DescriptorSet 0 MemberDecorate 90(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 101(g_sSamp2d) DescriptorSet 0 - Decorate 104(g_tTex1df4a) DescriptorSet 0 - Decorate 104(g_tTex1df4a) Binding 1 - Decorate 105(g_tTex1df4) DescriptorSet 0 - Decorate 105(g_tTex1df4) Binding 0 - Decorate 108(g_tTex1di4) DescriptorSet 0 - Decorate 111(g_tTex1du4) DescriptorSet 0 - Decorate 114(g_tTex3df4) DescriptorSet 0 - Decorate 117(g_tTex3di4) DescriptorSet 0 - Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 103(g_sSamp2d) DescriptorSet 0 + Decorate 106(g_tTex1df4a) DescriptorSet 0 + Decorate 106(g_tTex1df4a) Binding 1 + Decorate 107(g_tTex1df4) DescriptorSet 0 + Decorate 107(g_tTex1df4) Binding 0 + Decorate 110(g_tTex1di4) DescriptorSet 0 + Decorate 113(g_tTex1du4) DescriptorSet 0 + Decorate 116(g_tTex3df4) DescriptorSet 0 + Decorate 119(g_tTex3di4) DescriptorSet 0 + Decorate 122(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -330,26 +337,28 @@ gl_FragCoord origin is upper left 94: 7(fvec4) ConstantComposite 93 93 93 93 96: 24(int) Constant 1 97: TypePointer Function 6(float) - 101(g_sSamp2d): 15(ptr) Variable UniformConstant - 102: TypeImage 6(float) 1D sampled format:Unknown - 103: TypePointer UniformConstant 102 -104(g_tTex1df4a): 103(ptr) Variable UniformConstant - 105(g_tTex1df4): 103(ptr) Variable UniformConstant - 106: TypeImage 24(int) 1D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex1di4): 107(ptr) Variable UniformConstant - 109: TypeImage 41(int) 1D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex1du4): 110(ptr) Variable UniformConstant - 112: TypeImage 6(float) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3df4): 113(ptr) Variable UniformConstant - 115: TypeImage 24(int) 3D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex3di4): 116(ptr) Variable UniformConstant - 118: TypeImage 41(int) 3D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex3du4): 119(ptr) Variable UniformConstant + 99: TypePointer Output 90(PS_OUTPUT) +100(@entryPointOutput): 99(ptr) Variable Output + 103(g_sSamp2d): 15(ptr) Variable UniformConstant + 104: TypeImage 6(float) 1D sampled format:Unknown + 105: TypePointer UniformConstant 104 +106(g_tTex1df4a): 105(ptr) Variable UniformConstant + 107(g_tTex1df4): 105(ptr) Variable UniformConstant + 108: TypeImage 24(int) 1D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex1di4): 109(ptr) Variable UniformConstant + 111: TypeImage 41(int) 1D sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTex1du4): 112(ptr) Variable UniformConstant + 114: TypeImage 6(float) 3D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex3df4): 115(ptr) Variable UniformConstant + 117: TypeImage 24(int) 3D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex3di4): 118(ptr) Variable UniformConstant + 120: TypeImage 41(int) 3D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex3du4): 121(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -393,6 +402,7 @@ gl_FragCoord origin is upper left Store 95 94 98: 97(ptr) AccessChain 92(psout) 96 Store 98 93 - 99:90(PS_OUTPUT) Load 92(psout) - ReturnValue 99 + 101:90(PS_OUTPUT) Load 92(psout) + Store 100(@entryPointOutput) 101 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out index 4e862ef8..209c041d 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out @@ -77,8 +77,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:45 Branch: Return with expression -0:45 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:45 Sequence +0:45 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:45 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:45 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -178,8 +181,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:45 Branch: Return with expression -0:45 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:45 Sequence +0:45 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:45 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:45 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -199,13 +205,13 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 118 +// Id's are bound by 120 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" + EntryPoint Vertex 4 "main" 97 Name 4 "main" Name 9 "txval20" Name 12 "g_tTex2df4" @@ -223,14 +229,15 @@ Shader version: 450 Name 90 "VS_OUTPUT" MemberName 90(VS_OUTPUT) 0 "Pos" Name 92 "vsout" - Name 98 "g_sSamp2d" - Name 101 "g_tTex1df4a" - Name 102 "g_tTex1df4" - Name 105 "g_tTex1di4" - Name 108 "g_tTex1du4" - Name 111 "g_tTex3df4" - Name 114 "g_tTex3di4" - Name 117 "g_tTex3du4" + Name 97 "@entryPointOutput" + Name 100 "g_sSamp2d" + Name 103 "g_tTex1df4a" + Name 104 "g_tTex1df4" + Name 107 "g_tTex1di4" + Name 110 "g_tTex1du4" + Name 113 "g_tTex3df4" + Name 116 "g_tTex3di4" + Name 119 "g_tTex3du4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -240,16 +247,16 @@ Shader version: 450 Decorate 70(g_tTexcdi4) DescriptorSet 0 Decorate 80(g_tTexcdu4) DescriptorSet 0 MemberDecorate 90(VS_OUTPUT) 0 BuiltIn FragCoord - Decorate 98(g_sSamp2d) DescriptorSet 0 - Decorate 101(g_tTex1df4a) DescriptorSet 0 - Decorate 101(g_tTex1df4a) Binding 1 - Decorate 102(g_tTex1df4) DescriptorSet 0 - Decorate 102(g_tTex1df4) Binding 0 - Decorate 105(g_tTex1di4) DescriptorSet 0 - Decorate 108(g_tTex1du4) DescriptorSet 0 - Decorate 111(g_tTex3df4) DescriptorSet 0 - Decorate 114(g_tTex3di4) DescriptorSet 0 - Decorate 117(g_tTex3du4) DescriptorSet 0 + Decorate 100(g_sSamp2d) DescriptorSet 0 + Decorate 103(g_tTex1df4a) DescriptorSet 0 + Decorate 103(g_tTex1df4a) Binding 1 + Decorate 104(g_tTex1df4) DescriptorSet 0 + Decorate 104(g_tTex1df4) Binding 0 + Decorate 107(g_tTex1di4) DescriptorSet 0 + Decorate 110(g_tTex1du4) DescriptorSet 0 + Decorate 113(g_tTex3df4) DescriptorSet 0 + Decorate 116(g_tTex3di4) DescriptorSet 0 + Decorate 119(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -310,26 +317,28 @@ Shader version: 450 91: TypePointer Function 90(VS_OUTPUT) 93: 6(float) Constant 0 94: 7(fvec4) ConstantComposite 93 93 93 93 - 98(g_sSamp2d): 15(ptr) Variable UniformConstant - 99: TypeImage 6(float) 1D sampled format:Unknown - 100: TypePointer UniformConstant 99 -101(g_tTex1df4a): 100(ptr) Variable UniformConstant - 102(g_tTex1df4): 100(ptr) Variable UniformConstant - 103: TypeImage 24(int) 1D sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTex1di4): 104(ptr) Variable UniformConstant - 106: TypeImage 41(int) 1D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex1du4): 107(ptr) Variable UniformConstant - 109: TypeImage 6(float) 3D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex3df4): 110(ptr) Variable UniformConstant - 112: TypeImage 24(int) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3di4): 113(ptr) Variable UniformConstant - 115: TypeImage 41(int) 3D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex3du4): 116(ptr) Variable UniformConstant + 96: TypePointer Output 90(VS_OUTPUT) +97(@entryPointOutput): 96(ptr) Variable Output + 100(g_sSamp2d): 15(ptr) Variable UniformConstant + 101: TypeImage 6(float) 1D sampled format:Unknown + 102: TypePointer UniformConstant 101 +103(g_tTex1df4a): 102(ptr) Variable UniformConstant + 104(g_tTex1df4): 102(ptr) Variable UniformConstant + 105: TypeImage 24(int) 1D sampled format:Unknown + 106: TypePointer UniformConstant 105 + 107(g_tTex1di4): 106(ptr) Variable UniformConstant + 108: TypeImage 41(int) 1D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex1du4): 109(ptr) Variable UniformConstant + 111: TypeImage 6(float) 3D sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTex3df4): 112(ptr) Variable UniformConstant + 114: TypeImage 24(int) 3D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex3di4): 115(ptr) Variable UniformConstant + 117: TypeImage 41(int) 3D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex3du4): 118(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -371,6 +380,7 @@ Shader version: 450 Store 77(txval42) 89 95: 8(ptr) AccessChain 92(vsout) 25 Store 95 94 - 96:90(VS_OUTPUT) Load 92(vsout) - ReturnValue 96 + 98:90(VS_OUTPUT) Load 92(vsout) + Store 97(@entryPointOutput) 98 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out index 056f16b2..2f856642 100644 --- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -61,8 +61,11 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Branch: Return with expression -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Sequence +0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -145,8 +148,11 @@ gl_FragCoord origin is upper left 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Branch: Return with expression -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Sequence +0:43 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:43 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -165,13 +171,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 100 +// Id's are bound by 102 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 71 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval20" @@ -185,34 +191,35 @@ gl_FragCoord origin is upper left MemberName 62(PS_OUTPUT) 0 "Color" MemberName 62(PS_OUTPUT) 1 "Depth" Name 64 "psout" - Name 74 "g_tTex1df4a" - Name 75 "g_tTex1df4" - Name 78 "g_tTex1di4" - Name 81 "g_tTex1du4" - Name 84 "g_tTex3df4" - Name 87 "g_tTex3di4" - Name 90 "g_tTex3du4" - Name 93 "g_tTexcdf4" - Name 96 "g_tTexcdi4" - Name 99 "g_tTexcdu4" + Name 71 "@entryPointOutput" + Name 76 "g_tTex1df4a" + Name 77 "g_tTex1df4" + Name 80 "g_tTex1di4" + Name 83 "g_tTex1du4" + Name 86 "g_tTex3df4" + Name 89 "g_tTex3di4" + Name 92 "g_tTex3du4" + Name 95 "g_tTexcdf4" + Name 98 "g_tTexcdi4" + Name 101 "g_tTexcdu4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 Decorate 35(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) DescriptorSet 0 MemberDecorate 62(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 74(g_tTex1df4a) DescriptorSet 0 - Decorate 74(g_tTex1df4a) Binding 1 - Decorate 75(g_tTex1df4) DescriptorSet 0 - Decorate 75(g_tTex1df4) Binding 0 - Decorate 78(g_tTex1di4) DescriptorSet 0 - Decorate 81(g_tTex1du4) DescriptorSet 0 - Decorate 84(g_tTex3df4) DescriptorSet 0 - Decorate 87(g_tTex3di4) DescriptorSet 0 - Decorate 90(g_tTex3du4) DescriptorSet 0 - Decorate 93(g_tTexcdf4) DescriptorSet 0 - Decorate 96(g_tTexcdi4) DescriptorSet 0 - Decorate 99(g_tTexcdu4) DescriptorSet 0 + Decorate 76(g_tTex1df4a) DescriptorSet 0 + Decorate 76(g_tTex1df4a) Binding 1 + Decorate 77(g_tTex1df4) DescriptorSet 0 + Decorate 77(g_tTex1df4) Binding 0 + Decorate 80(g_tTex1di4) DescriptorSet 0 + Decorate 83(g_tTex1du4) DescriptorSet 0 + Decorate 86(g_tTex3df4) DescriptorSet 0 + Decorate 89(g_tTex3di4) DescriptorSet 0 + Decorate 92(g_tTex3du4) DescriptorSet 0 + Decorate 95(g_tTexcdf4) DescriptorSet 0 + Decorate 98(g_tTexcdi4) DescriptorSet 0 + Decorate 101(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -261,34 +268,36 @@ gl_FragCoord origin is upper left 65: 6(float) Constant 1065353216 66: 7(fvec4) ConstantComposite 65 65 65 65 68: TypePointer Function 6(float) - 72: TypeImage 6(float) 1D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex1df4a): 73(ptr) Variable UniformConstant - 75(g_tTex1df4): 73(ptr) Variable UniformConstant - 76: TypeImage 24(int) 1D sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex1di4): 77(ptr) Variable UniformConstant - 79: TypeImage 45(int) 1D sampled format:Unknown - 80: TypePointer UniformConstant 79 - 81(g_tTex1du4): 80(ptr) Variable UniformConstant - 82: TypeImage 6(float) 3D sampled format:Unknown - 83: TypePointer UniformConstant 82 - 84(g_tTex3df4): 83(ptr) Variable UniformConstant - 85: TypeImage 24(int) 3D sampled format:Unknown - 86: TypePointer UniformConstant 85 - 87(g_tTex3di4): 86(ptr) Variable UniformConstant - 88: TypeImage 45(int) 3D sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTex3du4): 89(ptr) Variable UniformConstant - 91: TypeImage 6(float) Cube sampled format:Unknown - 92: TypePointer UniformConstant 91 - 93(g_tTexcdf4): 92(ptr) Variable UniformConstant - 94: TypeImage 24(int) Cube sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTexcdi4): 95(ptr) Variable UniformConstant - 97: TypeImage 45(int) Cube sampled format:Unknown - 98: TypePointer UniformConstant 97 - 99(g_tTexcdu4): 98(ptr) Variable UniformConstant + 70: TypePointer Output 62(PS_OUTPUT) +71(@entryPointOutput): 70(ptr) Variable Output + 74: TypeImage 6(float) 1D sampled format:Unknown + 75: TypePointer UniformConstant 74 + 76(g_tTex1df4a): 75(ptr) Variable UniformConstant + 77(g_tTex1df4): 75(ptr) Variable UniformConstant + 78: TypeImage 24(int) 1D sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex1di4): 79(ptr) Variable UniformConstant + 81: TypeImage 45(int) 1D sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex1du4): 82(ptr) Variable UniformConstant + 84: TypeImage 6(float) 3D sampled format:Unknown + 85: TypePointer UniformConstant 84 + 86(g_tTex3df4): 85(ptr) Variable UniformConstant + 87: TypeImage 24(int) 3D sampled format:Unknown + 88: TypePointer UniformConstant 87 + 89(g_tTex3di4): 88(ptr) Variable UniformConstant + 90: TypeImage 45(int) 3D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex3du4): 91(ptr) Variable UniformConstant + 93: TypeImage 6(float) Cube sampled format:Unknown + 94: TypePointer UniformConstant 93 + 95(g_tTexcdf4): 94(ptr) Variable UniformConstant + 96: TypeImage 24(int) Cube sampled format:Unknown + 97: TypePointer UniformConstant 96 + 98(g_tTexcdi4): 97(ptr) Variable UniformConstant + 99: TypeImage 45(int) Cube sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTexcdu4): 100(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -314,6 +323,7 @@ gl_FragCoord origin is upper left Store 67 66 69: 68(ptr) AccessChain 64(psout) 26 Store 69 65 - 70:62(PS_OUTPUT) Load 64(psout) - ReturnValue 70 + 72:62(PS_OUTPUT) Load 64(psout) + Store 71(@entryPointOutput) 72 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index cded67f8..5cfae1ef 100644 --- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -64,8 +64,11 @@ gl_FragCoord origin is upper left 0:33 1 (const int) 0:33 Constant: 0:33 1.000000 -0:35 Branch: Return with expression -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 Sequence +0:35 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -145,8 +148,11 @@ gl_FragCoord origin is upper left 0:33 1 (const int) 0:33 Constant: 0:33 1.000000 -0:35 Branch: Return with expression -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 Sequence +0:35 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:35 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -159,13 +165,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 83 +// Id's are bound by 85 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 72 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval20" @@ -179,22 +185,23 @@ gl_FragCoord origin is upper left MemberName 63(PS_OUTPUT) 0 "Color" MemberName 63(PS_OUTPUT) 1 "Depth" Name 65 "psout" - Name 75 "g_tTex1df4a" - Name 76 "g_tTex1df4" - Name 79 "g_tTex1di4" - Name 82 "g_tTex1du4" + Name 72 "@entryPointOutput" + Name 77 "g_tTex1df4a" + Name 78 "g_tTex1df4" + Name 81 "g_tTex1di4" + Name 84 "g_tTex1du4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) DescriptorSet 0 MemberDecorate 63(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 75(g_tTex1df4a) DescriptorSet 0 - Decorate 75(g_tTex1df4a) Binding 1 - Decorate 76(g_tTex1df4) DescriptorSet 0 - Decorate 76(g_tTex1df4) Binding 0 - Decorate 79(g_tTex1di4) DescriptorSet 0 - Decorate 82(g_tTex1du4) DescriptorSet 0 + Decorate 77(g_tTex1df4a) DescriptorSet 0 + Decorate 77(g_tTex1df4a) Binding 1 + Decorate 78(g_tTex1df4) DescriptorSet 0 + Decorate 78(g_tTex1df4) Binding 0 + Decorate 81(g_tTex1di4) DescriptorSet 0 + Decorate 84(g_tTex1du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -244,16 +251,18 @@ gl_FragCoord origin is upper left 66: 6(float) Constant 1065353216 67: 7(fvec4) ConstantComposite 66 66 66 66 69: TypePointer Function 6(float) - 73: TypeImage 6(float) 1D array sampled format:Unknown - 74: TypePointer UniformConstant 73 - 75(g_tTex1df4a): 74(ptr) Variable UniformConstant - 76(g_tTex1df4): 74(ptr) Variable UniformConstant - 77: TypeImage 25(int) 1D array sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex1di4): 78(ptr) Variable UniformConstant - 80: TypeImage 45(int) 1D array sampled format:Unknown - 81: TypePointer UniformConstant 80 - 82(g_tTex1du4): 81(ptr) Variable UniformConstant + 71: TypePointer Output 63(PS_OUTPUT) +72(@entryPointOutput): 71(ptr) Variable Output + 75: TypeImage 6(float) 1D array sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex1df4a): 76(ptr) Variable UniformConstant + 78(g_tTex1df4): 76(ptr) Variable UniformConstant + 79: TypeImage 25(int) 1D array sampled format:Unknown + 80: TypePointer UniformConstant 79 + 81(g_tTex1di4): 80(ptr) Variable UniformConstant + 82: TypeImage 45(int) 1D array sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTex1du4): 83(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval20): 8(ptr) Variable Function @@ -279,6 +288,7 @@ gl_FragCoord origin is upper left Store 68 67 70: 69(ptr) AccessChain 65(psout) 27 Store 70 66 - 71:63(PS_OUTPUT) Load 65(psout) - ReturnValue 71 + 73:63(PS_OUTPUT) Load 65(psout) + Store 72(@entryPointOutput) 73 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out index 5386fc7c..ac59887b 100644 --- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out @@ -262,8 +262,11 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Branch: Return with expression -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Sequence +0:70 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -548,8 +551,11 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Branch: Return with expression -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Sequence +0:70 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -569,14 +575,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 220 +// Id's are bound by 222 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 204 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval00" @@ -616,12 +622,13 @@ gl_FragCoord origin is upper left MemberName 195(PS_OUTPUT) 0 "Color" MemberName 195(PS_OUTPUT) 1 "Depth" Name 197 "psout" - Name 205 "g_sSamp2d" - Name 208 "g_tTex1df4a" - Name 211 "g_tTex1di4a" - Name 214 "g_tTex1du4a" - Name 216 "c1" - Name 219 "c2" + Name 204 "@entryPointOutput" + Name 207 "g_sSamp2d" + Name 210 "g_tTex1df4a" + Name 213 "g_tTex1di4a" + Name 216 "g_tTex1du4a" + Name 218 "c1" + Name 221 "c2" Decorate 12(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -631,11 +638,11 @@ gl_FragCoord origin is upper left Decorate 124(g_tTexcdi4a) DescriptorSet 0 Decorate 134(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 195(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 205(g_sSamp2d) DescriptorSet 0 - Decorate 208(g_tTex1df4a) DescriptorSet 0 - Decorate 208(g_tTex1df4a) Binding 0 - Decorate 211(g_tTex1di4a) DescriptorSet 0 - Decorate 214(g_tTex1du4a) DescriptorSet 0 + Decorate 207(g_sSamp2d) DescriptorSet 0 + Decorate 210(g_tTex1df4a) DescriptorSet 0 + Decorate 210(g_tTex1df4a) Binding 0 + Decorate 213(g_tTex1di4a) DescriptorSet 0 + Decorate 216(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -688,21 +695,23 @@ gl_FragCoord origin is upper left 198: 6(float) Constant 1065353216 199: 7(fvec4) ConstantComposite 198 198 198 198 201: TypePointer Function 6(float) - 205(g_sSamp2d): 15(ptr) Variable UniformConstant - 206: TypeImage 6(float) 1D array sampled format:Unknown - 207: TypePointer UniformConstant 206 -208(g_tTex1df4a): 207(ptr) Variable UniformConstant - 209: TypeImage 24(int) 1D array sampled format:Unknown - 210: TypePointer UniformConstant 209 -211(g_tTex1di4a): 210(ptr) Variable UniformConstant - 212: TypeImage 39(int) 1D array sampled format:Unknown - 213: TypePointer UniformConstant 212 -214(g_tTex1du4a): 213(ptr) Variable UniformConstant - 215: TypePointer UniformConstant 6(float) - 216(c1): 215(ptr) Variable UniformConstant - 217: TypeVector 6(float) 2 - 218: TypePointer UniformConstant 217(fvec2) - 219(c2): 218(ptr) Variable UniformConstant + 203: TypePointer Output 195(PS_OUTPUT) +204(@entryPointOutput): 203(ptr) Variable Output + 207(g_sSamp2d): 15(ptr) Variable UniformConstant + 208: TypeImage 6(float) 1D array sampled format:Unknown + 209: TypePointer UniformConstant 208 +210(g_tTex1df4a): 209(ptr) Variable UniformConstant + 211: TypeImage 24(int) 1D array sampled format:Unknown + 212: TypePointer UniformConstant 211 +213(g_tTex1di4a): 212(ptr) Variable UniformConstant + 214: TypeImage 39(int) 1D array sampled format:Unknown + 215: TypePointer UniformConstant 214 +216(g_tTex1du4a): 215(ptr) Variable UniformConstant + 217: TypePointer UniformConstant 6(float) + 218(c1): 217(ptr) Variable UniformConstant + 219: TypeVector 6(float) 2 + 220: TypePointer UniformConstant 219(fvec2) + 221(c2): 220(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval00): 8(ptr) Variable Function @@ -878,6 +887,7 @@ gl_FragCoord origin is upper left Store 200 199 202: 201(ptr) AccessChain 197(psout) 57 Store 202 198 - 203:195(PS_OUTPUT) Load 197(psout) - ReturnValue 203 + 205:195(PS_OUTPUT) Load 197(psout) + Store 204(@entryPointOutput) 205 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out index 0152b079..63c9946d 100644 --- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out @@ -262,8 +262,11 @@ gl_FragCoord origin is upper left 0:74 1 (const int) 0:74 Constant: 0:74 1.000000 -0:76 Branch: Return with expression -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 Sequence +0:76 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -552,8 +555,11 @@ gl_FragCoord origin is upper left 0:74 1 (const int) 0:74 Constant: 0:74 1.000000 -0:76 Branch: Return with expression -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 Sequence +0:76 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:76 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -577,13 +583,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 230 +// Id's are bound by 232 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 205 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval00" @@ -623,16 +629,17 @@ gl_FragCoord origin is upper left MemberName 196(PS_OUTPUT) 0 "Color" MemberName 196(PS_OUTPUT) 1 "Depth" Name 198 "psout" - Name 206 "g_sSamp2d" - Name 209 "g_tTex1df4a" - Name 210 "g_tTex1df4" - Name 213 "g_tTex1di4" - Name 216 "g_tTex1du4" - Name 219 "g_tTex3df4" - Name 222 "g_tTex3di4" - Name 225 "g_tTex3du4" - Name 227 "c1" - Name 229 "c4" + Name 205 "@entryPointOutput" + Name 208 "g_sSamp2d" + Name 211 "g_tTex1df4a" + Name 212 "g_tTex1df4" + Name 215 "g_tTex1di4" + Name 218 "g_tTex1du4" + Name 221 "g_tTex3df4" + Name 224 "g_tTex3di4" + Name 227 "g_tTex3du4" + Name 229 "c1" + Name 231 "c4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 @@ -642,16 +649,16 @@ gl_FragCoord origin is upper left Decorate 125(g_tTexcdi4) DescriptorSet 0 Decorate 135(g_tTexcdu4) DescriptorSet 0 MemberDecorate 196(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 206(g_sSamp2d) DescriptorSet 0 - Decorate 209(g_tTex1df4a) DescriptorSet 0 - Decorate 209(g_tTex1df4a) Binding 1 - Decorate 210(g_tTex1df4) DescriptorSet 0 - Decorate 210(g_tTex1df4) Binding 0 - Decorate 213(g_tTex1di4) DescriptorSet 0 - Decorate 216(g_tTex1du4) DescriptorSet 0 - Decorate 219(g_tTex3df4) DescriptorSet 0 - Decorate 222(g_tTex3di4) DescriptorSet 0 - Decorate 225(g_tTex3du4) DescriptorSet 0 + Decorate 208(g_sSamp2d) DescriptorSet 0 + Decorate 211(g_tTex1df4a) DescriptorSet 0 + Decorate 211(g_tTex1df4a) Binding 1 + Decorate 212(g_tTex1df4) DescriptorSet 0 + Decorate 212(g_tTex1df4) Binding 0 + Decorate 215(g_tTex1di4) DescriptorSet 0 + Decorate 218(g_tTex1du4) DescriptorSet 0 + Decorate 221(g_tTex3df4) DescriptorSet 0 + Decorate 224(g_tTex3di4) DescriptorSet 0 + Decorate 227(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -705,30 +712,32 @@ gl_FragCoord origin is upper left 199: 6(float) Constant 1065353216 200: 7(fvec4) ConstantComposite 199 199 199 199 202: TypePointer Function 6(float) - 206(g_sSamp2d): 15(ptr) Variable UniformConstant - 207: TypeImage 6(float) 1D sampled format:Unknown - 208: TypePointer UniformConstant 207 -209(g_tTex1df4a): 208(ptr) Variable UniformConstant - 210(g_tTex1df4): 208(ptr) Variable UniformConstant - 211: TypeImage 24(int) 1D sampled format:Unknown - 212: TypePointer UniformConstant 211 - 213(g_tTex1di4): 212(ptr) Variable UniformConstant - 214: TypeImage 39(int) 1D sampled format:Unknown - 215: TypePointer UniformConstant 214 - 216(g_tTex1du4): 215(ptr) Variable UniformConstant - 217: TypeImage 6(float) 3D sampled format:Unknown - 218: TypePointer UniformConstant 217 - 219(g_tTex3df4): 218(ptr) Variable UniformConstant - 220: TypeImage 24(int) 3D sampled format:Unknown - 221: TypePointer UniformConstant 220 - 222(g_tTex3di4): 221(ptr) Variable UniformConstant - 223: TypeImage 39(int) 3D sampled format:Unknown - 224: TypePointer UniformConstant 223 - 225(g_tTex3du4): 224(ptr) Variable UniformConstant - 226: TypePointer UniformConstant 6(float) - 227(c1): 226(ptr) Variable UniformConstant - 228: TypePointer UniformConstant 7(fvec4) - 229(c4): 228(ptr) Variable UniformConstant + 204: TypePointer Output 196(PS_OUTPUT) +205(@entryPointOutput): 204(ptr) Variable Output + 208(g_sSamp2d): 15(ptr) Variable UniformConstant + 209: TypeImage 6(float) 1D sampled format:Unknown + 210: TypePointer UniformConstant 209 +211(g_tTex1df4a): 210(ptr) Variable UniformConstant + 212(g_tTex1df4): 210(ptr) Variable UniformConstant + 213: TypeImage 24(int) 1D sampled format:Unknown + 214: TypePointer UniformConstant 213 + 215(g_tTex1di4): 214(ptr) Variable UniformConstant + 216: TypeImage 39(int) 1D sampled format:Unknown + 217: TypePointer UniformConstant 216 + 218(g_tTex1du4): 217(ptr) Variable UniformConstant + 219: TypeImage 6(float) 3D sampled format:Unknown + 220: TypePointer UniformConstant 219 + 221(g_tTex3df4): 220(ptr) Variable UniformConstant + 222: TypeImage 24(int) 3D sampled format:Unknown + 223: TypePointer UniformConstant 222 + 224(g_tTex3di4): 223(ptr) Variable UniformConstant + 225: TypeImage 39(int) 3D sampled format:Unknown + 226: TypePointer UniformConstant 225 + 227(g_tTex3du4): 226(ptr) Variable UniformConstant + 228: TypePointer UniformConstant 6(float) + 229(c1): 228(ptr) Variable UniformConstant + 230: TypePointer UniformConstant 7(fvec4) + 231(c4): 230(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval00): 8(ptr) Variable Function @@ -904,6 +913,7 @@ gl_FragCoord origin is upper left Store 201 200 203: 202(ptr) AccessChain 198(psout) 57 Store 203 199 - 204:196(PS_OUTPUT) Load 198(psout) - ReturnValue 204 + 206:196(PS_OUTPUT) Load 198(psout) + Store 205(@entryPointOutput) 206 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out index 46561f90..5df5248e 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out @@ -334,8 +334,11 @@ gl_FragCoord origin is upper left 0:113 1 (const int) 0:113 Constant: 0:113 1.000000 -0:115 Branch: Return with expression -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 Sequence +0:115 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -700,8 +703,11 @@ gl_FragCoord origin is upper left 0:113 1 (const int) 0:113 Constant: 0:113 1.000000 -0:115 Branch: Return with expression -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 Sequence +0:115 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:115 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -729,14 +735,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 311 +// Id's are bound by 313 Capability Shader Capability ImageGatherExtended Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 267 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval001" @@ -773,42 +779,43 @@ gl_FragCoord origin is upper left MemberName 258(PS_OUTPUT) 0 "Color" MemberName 258(PS_OUTPUT) 1 "Depth" Name 260 "psout" - Name 268 "g_sSamp2d" - Name 271 "g_tTex1df4a" - Name 272 "g_tTex1df4" - Name 275 "g_tTex1di4" - Name 278 "g_tTex1du4" - Name 281 "g_tTex3df4" - Name 284 "g_tTex3di4" - Name 287 "g_tTex3du4" - Name 290 "g_tTexcdf4" - Name 293 "g_tTexcdi4" - Name 296 "g_tTexcdu4" - Name 298 "c1" - Name 301 "c3" - Name 303 "c4" - Name 305 "o1" - Name 308 "o3" - Name 310 "o4" + Name 267 "@entryPointOutput" + Name 270 "g_sSamp2d" + Name 273 "g_tTex1df4a" + Name 274 "g_tTex1df4" + Name 277 "g_tTex1di4" + Name 280 "g_tTex1du4" + Name 283 "g_tTex3df4" + Name 286 "g_tTex3di4" + Name 289 "g_tTex3du4" + Name 292 "g_tTexcdf4" + Name 295 "g_tTexcdi4" + Name 298 "g_tTexcdu4" + Name 300 "c1" + Name 303 "c3" + Name 305 "c4" + Name 307 "o1" + Name 310 "o3" + Name 312 "o4" Decorate 12(g_tTex2df4) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 50(g_tTex2du4) DescriptorSet 0 MemberDecorate 258(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 268(g_sSamp2d) DescriptorSet 0 - Decorate 271(g_tTex1df4a) DescriptorSet 0 - Decorate 271(g_tTex1df4a) Binding 1 - Decorate 272(g_tTex1df4) DescriptorSet 0 - Decorate 272(g_tTex1df4) Binding 0 - Decorate 275(g_tTex1di4) DescriptorSet 0 - Decorate 278(g_tTex1du4) DescriptorSet 0 - Decorate 281(g_tTex3df4) DescriptorSet 0 - Decorate 284(g_tTex3di4) DescriptorSet 0 - Decorate 287(g_tTex3du4) DescriptorSet 0 - Decorate 290(g_tTexcdf4) DescriptorSet 0 - Decorate 293(g_tTexcdi4) DescriptorSet 0 - Decorate 296(g_tTexcdu4) DescriptorSet 0 + Decorate 270(g_sSamp2d) DescriptorSet 0 + Decorate 273(g_tTex1df4a) DescriptorSet 0 + Decorate 273(g_tTex1df4a) Binding 1 + Decorate 274(g_tTex1df4) DescriptorSet 0 + Decorate 274(g_tTex1df4) Binding 0 + Decorate 277(g_tTex1di4) DescriptorSet 0 + Decorate 280(g_tTex1du4) DescriptorSet 0 + Decorate 283(g_tTex3df4) DescriptorSet 0 + Decorate 286(g_tTex3di4) DescriptorSet 0 + Decorate 289(g_tTex3du4) DescriptorSet 0 + Decorate 292(g_tTexcdf4) DescriptorSet 0 + Decorate 295(g_tTexcdi4) DescriptorSet 0 + Decorate 298(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -852,49 +859,51 @@ gl_FragCoord origin is upper left 261: 6(float) Constant 1065353216 262: 7(fvec4) ConstantComposite 261 261 261 261 264: TypePointer Function 6(float) - 268(g_sSamp2d): 15(ptr) Variable UniformConstant - 269: TypeImage 6(float) 1D sampled format:Unknown - 270: TypePointer UniformConstant 269 -271(g_tTex1df4a): 270(ptr) Variable UniformConstant - 272(g_tTex1df4): 270(ptr) Variable UniformConstant - 273: TypeImage 24(int) 1D sampled format:Unknown - 274: TypePointer UniformConstant 273 - 275(g_tTex1di4): 274(ptr) Variable UniformConstant - 276: TypeImage 44(int) 1D sampled format:Unknown - 277: TypePointer UniformConstant 276 - 278(g_tTex1du4): 277(ptr) Variable UniformConstant - 279: TypeImage 6(float) 3D sampled format:Unknown - 280: TypePointer UniformConstant 279 - 281(g_tTex3df4): 280(ptr) Variable UniformConstant - 282: TypeImage 24(int) 3D sampled format:Unknown - 283: TypePointer UniformConstant 282 - 284(g_tTex3di4): 283(ptr) Variable UniformConstant - 285: TypeImage 44(int) 3D sampled format:Unknown - 286: TypePointer UniformConstant 285 - 287(g_tTex3du4): 286(ptr) Variable UniformConstant - 288: TypeImage 6(float) Cube sampled format:Unknown - 289: TypePointer UniformConstant 288 - 290(g_tTexcdf4): 289(ptr) Variable UniformConstant - 291: TypeImage 24(int) Cube sampled format:Unknown - 292: TypePointer UniformConstant 291 - 293(g_tTexcdi4): 292(ptr) Variable UniformConstant - 294: TypeImage 44(int) Cube sampled format:Unknown - 295: TypePointer UniformConstant 294 - 296(g_tTexcdu4): 295(ptr) Variable UniformConstant - 297: TypePointer UniformConstant 6(float) - 298(c1): 297(ptr) Variable UniformConstant - 299: TypeVector 6(float) 3 - 300: TypePointer UniformConstant 299(fvec3) - 301(c3): 300(ptr) Variable UniformConstant - 302: TypePointer UniformConstant 7(fvec4) - 303(c4): 302(ptr) Variable UniformConstant - 304: TypePointer UniformConstant 24(int) - 305(o1): 304(ptr) Variable UniformConstant - 306: TypeVector 24(int) 3 - 307: TypePointer UniformConstant 306(ivec3) - 308(o3): 307(ptr) Variable UniformConstant - 309: TypePointer UniformConstant 31(ivec4) - 310(o4): 309(ptr) Variable UniformConstant + 266: TypePointer Output 258(PS_OUTPUT) +267(@entryPointOutput): 266(ptr) Variable Output + 270(g_sSamp2d): 15(ptr) Variable UniformConstant + 271: TypeImage 6(float) 1D sampled format:Unknown + 272: TypePointer UniformConstant 271 +273(g_tTex1df4a): 272(ptr) Variable UniformConstant + 274(g_tTex1df4): 272(ptr) Variable UniformConstant + 275: TypeImage 24(int) 1D sampled format:Unknown + 276: TypePointer UniformConstant 275 + 277(g_tTex1di4): 276(ptr) Variable UniformConstant + 278: TypeImage 44(int) 1D sampled format:Unknown + 279: TypePointer UniformConstant 278 + 280(g_tTex1du4): 279(ptr) Variable UniformConstant + 281: TypeImage 6(float) 3D sampled format:Unknown + 282: TypePointer UniformConstant 281 + 283(g_tTex3df4): 282(ptr) Variable UniformConstant + 284: TypeImage 24(int) 3D sampled format:Unknown + 285: TypePointer UniformConstant 284 + 286(g_tTex3di4): 285(ptr) Variable UniformConstant + 287: TypeImage 44(int) 3D sampled format:Unknown + 288: TypePointer UniformConstant 287 + 289(g_tTex3du4): 288(ptr) Variable UniformConstant + 290: TypeImage 6(float) Cube sampled format:Unknown + 291: TypePointer UniformConstant 290 + 292(g_tTexcdf4): 291(ptr) Variable UniformConstant + 293: TypeImage 24(int) Cube sampled format:Unknown + 294: TypePointer UniformConstant 293 + 295(g_tTexcdi4): 294(ptr) Variable UniformConstant + 296: TypeImage 44(int) Cube sampled format:Unknown + 297: TypePointer UniformConstant 296 + 298(g_tTexcdu4): 297(ptr) Variable UniformConstant + 299: TypePointer UniformConstant 6(float) + 300(c1): 299(ptr) Variable UniformConstant + 301: TypeVector 6(float) 3 + 302: TypePointer UniformConstant 301(fvec3) + 303(c3): 302(ptr) Variable UniformConstant + 304: TypePointer UniformConstant 7(fvec4) + 305(c4): 304(ptr) Variable UniformConstant + 306: TypePointer UniformConstant 24(int) + 307(o1): 306(ptr) Variable UniformConstant + 308: TypeVector 24(int) 3 + 309: TypePointer UniformConstant 308(ivec3) + 310(o3): 309(ptr) Variable UniformConstant + 311: TypePointer UniformConstant 31(ivec4) + 312(o4): 311(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval001): 8(ptr) Variable Function @@ -1142,6 +1151,7 @@ gl_FragCoord origin is upper left Store 263 262 265: 264(ptr) AccessChain 260(psout) 99 Store 265 261 - 266:258(PS_OUTPUT) Load 260(psout) - ReturnValue 266 + 268:258(PS_OUTPUT) Load 260(psout) + Store 267(@entryPointOutput) 268 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out index 91c51bfe..5838f08a 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out @@ -334,8 +334,11 @@ gl_FragCoord origin is upper left 0:107 1 (const int) 0:107 Constant: 0:107 1.000000 -0:109 Branch: Return with expression -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 Sequence +0:109 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -696,8 +699,11 @@ gl_FragCoord origin is upper left 0:107 1 (const int) 0:107 Constant: 0:107 1.000000 -0:109 Branch: Return with expression -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 Sequence +0:109 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:109 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -721,7 +727,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 301 +// Id's are bound by 303 Capability Shader Capability ImageGatherExtended @@ -729,7 +735,7 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 267 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval001" @@ -766,33 +772,34 @@ gl_FragCoord origin is upper left MemberName 258(PS_OUTPUT) 0 "Color" MemberName 258(PS_OUTPUT) 1 "Depth" Name 260 "psout" - Name 268 "g_sSamp2d" - Name 271 "g_tTex1df4a" - Name 274 "g_tTex1di4a" - Name 277 "g_tTex1du4a" - Name 280 "g_tTexcdf4a" - Name 283 "g_tTexcdi4a" - Name 286 "g_tTexcdu4a" - Name 288 "c1" - Name 291 "c2" - Name 293 "c4" - Name 295 "o1" - Name 298 "o3" - Name 300 "o4" + Name 267 "@entryPointOutput" + Name 270 "g_sSamp2d" + Name 273 "g_tTex1df4a" + Name 276 "g_tTex1di4a" + Name 279 "g_tTex1du4a" + Name 282 "g_tTexcdf4a" + Name 285 "g_tTexcdi4a" + Name 288 "g_tTexcdu4a" + Name 290 "c1" + Name 293 "c2" + Name 295 "c4" + Name 297 "o1" + Name 300 "o3" + Name 302 "o4" Decorate 12(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_sSamp) DescriptorSet 0 Decorate 16(g_sSamp) Binding 0 Decorate 36(g_tTex2di4a) DescriptorSet 0 Decorate 50(g_tTex2du4a) DescriptorSet 0 MemberDecorate 258(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 268(g_sSamp2d) DescriptorSet 0 - Decorate 271(g_tTex1df4a) DescriptorSet 0 - Decorate 271(g_tTex1df4a) Binding 0 - Decorate 274(g_tTex1di4a) DescriptorSet 0 - Decorate 277(g_tTex1du4a) DescriptorSet 0 - Decorate 280(g_tTexcdf4a) DescriptorSet 0 - Decorate 283(g_tTexcdi4a) DescriptorSet 0 - Decorate 286(g_tTexcdu4a) DescriptorSet 0 + Decorate 270(g_sSamp2d) DescriptorSet 0 + Decorate 273(g_tTex1df4a) DescriptorSet 0 + Decorate 273(g_tTex1df4a) Binding 0 + Decorate 276(g_tTex1di4a) DescriptorSet 0 + Decorate 279(g_tTex1du4a) DescriptorSet 0 + Decorate 282(g_tTexcdf4a) DescriptorSet 0 + Decorate 285(g_tTexcdi4a) DescriptorSet 0 + Decorate 288(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -836,39 +843,41 @@ gl_FragCoord origin is upper left 261: 6(float) Constant 1065353216 262: 7(fvec4) ConstantComposite 261 261 261 261 264: TypePointer Function 6(float) - 268(g_sSamp2d): 15(ptr) Variable UniformConstant - 269: TypeImage 6(float) 1D array sampled format:Unknown - 270: TypePointer UniformConstant 269 -271(g_tTex1df4a): 270(ptr) Variable UniformConstant - 272: TypeImage 24(int) 1D array sampled format:Unknown - 273: TypePointer UniformConstant 272 -274(g_tTex1di4a): 273(ptr) Variable UniformConstant - 275: TypeImage 44(int) 1D array sampled format:Unknown - 276: TypePointer UniformConstant 275 -277(g_tTex1du4a): 276(ptr) Variable UniformConstant - 278: TypeImage 6(float) Cube array sampled format:Unknown - 279: TypePointer UniformConstant 278 -280(g_tTexcdf4a): 279(ptr) Variable UniformConstant - 281: TypeImage 24(int) Cube array sampled format:Unknown - 282: TypePointer UniformConstant 281 -283(g_tTexcdi4a): 282(ptr) Variable UniformConstant - 284: TypeImage 44(int) Cube array sampled format:Unknown - 285: TypePointer UniformConstant 284 -286(g_tTexcdu4a): 285(ptr) Variable UniformConstant - 287: TypePointer UniformConstant 6(float) - 288(c1): 287(ptr) Variable UniformConstant - 289: TypeVector 6(float) 2 - 290: TypePointer UniformConstant 289(fvec2) - 291(c2): 290(ptr) Variable UniformConstant - 292: TypePointer UniformConstant 7(fvec4) - 293(c4): 292(ptr) Variable UniformConstant - 294: TypePointer UniformConstant 24(int) - 295(o1): 294(ptr) Variable UniformConstant - 296: TypeVector 24(int) 3 - 297: TypePointer UniformConstant 296(ivec3) - 298(o3): 297(ptr) Variable UniformConstant - 299: TypePointer UniformConstant 31(ivec4) - 300(o4): 299(ptr) Variable UniformConstant + 266: TypePointer Output 258(PS_OUTPUT) +267(@entryPointOutput): 266(ptr) Variable Output + 270(g_sSamp2d): 15(ptr) Variable UniformConstant + 271: TypeImage 6(float) 1D array sampled format:Unknown + 272: TypePointer UniformConstant 271 +273(g_tTex1df4a): 272(ptr) Variable UniformConstant + 274: TypeImage 24(int) 1D array sampled format:Unknown + 275: TypePointer UniformConstant 274 +276(g_tTex1di4a): 275(ptr) Variable UniformConstant + 277: TypeImage 44(int) 1D array sampled format:Unknown + 278: TypePointer UniformConstant 277 +279(g_tTex1du4a): 278(ptr) Variable UniformConstant + 280: TypeImage 6(float) Cube array sampled format:Unknown + 281: TypePointer UniformConstant 280 +282(g_tTexcdf4a): 281(ptr) Variable UniformConstant + 283: TypeImage 24(int) Cube array sampled format:Unknown + 284: TypePointer UniformConstant 283 +285(g_tTexcdi4a): 284(ptr) Variable UniformConstant + 286: TypeImage 44(int) Cube array sampled format:Unknown + 287: TypePointer UniformConstant 286 +288(g_tTexcdu4a): 287(ptr) Variable UniformConstant + 289: TypePointer UniformConstant 6(float) + 290(c1): 289(ptr) Variable UniformConstant + 291: TypeVector 6(float) 2 + 292: TypePointer UniformConstant 291(fvec2) + 293(c2): 292(ptr) Variable UniformConstant + 294: TypePointer UniformConstant 7(fvec4) + 295(c4): 294(ptr) Variable UniformConstant + 296: TypePointer UniformConstant 24(int) + 297(o1): 296(ptr) Variable UniformConstant + 298: TypeVector 24(int) 3 + 299: TypePointer UniformConstant 298(ivec3) + 300(o3): 299(ptr) Variable UniformConstant + 301: TypePointer UniformConstant 31(ivec4) + 302(o4): 301(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval001): 8(ptr) Variable Function @@ -1116,6 +1125,7 @@ gl_FragCoord origin is upper left Store 263 262 265: 264(ptr) AccessChain 260(psout) 99 Store 265 261 - 266:258(PS_OUTPUT) Load 260(psout) - ReturnValue 266 + 268:258(PS_OUTPUT) Load 260(psout) + Store 267(@entryPointOutput) 268 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out index cff4a531..a3eba63c 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -1060,8 +1060,11 @@ gl_FragCoord origin is upper left 0:277 1 (const int) 0:277 Constant: 0:277 1.000000 -0:279 Branch: Return with expression -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 Sequence +0:279 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -2157,8 +2160,11 @@ gl_FragCoord origin is upper left 0:277 1 (const int) 0:277 Constant: 0:277 1.000000 -0:279 Branch: Return with expression -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 Sequence +0:279 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:279 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -2191,7 +2197,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 538 +// Id's are bound by 540 Capability Shader Capability Sampled1D @@ -2200,7 +2206,7 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 534 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "sizeQueryTemp" @@ -2288,7 +2294,8 @@ gl_FragCoord origin is upper left MemberName 522(PS_OUTPUT) 0 "Color" MemberName 522(PS_OUTPUT) 1 "Depth" Name 524 "psout" - Name 537 "g_sSamp" + Name 534 "@entryPointOutput" + Name 539 "g_sSamp" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -2318,8 +2325,8 @@ gl_FragCoord origin is upper left Decorate 496(g_tTex2dmsi4a) DescriptorSet 0 Decorate 510(g_tTex2dmsu4a) DescriptorSet 0 MemberDecorate 522(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 537(g_sSamp) DescriptorSet 0 - Decorate 537(g_sSamp) Binding 0 + Decorate 539(g_sSamp) DescriptorSet 0 + Decorate 539(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -2426,9 +2433,11 @@ gl_FragCoord origin is upper left 528: TypePointer Function 521(fvec4) 530: 14(int) Constant 1 531: TypePointer Function 9(float) - 535: TypeSampler - 536: TypePointer UniformConstant 535 - 537(g_sSamp): 536(ptr) Variable UniformConstant + 533: TypePointer Output 522(PS_OUTPUT) +534(@entryPointOutput): 533(ptr) Variable Output + 537: TypeSampler + 538: TypePointer UniformConstant 537 + 539(g_sSamp): 538(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(sizeQueryTemp): 7(ptr) Variable Function @@ -3042,6 +3051,7 @@ gl_FragCoord origin is upper left Store 529 527 532: 531(ptr) AccessChain 524(psout) 530 Store 532 526 - 533:522(PS_OUTPUT) Load 524(psout) - ReturnValue 533 + 535:522(PS_OUTPUT) Load 524(psout) + Store 534(@entryPointOutput) 535 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out index 69b4dd13..a8761cdf 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -36,8 +36,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:26 Branch: Return with expression -0:26 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:26 Sequence +0:26 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:26 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:26 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -83,22 +86,25 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:26 Branch: Return with expression -0:26 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:26 Sequence +0:26 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:26 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:26 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 40 +// Id's are bound by 42 Capability Shader Capability Sampled1D Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" + EntryPoint Vertex 4 "main" 36 Name 4 "main" Name 8 "sizeQueryTemp" Name 12 "g_tTex1df4" @@ -108,12 +114,13 @@ Shader version: 450 Name 27 "VS_OUTPUT" MemberName 27(VS_OUTPUT) 0 "Pos" Name 29 "vsout" - Name 39 "g_sSamp" + Name 36 "@entryPointOutput" + Name 41 "g_sSamp" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 MemberDecorate 27(VS_OUTPUT) 0 BuiltIn FragCoord - Decorate 39(g_sSamp) DescriptorSet 0 - Decorate 39(g_sSamp) Binding 0 + Decorate 41(g_sSamp) DescriptorSet 0 + Decorate 41(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -131,9 +138,11 @@ Shader version: 450 31: 9(float) Constant 0 32: 26(fvec4) ConstantComposite 31 31 31 31 33: TypePointer Function 26(fvec4) - 37: TypeSampler - 38: TypePointer UniformConstant 37 - 39(g_sSamp): 38(ptr) Variable UniformConstant + 35: TypePointer Output 27(VS_OUTPUT) +36(@entryPointOutput): 35(ptr) Variable Output + 39: TypeSampler + 40: TypePointer UniformConstant 39 + 41(g_sSamp): 40(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(sizeQueryTemp): 7(ptr) Variable Function @@ -156,6 +165,7 @@ Shader version: 450 Store 23(NumberOfLevelsU) 25 34: 33(ptr) AccessChain 29(vsout) 30 Store 34 32 - 35:27(VS_OUTPUT) Load 29(vsout) - ReturnValue 35 + 37:27(VS_OUTPUT) Load 29(vsout) + Store 36(@entryPointOutput) 37 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index e2cf6feb..d120c315 100644 --- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -43,8 +43,11 @@ ERROR: node is still EOpNull! 0:20 1 (const int) 0:20 Constant: 0:20 1.000000 -0:22 Branch: Return with expression -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 Sequence +0:22 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) @@ -93,8 +96,11 @@ ERROR: node is still EOpNull! 0:20 1 (const int) 0:20 Constant: 0:20 1.000000 -0:22 Branch: Return with expression -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 Sequence +0:22 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:22 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) diff --git a/Test/baseResults/hlsl.if.frag.out b/Test/baseResults/hlsl.if.frag.out index 335e8981..cd768bec 100755 --- a/Test/baseResults/hlsl.if.frag.out +++ b/Test/baseResults/hlsl.if.frag.out @@ -12,20 +12,29 @@ gl_FragCoord origin is upper left 0:3 'input' (in 4-component vector of float) 0:3 'input' (in 4-component vector of float) 0:3 true case -0:4 Branch: Return with expression -0:4 'input' (in 4-component vector of float) +0:4 Sequence +0:4 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:4 'input' (in 4-component vector of float) +0:4 Branch: Return 0:6 Test condition and select (temp void) 0:6 Condition 0:6 Compare Equal (temp bool) 0:6 'input' (in 4-component vector of float) 0:6 'input' (in 4-component vector of float) 0:6 true case -0:7 Branch: Return with expression -0:7 'input' (in 4-component vector of float) +0:7 Sequence +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:7 'input' (in 4-component vector of float) +0:7 Branch: Return 0:6 false case -0:9 Branch: Return with expression -0:9 Negate value (temp 4-component vector of float) -0:9 'input' (in 4-component vector of float) +0:9 Sequence +0:9 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:9 Negate value (temp 4-component vector of float) +0:9 'input' (in 4-component vector of float) +0:9 Branch: Return 0:11 Test condition and select (temp void) 0:11 Condition 0:11 Compare Equal (temp bool) @@ -45,8 +54,11 @@ gl_FragCoord origin is upper left 0:19 'input' (in 4-component vector of float) 0:19 true case 0:? Sequence -0:20 Branch: Return with expression -0:20 'input' (in 4-component vector of float) +0:20 Sequence +0:20 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:20 'input' (in 4-component vector of float) +0:20 Branch: Return 0:23 Test condition and select (temp void) 0:23 Condition 0:23 Compare Equal (temp bool) @@ -54,13 +66,19 @@ gl_FragCoord origin is upper left 0:23 'input' (in 4-component vector of float) 0:23 true case 0:? Sequence -0:24 Branch: Return with expression -0:24 'input' (in 4-component vector of float) +0:24 Sequence +0:24 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:24 'input' (in 4-component vector of float) +0:24 Branch: Return 0:23 false case 0:? Sequence -0:26 Branch: Return with expression -0:26 Negate value (temp 4-component vector of float) -0:26 'input' (in 4-component vector of float) +0:26 Sequence +0:26 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:26 Negate value (temp 4-component vector of float) +0:26 'input' (in 4-component vector of float) +0:26 Branch: Return 0:30 Test condition and select (temp void) 0:30 Condition 0:30 move second child to first child (temp float) @@ -93,20 +111,29 @@ gl_FragCoord origin is upper left 0:3 'input' (in 4-component vector of float) 0:3 'input' (in 4-component vector of float) 0:3 true case -0:4 Branch: Return with expression -0:4 'input' (in 4-component vector of float) +0:4 Sequence +0:4 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:4 'input' (in 4-component vector of float) +0:4 Branch: Return 0:6 Test condition and select (temp void) 0:6 Condition 0:6 Compare Equal (temp bool) 0:6 'input' (in 4-component vector of float) 0:6 'input' (in 4-component vector of float) 0:6 true case -0:7 Branch: Return with expression -0:7 'input' (in 4-component vector of float) +0:7 Sequence +0:7 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:7 'input' (in 4-component vector of float) +0:7 Branch: Return 0:6 false case -0:9 Branch: Return with expression -0:9 Negate value (temp 4-component vector of float) -0:9 'input' (in 4-component vector of float) +0:9 Sequence +0:9 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:9 Negate value (temp 4-component vector of float) +0:9 'input' (in 4-component vector of float) +0:9 Branch: Return 0:11 Test condition and select (temp void) 0:11 Condition 0:11 Compare Equal (temp bool) @@ -126,8 +153,11 @@ gl_FragCoord origin is upper left 0:19 'input' (in 4-component vector of float) 0:19 true case 0:? Sequence -0:20 Branch: Return with expression -0:20 'input' (in 4-component vector of float) +0:20 Sequence +0:20 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:20 'input' (in 4-component vector of float) +0:20 Branch: Return 0:23 Test condition and select (temp void) 0:23 Condition 0:23 Compare Equal (temp bool) @@ -135,13 +165,19 @@ gl_FragCoord origin is upper left 0:23 'input' (in 4-component vector of float) 0:23 true case 0:? Sequence -0:24 Branch: Return with expression -0:24 'input' (in 4-component vector of float) +0:24 Sequence +0:24 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:24 'input' (in 4-component vector of float) +0:24 Branch: Return 0:23 false case 0:? Sequence -0:26 Branch: Return with expression -0:26 Negate value (temp 4-component vector of float) -0:26 'input' (in 4-component vector of float) +0:26 Sequence +0:26 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:26 Negate value (temp 4-component vector of float) +0:26 'input' (in 4-component vector of float) +0:26 Branch: Return 0:30 Test condition and select (temp void) 0:30 Condition 0:30 move second child to first child (temp float) @@ -159,17 +195,18 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 82 +// Id's are bound by 84 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 + EntryPoint Fragment 4 "PixelShaderFunction" 9 19 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 9 "input" - Name 65 "ii" - Name 78 "ii" + Name 19 "@entryPointOutput" + Name 67 "ii" + Name 80 "ii" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -178,18 +215,20 @@ gl_FragCoord origin is upper left 9(input): 8(ptr) Variable Input 12: TypeBool 13: TypeVector 12(bool) 4 - 64: TypePointer Function 6(float) - 66: TypeInt 32 0 - 67: 66(int) Constant 2 - 68: TypePointer Input 6(float) - 74: 6(float) Constant 1065353216 - 76: TypeInt 32 1 - 77: TypePointer Function 76(int) - 80: 76(int) Constant 1 + 18: TypePointer Output 7(fvec4) +19(@entryPointOutput): 18(ptr) Variable Output + 66: TypePointer Function 6(float) + 68: TypeInt 32 0 + 69: 68(int) Constant 2 + 70: TypePointer Input 6(float) + 76: 6(float) Constant 1065353216 + 78: TypeInt 32 1 + 79: TypePointer Function 78(int) + 82: 78(int) Constant 1 4(PixelShaderFunction): 2 Function None 3 5: Label - 65(ii): 64(ptr) Variable Function - 78(ii): 77(ptr) Variable Function + 67(ii): 66(ptr) Variable Function + 80(ii): 79(ptr) Variable Function 10: 7(fvec4) Load 9(input) 11: 7(fvec4) Load 9(input) 14: 13(bvec4) FOrdEqual 10 11 @@ -197,78 +236,84 @@ gl_FragCoord origin is upper left SelectionMerge 17 None BranchConditional 15 16 17 16: Label - 18: 7(fvec4) Load 9(input) - ReturnValue 18 + 20: 7(fvec4) Load 9(input) + Store 19(@entryPointOutput) 20 + Return 17: Label - 20: 7(fvec4) Load 9(input) - 21: 7(fvec4) Load 9(input) - 22: 13(bvec4) FOrdEqual 20 21 - 23: 12(bool) All 22 - SelectionMerge 25 None - BranchConditional 23 24 28 - 24: Label - 26: 7(fvec4) Load 9(input) - ReturnValue 26 - 28: Label - 29: 7(fvec4) Load 9(input) - 30: 7(fvec4) FNegate 29 - ReturnValue 30 - 25: Label - 32: 7(fvec4) Load 9(input) - 33: 7(fvec4) Load 9(input) - 34: 13(bvec4) FOrdEqual 32 33 - 35: 12(bool) All 34 - SelectionMerge 37 None - BranchConditional 35 36 37 - 36: Label - Branch 37 - 37: Label - 38: 7(fvec4) Load 9(input) - 39: 7(fvec4) Load 9(input) - 40: 13(bvec4) FOrdEqual 38 39 - 41: 12(bool) All 40 - SelectionMerge 43 None - BranchConditional 41 42 43 - 42: Label - Branch 43 - 43: Label - 44: 7(fvec4) Load 9(input) - 45: 7(fvec4) Load 9(input) - 46: 13(bvec4) FOrdEqual 44 45 - 47: 12(bool) All 46 - SelectionMerge 49 None - BranchConditional 47 48 49 - 48: Label - 50: 7(fvec4) Load 9(input) - ReturnValue 50 - 49: Label - 52: 7(fvec4) Load 9(input) - 53: 7(fvec4) Load 9(input) - 54: 13(bvec4) FOrdEqual 52 53 - 55: 12(bool) All 54 - SelectionMerge 57 None - BranchConditional 55 56 60 - 56: Label - 58: 7(fvec4) Load 9(input) - ReturnValue 58 - 60: Label - 61: 7(fvec4) Load 9(input) - 62: 7(fvec4) FNegate 61 - ReturnValue 62 - 57: Label - 69: 68(ptr) AccessChain 9(input) 67 - 70: 6(float) Load 69 - Store 65(ii) 70 - SelectionMerge 72 None - BranchConditional 70 71 72 - 71: Label - 73: 6(float) Load 65(ii) - 75: 6(float) FAdd 73 74 - Store 65(ii) 75 - Branch 72 - 72: Label - 79: 76(int) Load 78(ii) - 81: 76(int) IAdd 79 80 - Store 78(ii) 81 + 22: 7(fvec4) Load 9(input) + 23: 7(fvec4) Load 9(input) + 24: 13(bvec4) FOrdEqual 22 23 + 25: 12(bool) All 24 + SelectionMerge 27 None + BranchConditional 25 26 30 + 26: Label + 28: 7(fvec4) Load 9(input) + Store 19(@entryPointOutput) 28 + Return + 30: Label + 31: 7(fvec4) Load 9(input) + 32: 7(fvec4) FNegate 31 + Store 19(@entryPointOutput) 32 + Return + 27: Label + 34: 7(fvec4) Load 9(input) + 35: 7(fvec4) Load 9(input) + 36: 13(bvec4) FOrdEqual 34 35 + 37: 12(bool) All 36 + SelectionMerge 39 None + BranchConditional 37 38 39 + 38: Label + Branch 39 + 39: Label + 40: 7(fvec4) Load 9(input) + 41: 7(fvec4) Load 9(input) + 42: 13(bvec4) FOrdEqual 40 41 + 43: 12(bool) All 42 + SelectionMerge 45 None + BranchConditional 43 44 45 + 44: Label + Branch 45 + 45: Label + 46: 7(fvec4) Load 9(input) + 47: 7(fvec4) Load 9(input) + 48: 13(bvec4) FOrdEqual 46 47 + 49: 12(bool) All 48 + SelectionMerge 51 None + BranchConditional 49 50 51 + 50: Label + 52: 7(fvec4) Load 9(input) + Store 19(@entryPointOutput) 52 + Return + 51: Label + 54: 7(fvec4) Load 9(input) + 55: 7(fvec4) Load 9(input) + 56: 13(bvec4) FOrdEqual 54 55 + 57: 12(bool) All 56 + SelectionMerge 59 None + BranchConditional 57 58 62 + 58: Label + 60: 7(fvec4) Load 9(input) + Store 19(@entryPointOutput) 60 + Return + 62: Label + 63: 7(fvec4) Load 9(input) + 64: 7(fvec4) FNegate 63 + Store 19(@entryPointOutput) 64 + Return + 59: Label + 71: 70(ptr) AccessChain 9(input) 69 + 72: 6(float) Load 71 + Store 67(ii) 72 + SelectionMerge 74 None + BranchConditional 72 73 74 + 73: Label + 75: 6(float) Load 67(ii) + 77: 6(float) FAdd 75 76 + Store 67(ii) 77 + Branch 74 + 74: Label + 81: 78(int) Load 80(ii) + 83: 78(int) IAdd 81 82 + Store 80(ii) 83 Return FunctionEnd diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out index 07679345..42e0d3e7 100755 --- a/Test/baseResults/hlsl.init.frag.out +++ b/Test/baseResults/hlsl.init.frag.out @@ -124,10 +124,13 @@ gl_FragCoord origin is upper left 0:33 move second child to first child (temp float) 0:33 'a9' (temp float) 0:33 'a5' (global float) -0:35 Branch: Return with expression -0:35 component-wise multiply (temp 4-component vector of float) -0:35 'input' (in 4-component vector of float) -0:35 'a1' (global 4-component vector of float) +0:35 Sequence +0:35 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:35 component-wise multiply (temp 4-component vector of float) +0:35 'input' (in 4-component vector of float) +0:35 'a1' (global 4-component vector of float) +0:35 Branch: Return 0:? Linker Objects 0:? 'a1' (global 4-component vector of float) 0:? 'b1' (global 4-component vector of float) @@ -277,10 +280,13 @@ gl_FragCoord origin is upper left 0:33 move second child to first child (temp float) 0:33 'a9' (temp float) 0:33 'a5' (global float) -0:35 Branch: Return with expression -0:35 component-wise multiply (temp 4-component vector of float) -0:35 'input' (in 4-component vector of float) -0:35 'a1' (global 4-component vector of float) +0:35 Sequence +0:35 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:35 component-wise multiply (temp 4-component vector of float) +0:35 'input' (in 4-component vector of float) +0:35 'a1' (global 4-component vector of float) +0:35 Branch: Return 0:? Linker Objects 0:? 'a1' (global 4-component vector of float) 0:? 'b1' (global 4-component vector of float) @@ -303,12 +309,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 95 +// Id's are bound by 97 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "ShaderFunction" 88 + EntryPoint Fragment 4 "ShaderFunction" 88 90 ExecutionMode 4 OriginUpperLeft Name 4 "ShaderFunction" Name 9 "a1" @@ -347,9 +353,10 @@ gl_FragCoord origin is upper left Name 82 "a8" Name 83 "b2" Name 85 "a9" - Name 88 "input" - Name 93 "c4" - Name 94 "b5" + Name 88 "@entryPointOutput" + Name 90 "input" + Name 95 "c4" + Name 96 "b5" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -418,10 +425,12 @@ gl_FragCoord origin is upper left 73: 32(int) Constant 12 81: TypePointer Function 6(float) 83(b2): 22(ptr) Variable Private - 87: TypePointer Input 7(fvec4) - 88(input): 87(ptr) Variable Input - 93(c4): 22(ptr) Variable Private - 94(b5): 22(ptr) Variable Private + 87: TypePointer Output 7(fvec4) +88(@entryPointOutput): 87(ptr) Variable Output + 89: TypePointer Input 7(fvec4) + 90(input): 89(ptr) Variable Input + 95(c4): 22(ptr) Variable Private + 96(b5): 22(ptr) Variable Private 4(ShaderFunction): 2 Function None 3 5: Label 62(a2): 61(ptr) Variable Function @@ -457,8 +466,9 @@ gl_FragCoord origin is upper left Store 82(a8) 84 86: 6(float) Load 29(a5) Store 85(a9) 86 - 89: 7(fvec4) Load 88(input) - 90: 7(fvec4) Load 9(a1) - 91: 7(fvec4) FMul 89 90 - ReturnValue 91 + 91: 7(fvec4) Load 90(input) + 92: 7(fvec4) Load 9(a1) + 93: 7(fvec4) FMul 91 92 + Store 88(@entryPointOutput) 93 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.init2.frag.out b/Test/baseResults/hlsl.init2.frag.out index 716c34e0..03ce8b5d 100644 --- a/Test/baseResults/hlsl.init2.frag.out +++ b/Test/baseResults/hlsl.init2.frag.out @@ -43,8 +43,11 @@ gl_FragCoord origin is upper left 0:30 1.000000 0:30 1.000000 0:30 1.000000 -0:31 Branch: Return with expression -0:31 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Sequence +0:31 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) +0:31 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Branch: Return 0:? Linker Objects @@ -95,18 +98,21 @@ gl_FragCoord origin is upper left 0:30 1.000000 0:30 1.000000 0:30 1.000000 -0:31 Branch: Return with expression -0:31 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Sequence +0:31 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) +0:31 'ps_output' (temp structure{temp 4-component vector of float color}) +0:31 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 44 +// Id's are bound by 46 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 43 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "Test1(" @@ -123,6 +129,7 @@ gl_FragCoord origin is upper left Name 34 "PS_OUTPUT" MemberName 34(PS_OUTPUT) 0 "color" Name 36 "ps_output" + Name 43 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 @@ -152,14 +159,17 @@ gl_FragCoord origin is upper left 38: 37(int) Constant 0 39: 33(fvec4) ConstantComposite 13 13 13 13 40: TypePointer Function 33(fvec4) + 42: TypePointer Output 34(PS_OUTPUT) +43(@entryPointOutput): 42(ptr) Variable Output 4(main): 2 Function None 3 5: Label 36(ps_output): 35(ptr) Variable Function 32: 2 FunctionCall 6(Test1() 41: 40(ptr) AccessChain 36(ps_output) 38 Store 41 39 - 42:34(PS_OUTPUT) Load 36(ps_output) - ReturnValue 42 + 44:34(PS_OUTPUT) Load 36(ps_output) + Store 43(@entryPointOutput) 44 + Return FunctionEnd 6(Test1(): 2 Function None 3 7: Label diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out index e48bfb8c..044943da 100644 --- a/Test/baseResults/hlsl.inoutquals.frag.out +++ b/Test/baseResults/hlsl.inoutquals.frag.out @@ -55,8 +55,11 @@ gl_FragCoord origin is upper left 0:22 'inpos' (noperspective in 4-component vector of float FragCoord) 0:22 Constant: 0:22 3 (const int) -0:24 Branch: Return with expression -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 Branch: Return 0:? Linker Objects @@ -119,18 +122,21 @@ gl_FragCoord origin is upper left 0:22 'inpos' (noperspective in 4-component vector of float FragCoord) 0:22 Constant: 0:22 3 (const int) -0:24 Branch: Return with expression -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 Sequence +0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:24 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 54 +// Id's are bound by 56 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 45 + EntryPoint Fragment 4 "main" 45 53 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 12 "MyFunc(f1;f1;f1;" @@ -148,6 +154,7 @@ gl_FragCoord origin is upper left MemberName 31(PS_OUTPUT) 1 "Depth" Name 33 "psout" Name 45 "inpos" + Name 53 "@entryPointOutput" MemberDecorate 31(PS_OUTPUT) 1 BuiltIn FragDepth Decorate 45(inpos) NoPerspective Decorate 45(inpos) BuiltIn FragCoord @@ -172,6 +179,8 @@ gl_FragCoord origin is upper left 46: TypeInt 32 0 47: 46(int) Constant 3 48: TypePointer Input 6(float) + 52: TypePointer Output 31(PS_OUTPUT) +53(@entryPointOutput): 52(ptr) Variable Output 4(main): 2 Function None 3 5: Label 17(x): 7(ptr) Variable Function @@ -202,8 +211,9 @@ gl_FragCoord origin is upper left 50: 6(float) Load 49 51: 7(ptr) AccessChain 33(psout) 43 Store 51 50 - 52:31(PS_OUTPUT) Load 33(psout) - ReturnValue 52 + 54:31(PS_OUTPUT) Load 33(psout) + Store 53(@entryPointOutput) 54 + Return FunctionEnd 12(MyFunc(f1;f1;f1;): 2 Function None 8 9(x): 7(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.intrinsics.barriers.comp.out b/Test/baseResults/hlsl.intrinsics.barriers.comp.out index 46cf5d55..ab697685 100644 --- a/Test/baseResults/hlsl.intrinsics.barriers.comp.out +++ b/Test/baseResults/hlsl.intrinsics.barriers.comp.out @@ -11,9 +11,12 @@ local_size = (1, 1, 1) 0:7 GroupMemoryBarrierWithGroupSync (global void) 0:8 WorkgroupMemoryBarrier (global void) 0:9 WorkgroupMemoryBarrierWithGroupSync (global void) -0:11 Branch: Return with expression -0:11 Constant: -0:11 0.000000 +0:11 Sequence +0:11 move second child to first child (temp float) +0:? '@entryPointOutput' (out float) +0:11 Constant: +0:11 0.000000 +0:11 Branch: Return 0:? Linker Objects @@ -32,21 +35,25 @@ local_size = (1, 1, 1) 0:7 GroupMemoryBarrierWithGroupSync (global void) 0:8 WorkgroupMemoryBarrier (global void) 0:9 WorkgroupMemoryBarrierWithGroupSync (global void) -0:11 Branch: Return with expression -0:11 Constant: -0:11 0.000000 +0:11 Sequence +0:11 move second child to first child (temp float) +0:? '@entryPointOutput' (out float) +0:11 Constant: +0:11 0.000000 +0:11 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 15 +// Id's are bound by 17 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" + EntryPoint GLCompute 4 "ComputeShaderFunction" 14 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" + Name 14 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -56,7 +63,9 @@ local_size = (1, 1, 1) 10: 6(int) Constant 2 11: 6(int) Constant 256 12: TypeFloat 32 - 13: 12(float) Constant 0 + 13: TypePointer Output 12(float) +14(@entryPointOutput): 13(ptr) Variable Output + 15: 12(float) Constant 0 4(ComputeShaderFunction): 2 Function None 3 5: Label MemoryBarrier 7 8 @@ -65,5 +74,6 @@ local_size = (1, 1, 1) ControlBarrier 7 7 9 MemoryBarrier 10 11 ControlBarrier 10 10 11 - ReturnValue 13 + Store 14(@entryPointOutput) 15 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out index 0dd308fb..e2fb4e57 100644 --- a/Test/baseResults/hlsl.intrinsics.comp.out +++ b/Test/baseResults/hlsl.intrinsics.comp.out @@ -299,12 +299,15 @@ local_size = (1, 1, 1) 0:125 AtomicXor (temp 4-component vector of uint) 0:125 'gs_ua4' (global 4-component vector of uint) 0:125 'gs_ub4' (global 4-component vector of uint) -0:128 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:128 Sequence +0:128 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:128 Branch: Return 0:? Linker Objects 0:? 'gs_ua' (global uint) 0:? 'gs_ub' (global uint) @@ -623,12 +626,15 @@ local_size = (1, 1, 1) 0:125 AtomicXor (temp 4-component vector of uint) 0:125 'gs_ua4' (global 4-component vector of uint) 0:125 'gs_ub4' (global 4-component vector of uint) -0:128 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:128 Sequence +0:128 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:128 Branch: Return 0:? Linker Objects 0:? 'gs_ua' (global uint) 0:? 'gs_ub' (global uint) @@ -645,12 +651,12 @@ local_size = (1, 1, 1) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 217 +// Id's are bound by 219 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" 175 + EntryPoint GLCompute 4 "ComputeShaderFunction" 175 215 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;" @@ -692,6 +698,7 @@ local_size = (1, 1, 1) Name 181 "gs_ub4" Name 185 "out_u4" Name 193 "gs_uc4" + Name 215 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -740,8 +747,10 @@ local_size = (1, 1, 1) 181(gs_ub4): 179(ptr) Variable Private 184: TypePointer Function 178(ivec4) 193(gs_uc4): 179(ptr) Variable Private - 214: 6(float) Constant 1082130432 - 215: 173(fvec4) ConstantComposite 128 129 169 214 + 214: TypePointer Output 173(fvec4) +215(@entryPointOutput): 214(ptr) Variable Output + 216: 6(float) Constant 1082130432 + 217: 173(fvec4) ConstantComposite 128 129 169 216 4(ComputeShaderFunction): 2 Function None 3 5: Label 185(out_u4): 184(ptr) Variable Function @@ -784,7 +793,8 @@ local_size = (1, 1, 1) 212: 178(ivec4) Load 181(gs_ub4) 213: 178(ivec4) AtomicXor 180(gs_ua4) 55 56 212 Store 185(out_u4) 213 - ReturnValue 215 + Store 215(@entryPointOutput) 217 + Return FunctionEnd 16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 11(inF0): 7(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.intrinsics.double.frag.out b/Test/baseResults/hlsl.intrinsics.double.frag.out index 350c3321..68edc7f0 100644 --- a/Test/baseResults/hlsl.intrinsics.double.frag.out +++ b/Test/baseResults/hlsl.intrinsics.double.frag.out @@ -27,9 +27,12 @@ gl_FragCoord origin is upper left 0:7 Construct uvec2 (temp 2-component vector of uint) 0:7 'inU1a' (in uint) 0:7 'inU1b' (in uint) -0:9 Branch: Return with expression -0:9 Constant: -0:9 0.000000 +0:9 Sequence +0:9 move second child to first child (temp float) +0:? '@entryPointOutput' (out float) +0:9 Constant: +0:9 0.000000 +0:9 Branch: Return 0:? Linker Objects @@ -64,20 +67,23 @@ gl_FragCoord origin is upper left 0:7 Construct uvec2 (temp 2-component vector of uint) 0:7 'inU1a' (in uint) 0:7 'inU1b' (in uint) -0:9 Branch: Return with expression -0:9 Constant: -0:9 0.000000 +0:9 Sequence +0:9 move second child to first child (temp float) +0:? '@entryPointOutput' (out float) +0:9 Constant: +0:9 0.000000 +0:9 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 30 +// Id's are bound by 32 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 10 12 14 20 22 + EntryPoint Fragment 4 "PixelShaderFunction" 10 12 14 20 22 29 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 8 "r00" @@ -87,6 +93,7 @@ gl_FragCoord origin is upper left Name 17 "r01" Name 20 "inU1a" Name 22 "inU1b" + Name 29 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 64 @@ -101,7 +108,9 @@ gl_FragCoord origin is upper left 22(inU1b): 19(ptr) Variable Input 24: TypeVector 18(int) 2 27: TypeFloat 32 - 28: 27(float) Constant 0 + 28: TypePointer Output 27(float) +29(@entryPointOutput): 28(ptr) Variable Output + 30: 27(float) Constant 0 4(PixelShaderFunction): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -116,5 +125,6 @@ gl_FragCoord origin is upper left 25: 24(ivec2) CompositeConstruct 21 23 26: 6(float) Bitcast 25 Store 17(r01) 26 - ReturnValue 28 + Store 29(@entryPointOutput) 30 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.f1632.frag.out b/Test/baseResults/hlsl.intrinsics.f1632.frag.out index 7340531b..8adf5620 100644 --- a/Test/baseResults/hlsl.intrinsics.f1632.frag.out +++ b/Test/baseResults/hlsl.intrinsics.f1632.frag.out @@ -56,12 +56,15 @@ ERROR: node is still EOpNull! 0:30 ERROR: Bad unary op (global 4-component vector of uint) 0:30 'inF0' (in 4-component vector of float) -0:32 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:32 Sequence +0:32 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:32 Branch: Return 0:? Linker Objects @@ -118,12 +121,15 @@ ERROR: node is still EOpNull! 0:30 ERROR: Bad unary op (global 4-component vector of uint) 0:30 'inF0' (in 4-component vector of float) -0:32 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:32 Sequence +0:32 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:32 Branch: Return 0:? Linker Objects SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out index 4412726a..cc8be757 100644 --- a/Test/baseResults/hlsl.intrinsics.frag.out +++ b/Test/baseResults/hlsl.intrinsics.frag.out @@ -1552,12 +1552,15 @@ gl_FragCoord origin is upper left 0:334 'r067' (temp 4-component vector of float) 0:334 trunc (global 4-component vector of float) 0:334 'inF0' (in 4-component vector of float) -0:337 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:337 Sequence +0:337 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:337 Branch: Return 0:409 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) 0:401 Function Parameters: 0:401 'inF0' (in 2X2 matrix of float) @@ -4330,12 +4333,15 @@ gl_FragCoord origin is upper left 0:334 'r067' (temp 4-component vector of float) 0:334 trunc (global 4-component vector of float) 0:334 'inF0' (in 4-component vector of float) -0:337 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:337 Sequence +0:337 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:337 Branch: Return 0:409 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) 0:401 Function Parameters: 0:401 'inF0' (in 2X2 matrix of float) @@ -5553,13 +5559,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 1812 +// Id's are bound by 1814 Capability Shader Capability DerivativeControl 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 810 837 845 854 + EntryPoint Fragment 4 "PixelShaderFunction" 810 837 845 854 1060 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 16 "PixelShaderFunctionS(f1;f1;f1;u1;u1;" @@ -5883,203 +5889,204 @@ gl_FragCoord origin is upper left Name 1050 "r065" Name 1053 "r066" Name 1056 "r067" - Name 1062 "r000" - Name 1065 "r001" - Name 1070 "r003" - Name 1073 "r004" - Name 1076 "r005" - Name 1079 "r006" - Name 1083 "r007" - Name 1094 "r008" - Name 1099 "r009" - Name 1102 "r010" - Name 1105 "r011" - Name 1108 "r012" - Name 1111 "r013" - Name 1114 "r014" - Name 1117 "r015" - Name 1120 "r016" - Name 1123 "r017" - Name 1126 "r018" - Name 1129 "r019" - Name 1132 "R020" - Name 1135 "r021" - Name 1138 "r022" - Name 1148 "r023" - Name 1151 "r024" - Name 1153 "ResType" - Name 1157 "r025" - Name 1160 "r026" - Name 1164 "r026a" - Name 1169 "r027" - Name 1172 "r028" - Name 1176 "r029" - Name 1179 "r030" - Name 1183 "r031" - Name 1187 "r032" - Name 1191 "r033" - Name 1194 "r034" - Name 1197 "r035" - Name 1200 "r036" - Name 1205 "r037" - Name 1208 "r038" - Name 1215 "r039" - Name 1218 "r049" - Name 1223 "r041" - Name 1226 "r042" - Name 1230 "r043" - Name 1233 "r044" - Name 1238 "r046" - Name 1245 "r000" - Name 1248 "r001" - Name 1253 "r003" - Name 1256 "r004" - Name 1259 "r005" - Name 1262 "r006" - Name 1266 "r007" - Name 1277 "r008" - Name 1282 "r009" - Name 1285 "r010" - Name 1288 "r011" - Name 1291 "r012" - Name 1294 "r013" - Name 1297 "r014" - Name 1300 "r015" - Name 1303 "r016" - Name 1306 "r017" - Name 1309 "r018" - Name 1312 "r019" - Name 1315 "R020" - Name 1318 "r021" - Name 1321 "r022" - Name 1334 "r023" - Name 1337 "r024" - Name 1339 "ResType" - Name 1343 "r025" - Name 1346 "r026" - Name 1350 "r026a" - Name 1355 "r027" - Name 1358 "r028" - Name 1362 "r029" - Name 1365 "r030" - Name 1369 "r031" - Name 1373 "r032" - Name 1377 "r033" - Name 1380 "r034" - Name 1383 "r035" - Name 1386 "r036" - Name 1391 "r037" - Name 1394 "r038" - Name 1401 "r039" - Name 1404 "r049" - Name 1409 "r041" - Name 1412 "r042" - Name 1416 "r043" - Name 1419 "r044" - Name 1424 "r046" - Name 1431 "r000" - Name 1434 "r001" - Name 1439 "r003" - Name 1442 "r004" - Name 1445 "r005" - Name 1448 "r006" - Name 1452 "r007" - Name 1463 "r008" - Name 1468 "r009" - Name 1471 "r010" - Name 1474 "r011" - Name 1477 "r012" - Name 1480 "r013" - Name 1483 "r014" - Name 1486 "r015" - Name 1489 "r016" - Name 1492 "r017" - Name 1495 "r018" - Name 1498 "r019" - Name 1501 "R020" - Name 1504 "r021" - Name 1507 "r022" - Name 1523 "r023" - Name 1526 "r024" - Name 1528 "ResType" - Name 1532 "r025" - Name 1535 "r026" - Name 1539 "r026a" - Name 1544 "r027" - Name 1547 "r028" - Name 1551 "r029" - Name 1554 "r030" - Name 1558 "r031" - Name 1562 "r032" - Name 1566 "r033" - Name 1569 "r034" - Name 1572 "r035" - Name 1575 "r036" - Name 1580 "r037" - Name 1583 "r038" - Name 1590 "r039" - Name 1593 "r049" - Name 1598 "r041" - Name 1601 "r042" - Name 1605 "r043" - Name 1608 "r044" - Name 1613 "r046" - Name 1620 "r0" - Name 1624 "r1" - Name 1628 "r2" - Name 1632 "r3" - Name 1636 "r4" - Name 1640 "r5" - Name 1644 "r6" - Name 1648 "r7" - Name 1652 "r8" - Name 1656 "r0" - Name 1660 "r1" - Name 1664 "r2" - Name 1668 "r3" - Name 1672 "r4" - Name 1676 "r5" - Name 1680 "r6" - Name 1684 "r7" - Name 1688 "r8" - Name 1692 "r0" - Name 1696 "r1" - Name 1700 "r2" - Name 1704 "r3" - Name 1708 "r4" - Name 1712 "r5" - Name 1716 "r6" - Name 1720 "r7" - Name 1724 "r8" - Name 1728 "r00" - Name 1732 "r01" - Name 1736 "r02" - Name 1740 "r03" - Name 1744 "r04" - Name 1748 "r05" - Name 1752 "r06" - Name 1756 "r07" - Name 1760 "r08" - Name 1764 "r09" - Name 1768 "r10" - Name 1772 "r11" - Name 1776 "r12" - Name 1780 "r13" - Name 1784 "r14" - Name 1788 "r15" - Name 1792 "r16" - Name 1797 "gs_ua" - Name 1798 "gs_ub" - Name 1799 "gs_uc" - Name 1801 "gs_ua2" - Name 1802 "gs_ub2" - Name 1803 "gs_uc2" - Name 1805 "gs_ua3" - Name 1806 "gs_ub3" - Name 1807 "gs_uc3" - Name 1809 "gs_ua4" - Name 1810 "gs_ub4" - Name 1811 "gs_uc4" + Name 1060 "@entryPointOutput" + Name 1064 "r000" + Name 1067 "r001" + Name 1072 "r003" + Name 1075 "r004" + Name 1078 "r005" + Name 1081 "r006" + Name 1085 "r007" + Name 1096 "r008" + Name 1101 "r009" + Name 1104 "r010" + Name 1107 "r011" + Name 1110 "r012" + Name 1113 "r013" + Name 1116 "r014" + Name 1119 "r015" + Name 1122 "r016" + Name 1125 "r017" + Name 1128 "r018" + Name 1131 "r019" + Name 1134 "R020" + Name 1137 "r021" + Name 1140 "r022" + Name 1150 "r023" + Name 1153 "r024" + Name 1155 "ResType" + Name 1159 "r025" + Name 1162 "r026" + Name 1166 "r026a" + Name 1171 "r027" + Name 1174 "r028" + Name 1178 "r029" + Name 1181 "r030" + Name 1185 "r031" + Name 1189 "r032" + Name 1193 "r033" + Name 1196 "r034" + Name 1199 "r035" + Name 1202 "r036" + Name 1207 "r037" + Name 1210 "r038" + Name 1217 "r039" + Name 1220 "r049" + Name 1225 "r041" + Name 1228 "r042" + Name 1232 "r043" + Name 1235 "r044" + Name 1240 "r046" + Name 1247 "r000" + Name 1250 "r001" + Name 1255 "r003" + Name 1258 "r004" + Name 1261 "r005" + Name 1264 "r006" + Name 1268 "r007" + Name 1279 "r008" + Name 1284 "r009" + Name 1287 "r010" + Name 1290 "r011" + Name 1293 "r012" + Name 1296 "r013" + Name 1299 "r014" + Name 1302 "r015" + Name 1305 "r016" + Name 1308 "r017" + Name 1311 "r018" + Name 1314 "r019" + Name 1317 "R020" + Name 1320 "r021" + Name 1323 "r022" + Name 1336 "r023" + Name 1339 "r024" + Name 1341 "ResType" + Name 1345 "r025" + Name 1348 "r026" + Name 1352 "r026a" + Name 1357 "r027" + Name 1360 "r028" + Name 1364 "r029" + Name 1367 "r030" + Name 1371 "r031" + Name 1375 "r032" + Name 1379 "r033" + Name 1382 "r034" + Name 1385 "r035" + Name 1388 "r036" + Name 1393 "r037" + Name 1396 "r038" + Name 1403 "r039" + Name 1406 "r049" + Name 1411 "r041" + Name 1414 "r042" + Name 1418 "r043" + Name 1421 "r044" + Name 1426 "r046" + Name 1433 "r000" + Name 1436 "r001" + Name 1441 "r003" + Name 1444 "r004" + Name 1447 "r005" + Name 1450 "r006" + Name 1454 "r007" + Name 1465 "r008" + Name 1470 "r009" + Name 1473 "r010" + Name 1476 "r011" + Name 1479 "r012" + Name 1482 "r013" + Name 1485 "r014" + Name 1488 "r015" + Name 1491 "r016" + Name 1494 "r017" + Name 1497 "r018" + Name 1500 "r019" + Name 1503 "R020" + Name 1506 "r021" + Name 1509 "r022" + Name 1525 "r023" + Name 1528 "r024" + Name 1530 "ResType" + Name 1534 "r025" + Name 1537 "r026" + Name 1541 "r026a" + Name 1546 "r027" + Name 1549 "r028" + Name 1553 "r029" + Name 1556 "r030" + Name 1560 "r031" + Name 1564 "r032" + Name 1568 "r033" + Name 1571 "r034" + Name 1574 "r035" + Name 1577 "r036" + Name 1582 "r037" + Name 1585 "r038" + Name 1592 "r039" + Name 1595 "r049" + Name 1600 "r041" + Name 1603 "r042" + Name 1607 "r043" + Name 1610 "r044" + Name 1615 "r046" + Name 1622 "r0" + Name 1626 "r1" + Name 1630 "r2" + Name 1634 "r3" + Name 1638 "r4" + Name 1642 "r5" + Name 1646 "r6" + Name 1650 "r7" + Name 1654 "r8" + Name 1658 "r0" + Name 1662 "r1" + Name 1666 "r2" + Name 1670 "r3" + Name 1674 "r4" + Name 1678 "r5" + Name 1682 "r6" + Name 1686 "r7" + Name 1690 "r8" + Name 1694 "r0" + Name 1698 "r1" + Name 1702 "r2" + Name 1706 "r3" + Name 1710 "r4" + Name 1714 "r5" + Name 1718 "r6" + Name 1722 "r7" + Name 1726 "r8" + Name 1730 "r00" + Name 1734 "r01" + Name 1738 "r02" + Name 1742 "r03" + Name 1746 "r04" + Name 1750 "r05" + Name 1754 "r06" + Name 1758 "r07" + Name 1762 "r08" + Name 1766 "r09" + Name 1770 "r10" + Name 1774 "r11" + Name 1778 "r12" + Name 1782 "r13" + Name 1786 "r14" + Name 1790 "r15" + Name 1794 "r16" + Name 1799 "gs_ua" + Name 1800 "gs_ub" + Name 1801 "gs_uc" + Name 1803 "gs_ua2" + Name 1804 "gs_ub2" + Name 1805 "gs_uc2" + Name 1807 "gs_ua3" + Name 1808 "gs_ub3" + Name 1809 "gs_uc3" + Name 1811 "gs_ua4" + Name 1812 "gs_ub4" + Name 1813 "gs_uc4" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -6180,39 +6187,41 @@ gl_FragCoord origin is upper left 945(ResType): TypeStruct 64(fvec4) 825(ivec4) 952: TypePointer Function 859(bvec4) 1012: 830(ivec4) ConstantComposite 512 278 383 667 - 1059: 6(float) Constant 1082130432 - 1060: 64(fvec4) ConstantComposite 274 509 804 1059 - 1087: 48 ConstantComposite 369 369 - 1088: TypeMatrix 370(bvec2) 2 - 1153(ResType): TypeStruct 48 342(ivec2) - 1241: 24(fvec2) ConstantComposite 509 509 - 1242: 48 ConstantComposite 1241 1241 - 1270: 56 ConstantComposite 605 605 605 - 1271: TypeMatrix 606(bvec3) 3 - 1339(ResType): TypeStruct 56 578(ivec3) - 1427: 36(fvec3) ConstantComposite 804 804 804 - 1428: 56 ConstantComposite 1427 1427 1427 - 1456: 65 ConstantComposite 858 858 858 858 - 1457: TypeMatrix 859(bvec4) 4 - 1528(ResType): TypeStruct 65 825(ivec4) - 1616: 64(fvec4) ConstantComposite 1059 1059 1059 1059 - 1617: 65 ConstantComposite 1616 1616 1616 1616 - 1796: TypePointer Private 8(int) - 1797(gs_ua): 1796(ptr) Variable Private - 1798(gs_ub): 1796(ptr) Variable Private - 1799(gs_uc): 1796(ptr) Variable Private - 1800: TypePointer Private 26(ivec2) - 1801(gs_ua2): 1800(ptr) Variable Private - 1802(gs_ub2): 1800(ptr) Variable Private - 1803(gs_uc2): 1800(ptr) Variable Private - 1804: TypePointer Private 38(ivec3) - 1805(gs_ua3): 1804(ptr) Variable Private - 1806(gs_ub3): 1804(ptr) Variable Private - 1807(gs_uc3): 1804(ptr) Variable Private - 1808: TypePointer Private 830(ivec4) - 1809(gs_ua4): 1808(ptr) Variable Private - 1810(gs_ub4): 1808(ptr) Variable Private - 1811(gs_uc4): 1808(ptr) Variable Private + 1059: TypePointer Output 64(fvec4) +1060(@entryPointOutput): 1059(ptr) Variable Output + 1061: 6(float) Constant 1082130432 + 1062: 64(fvec4) ConstantComposite 274 509 804 1061 + 1089: 48 ConstantComposite 369 369 + 1090: TypeMatrix 370(bvec2) 2 + 1155(ResType): TypeStruct 48 342(ivec2) + 1243: 24(fvec2) ConstantComposite 509 509 + 1244: 48 ConstantComposite 1243 1243 + 1272: 56 ConstantComposite 605 605 605 + 1273: TypeMatrix 606(bvec3) 3 + 1341(ResType): TypeStruct 56 578(ivec3) + 1429: 36(fvec3) ConstantComposite 804 804 804 + 1430: 56 ConstantComposite 1429 1429 1429 + 1458: 65 ConstantComposite 858 858 858 858 + 1459: TypeMatrix 859(bvec4) 4 + 1530(ResType): TypeStruct 65 825(ivec4) + 1618: 64(fvec4) ConstantComposite 1061 1061 1061 1061 + 1619: 65 ConstantComposite 1618 1618 1618 1618 + 1798: TypePointer Private 8(int) + 1799(gs_ua): 1798(ptr) Variable Private + 1800(gs_ub): 1798(ptr) Variable Private + 1801(gs_uc): 1798(ptr) Variable Private + 1802: TypePointer Private 26(ivec2) + 1803(gs_ua2): 1802(ptr) Variable Private + 1804(gs_ub2): 1802(ptr) Variable Private + 1805(gs_uc2): 1802(ptr) Variable Private + 1806: TypePointer Private 38(ivec3) + 1807(gs_ua3): 1806(ptr) Variable Private + 1808(gs_ub3): 1806(ptr) Variable Private + 1809(gs_uc3): 1806(ptr) Variable Private + 1810: TypePointer Private 830(ivec4) + 1811(gs_ua4): 1810(ptr) Variable Private + 1812(gs_ub4): 1810(ptr) Variable Private + 1813(gs_uc4): 1810(ptr) Variable Private 4(PixelShaderFunction): 2 Function None 3 5: Label 808(r000): 122(ptr) Variable Function @@ -6515,7 +6524,8 @@ gl_FragCoord origin is upper left 1057: 64(fvec4) Load 810(inF0) 1058: 64(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1057 Store 1056(r067) 1058 - ReturnValue 1060 + Store 1060(@entryPointOutput) 1062 + Return FunctionEnd 16(PixelShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 11(inF0): 7(ptr) FunctionParameter @@ -7395,711 +7405,711 @@ gl_FragCoord origin is upper left 52(inF1): 49(ptr) FunctionParameter 53(inF2): 49(ptr) FunctionParameter 55: Label - 1062(r000): 122(ptr) Variable Function - 1065(r001): 49(ptr) Variable Function - 1070(r003): 122(ptr) Variable Function - 1073(r004): 49(ptr) Variable Function - 1076(r005): 49(ptr) Variable Function - 1079(r006): 49(ptr) Variable Function - 1083(r007): 49(ptr) Variable Function - 1094(r008): 49(ptr) Variable Function - 1099(r009): 49(ptr) Variable Function - 1102(r010): 49(ptr) Variable Function - 1105(r011): 49(ptr) Variable Function - 1108(r012): 49(ptr) Variable Function - 1111(r013): 49(ptr) Variable Function - 1114(r014): 49(ptr) Variable Function - 1117(r015): 49(ptr) Variable Function - 1120(r016): 49(ptr) Variable Function - 1123(r017): 49(ptr) Variable Function - 1126(r018): 7(ptr) Variable Function - 1129(r019): 49(ptr) Variable Function - 1132(R020): 49(ptr) Variable Function - 1135(r021): 49(ptr) Variable Function - 1138(r022): 49(ptr) Variable Function - 1148(r023): 49(ptr) Variable Function - 1151(r024): 49(ptr) Variable Function - 1157(r025): 49(ptr) Variable Function - 1160(r026): 49(ptr) Variable Function - 1164(r026a): 49(ptr) Variable Function - 1169(r027): 49(ptr) Variable Function - 1172(r028): 49(ptr) Variable Function - 1176(r029): 49(ptr) Variable Function - 1179(r030): 49(ptr) Variable Function - 1183(r031): 49(ptr) Variable Function - 1187(r032): 49(ptr) Variable Function - 1191(r033): 49(ptr) Variable Function - 1194(r034): 49(ptr) Variable Function - 1197(r035): 49(ptr) Variable Function - 1200(r036): 49(ptr) Variable Function - 1205(r037): 49(ptr) Variable Function - 1208(r038): 49(ptr) Variable Function - 1215(r039): 49(ptr) Variable Function - 1218(r049): 49(ptr) Variable Function - 1223(r041): 49(ptr) Variable Function - 1226(r042): 49(ptr) Variable Function - 1230(r043): 49(ptr) Variable Function - 1233(r044): 49(ptr) Variable Function - 1238(r046): 49(ptr) Variable Function - 1063: 48 Load 51(inF0) - 1064: 121(bool) All 1063 - Store 1062(r000) 1064 - 1066: 48 Load 51(inF0) - 1067: 48 ExtInst 1(GLSL.std.450) 4(FAbs) 1066 - Store 1065(r001) 1067 + 1064(r000): 122(ptr) Variable Function + 1067(r001): 49(ptr) Variable Function + 1072(r003): 122(ptr) Variable Function + 1075(r004): 49(ptr) Variable Function + 1078(r005): 49(ptr) Variable Function + 1081(r006): 49(ptr) Variable Function + 1085(r007): 49(ptr) Variable Function + 1096(r008): 49(ptr) Variable Function + 1101(r009): 49(ptr) Variable Function + 1104(r010): 49(ptr) Variable Function + 1107(r011): 49(ptr) Variable Function + 1110(r012): 49(ptr) Variable Function + 1113(r013): 49(ptr) Variable Function + 1116(r014): 49(ptr) Variable Function + 1119(r015): 49(ptr) Variable Function + 1122(r016): 49(ptr) Variable Function + 1125(r017): 49(ptr) Variable Function + 1128(r018): 7(ptr) Variable Function + 1131(r019): 49(ptr) Variable Function + 1134(R020): 49(ptr) Variable Function + 1137(r021): 49(ptr) Variable Function + 1140(r022): 49(ptr) Variable Function + 1150(r023): 49(ptr) Variable Function + 1153(r024): 49(ptr) Variable Function + 1159(r025): 49(ptr) Variable Function + 1162(r026): 49(ptr) Variable Function + 1166(r026a): 49(ptr) Variable Function + 1171(r027): 49(ptr) Variable Function + 1174(r028): 49(ptr) Variable Function + 1178(r029): 49(ptr) Variable Function + 1181(r030): 49(ptr) Variable Function + 1185(r031): 49(ptr) Variable Function + 1189(r032): 49(ptr) Variable Function + 1193(r033): 49(ptr) Variable Function + 1196(r034): 49(ptr) Variable Function + 1199(r035): 49(ptr) Variable Function + 1202(r036): 49(ptr) Variable Function + 1207(r037): 49(ptr) Variable Function + 1210(r038): 49(ptr) Variable Function + 1217(r039): 49(ptr) Variable Function + 1220(r049): 49(ptr) Variable Function + 1225(r041): 49(ptr) Variable Function + 1228(r042): 49(ptr) Variable Function + 1232(r043): 49(ptr) Variable Function + 1235(r044): 49(ptr) Variable Function + 1240(r046): 49(ptr) Variable Function + 1065: 48 Load 51(inF0) + 1066: 121(bool) All 1065 + Store 1064(r000) 1066 1068: 48 Load 51(inF0) - 1069: 48 ExtInst 1(GLSL.std.450) 17(Acos) 1068 - 1071: 48 Load 51(inF0) - 1072: 121(bool) Any 1071 - Store 1070(r003) 1072 - 1074: 48 Load 51(inF0) - 1075: 48 ExtInst 1(GLSL.std.450) 16(Asin) 1074 - Store 1073(r004) 1075 - 1077: 48 Load 51(inF0) - 1078: 48 ExtInst 1(GLSL.std.450) 18(Atan) 1077 - Store 1076(r005) 1078 - 1080: 48 Load 51(inF0) - 1081: 48 Load 52(inF1) - 1082: 48 ExtInst 1(GLSL.std.450) 25(Atan2) 1080 1081 - Store 1079(r006) 1082 - 1084: 48 Load 51(inF0) - 1085: 48 ExtInst 1(GLSL.std.450) 9(Ceil) 1084 - Store 1083(r007) 1085 + 1069: 48 ExtInst 1(GLSL.std.450) 4(FAbs) 1068 + Store 1067(r001) 1069 + 1070: 48 Load 51(inF0) + 1071: 48 ExtInst 1(GLSL.std.450) 17(Acos) 1070 + 1073: 48 Load 51(inF0) + 1074: 121(bool) Any 1073 + Store 1072(r003) 1074 + 1076: 48 Load 51(inF0) + 1077: 48 ExtInst 1(GLSL.std.450) 16(Asin) 1076 + Store 1075(r004) 1077 + 1079: 48 Load 51(inF0) + 1080: 48 ExtInst 1(GLSL.std.450) 18(Atan) 1079 + Store 1078(r005) 1080 + 1082: 48 Load 51(inF0) + 1083: 48 Load 52(inF1) + 1084: 48 ExtInst 1(GLSL.std.450) 25(Atan2) 1082 1083 + Store 1081(r006) 1084 1086: 48 Load 51(inF0) - 1089: 1088 FOrdLessThan 1086 1087 - 1090: 121(bool) Any 1089 - SelectionMerge 1092 None - BranchConditional 1090 1091 1092 - 1091: Label + 1087: 48 ExtInst 1(GLSL.std.450) 9(Ceil) 1086 + Store 1085(r007) 1087 + 1088: 48 Load 51(inF0) + 1091: 1090 FOrdLessThan 1088 1089 + 1092: 121(bool) Any 1091 + SelectionMerge 1094 None + BranchConditional 1092 1093 1094 + 1093: Label Kill - 1092: Label - 1095: 48 Load 51(inF0) - 1096: 48 Load 52(inF1) - 1097: 48 Load 53(inF2) - 1098: 48 ExtInst 1(GLSL.std.450) 43(FClamp) 1095 1096 1097 - Store 1094(r008) 1098 - 1100: 48 Load 51(inF0) - 1101: 48 ExtInst 1(GLSL.std.450) 14(Cos) 1100 - Store 1099(r009) 1101 - 1103: 48 Load 51(inF0) - 1104: 48 ExtInst 1(GLSL.std.450) 20(Cosh) 1103 - Store 1102(r010) 1104 - 1106: 48 Load 51(inF0) - 1107: 48 DPdx 1106 - Store 1105(r011) 1107 - 1109: 48 Load 51(inF0) - 1110: 48 DPdxCoarse 1109 - Store 1108(r012) 1110 - 1112: 48 Load 51(inF0) - 1113: 48 DPdxFine 1112 - Store 1111(r013) 1113 - 1115: 48 Load 51(inF0) - 1116: 48 DPdy 1115 - Store 1114(r014) 1116 - 1118: 48 Load 51(inF0) - 1119: 48 DPdyCoarse 1118 - Store 1117(r015) 1119 - 1121: 48 Load 51(inF0) - 1122: 48 DPdyFine 1121 - Store 1120(r016) 1122 - 1124: 48 Load 51(inF0) - 1125: 48 ExtInst 1(GLSL.std.450) 12(Degrees) 1124 - Store 1123(r017) 1125 - 1127: 48 Load 51(inF0) - 1128: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1127 - Store 1126(r018) 1128 - 1130: 48 Load 51(inF0) - 1131: 48 ExtInst 1(GLSL.std.450) 27(Exp) 1130 - Store 1129(r019) 1131 - 1133: 48 Load 51(inF0) - 1134: 48 ExtInst 1(GLSL.std.450) 29(Exp2) 1133 - Store 1132(R020) 1134 - 1136: 48 Load 51(inF0) - 1137: 48 ExtInst 1(GLSL.std.450) 8(Floor) 1136 - Store 1135(r021) 1137 - 1139: 48 Load 51(inF0) - 1140: 48 Load 52(inF1) - 1141: 24(fvec2) CompositeExtract 1139 0 - 1142: 24(fvec2) CompositeExtract 1140 0 - 1143: 24(fvec2) FMod 1141 1142 - 1144: 24(fvec2) CompositeExtract 1139 1 - 1145: 24(fvec2) CompositeExtract 1140 1 - 1146: 24(fvec2) FMod 1144 1145 - 1147: 48 CompositeConstruct 1143 1146 - Store 1138(r022) 1147 - 1149: 48 Load 51(inF0) - 1150: 48 ExtInst 1(GLSL.std.450) 10(Fract) 1149 - Store 1148(r023) 1150 - 1152: 48 Load 51(inF0) - 1154:1153(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1152 - 1155: 342(ivec2) CompositeExtract 1154 1 - Store 52(inF1) 1155 - 1156: 48 CompositeExtract 1154 0 - Store 1151(r024) 1156 - 1158: 48 Load 51(inF0) - 1159: 48 Fwidth 1158 - Store 1157(r025) 1159 - 1161: 48 Load 51(inF0) - 1162: 48 Load 52(inF1) - 1163: 48 ExtInst 1(GLSL.std.450) 53(Ldexp) 1161 1162 - Store 1160(r026) 1163 - 1165: 48 Load 51(inF0) - 1166: 48 Load 52(inF1) - 1167: 48 Load 53(inF2) - 1168: 48 ExtInst 1(GLSL.std.450) 46(FMix) 1165 1166 1167 - Store 1164(r026a) 1168 - 1170: 48 Load 51(inF0) - 1171: 48 ExtInst 1(GLSL.std.450) 28(Log) 1170 - Store 1169(r027) 1171 - 1173: 48 Load 51(inF0) - 1174: 48 ExtInst 1(GLSL.std.450) 30(Log2) 1173 - 1175: 48 MatrixTimesScalar 1174 253 - Store 1172(r028) 1175 - 1177: 48 Load 51(inF0) - 1178: 48 ExtInst 1(GLSL.std.450) 30(Log2) 1177 - Store 1176(r029) 1178 - 1180: 48 Load 51(inF0) - 1181: 48 Load 52(inF1) - 1182: 48 ExtInst 1(GLSL.std.450) 40(FMax) 1180 1181 - Store 1179(r030) 1182 - 1184: 48 Load 51(inF0) - 1185: 48 Load 52(inF1) - 1186: 48 ExtInst 1(GLSL.std.450) 37(FMin) 1184 1185 - Store 1183(r031) 1186 - 1188: 48 Load 51(inF0) - 1189: 48 Load 52(inF1) - 1190: 48 ExtInst 1(GLSL.std.450) 26(Pow) 1188 1189 - Store 1187(r032) 1190 - 1192: 48 Load 51(inF0) - 1193: 48 ExtInst 1(GLSL.std.450) 11(Radians) 1192 - Store 1191(r033) 1193 - 1195: 48 Load 51(inF0) - 1196: 48 ExtInst 1(GLSL.std.450) 2(RoundEven) 1195 - Store 1194(r034) 1196 - 1198: 48 Load 51(inF0) - 1199: 48 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1198 - Store 1197(r035) 1199 - 1201: 48 Load 51(inF0) - 1202: 24(fvec2) CompositeConstruct 165 165 - 1203: 24(fvec2) CompositeConstruct 274 274 - 1204: 48 ExtInst 1(GLSL.std.450) 43(FClamp) 1201 1202 1203 - Store 1200(r036) 1204 - 1206: 48 Load 51(inF0) - 1207: 48 ExtInst 1(GLSL.std.450) 6(FSign) 1206 - Store 1205(r037) 1207 - 1209: 48 Load 51(inF0) - 1210: 48 ExtInst 1(GLSL.std.450) 13(Sin) 1209 - Store 1208(r038) 1210 + 1094: Label + 1097: 48 Load 51(inF0) + 1098: 48 Load 52(inF1) + 1099: 48 Load 53(inF2) + 1100: 48 ExtInst 1(GLSL.std.450) 43(FClamp) 1097 1098 1099 + Store 1096(r008) 1100 + 1102: 48 Load 51(inF0) + 1103: 48 ExtInst 1(GLSL.std.450) 14(Cos) 1102 + Store 1101(r009) 1103 + 1105: 48 Load 51(inF0) + 1106: 48 ExtInst 1(GLSL.std.450) 20(Cosh) 1105 + Store 1104(r010) 1106 + 1108: 48 Load 51(inF0) + 1109: 48 DPdx 1108 + Store 1107(r011) 1109 + 1111: 48 Load 51(inF0) + 1112: 48 DPdxCoarse 1111 + Store 1110(r012) 1112 + 1114: 48 Load 51(inF0) + 1115: 48 DPdxFine 1114 + Store 1113(r013) 1115 + 1117: 48 Load 51(inF0) + 1118: 48 DPdy 1117 + Store 1116(r014) 1118 + 1120: 48 Load 51(inF0) + 1121: 48 DPdyCoarse 1120 + Store 1119(r015) 1121 + 1123: 48 Load 51(inF0) + 1124: 48 DPdyFine 1123 + Store 1122(r016) 1124 + 1126: 48 Load 51(inF0) + 1127: 48 ExtInst 1(GLSL.std.450) 12(Degrees) 1126 + Store 1125(r017) 1127 + 1129: 48 Load 51(inF0) + 1130: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1129 + Store 1128(r018) 1130 + 1132: 48 Load 51(inF0) + 1133: 48 ExtInst 1(GLSL.std.450) 27(Exp) 1132 + Store 1131(r019) 1133 + 1135: 48 Load 51(inF0) + 1136: 48 ExtInst 1(GLSL.std.450) 29(Exp2) 1135 + Store 1134(R020) 1136 + 1138: 48 Load 51(inF0) + 1139: 48 ExtInst 1(GLSL.std.450) 8(Floor) 1138 + Store 1137(r021) 1139 + 1141: 48 Load 51(inF0) + 1142: 48 Load 52(inF1) + 1143: 24(fvec2) CompositeExtract 1141 0 + 1144: 24(fvec2) CompositeExtract 1142 0 + 1145: 24(fvec2) FMod 1143 1144 + 1146: 24(fvec2) CompositeExtract 1141 1 + 1147: 24(fvec2) CompositeExtract 1142 1 + 1148: 24(fvec2) FMod 1146 1147 + 1149: 48 CompositeConstruct 1145 1148 + Store 1140(r022) 1149 + 1151: 48 Load 51(inF0) + 1152: 48 ExtInst 1(GLSL.std.450) 10(Fract) 1151 + Store 1150(r023) 1152 + 1154: 48 Load 51(inF0) + 1156:1155(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1154 + 1157: 342(ivec2) CompositeExtract 1156 1 + Store 52(inF1) 1157 + 1158: 48 CompositeExtract 1156 0 + Store 1153(r024) 1158 + 1160: 48 Load 51(inF0) + 1161: 48 Fwidth 1160 + Store 1159(r025) 1161 + 1163: 48 Load 51(inF0) + 1164: 48 Load 52(inF1) + 1165: 48 ExtInst 1(GLSL.std.450) 53(Ldexp) 1163 1164 + Store 1162(r026) 1165 + 1167: 48 Load 51(inF0) + 1168: 48 Load 52(inF1) + 1169: 48 Load 53(inF2) + 1170: 48 ExtInst 1(GLSL.std.450) 46(FMix) 1167 1168 1169 + Store 1166(r026a) 1170 + 1172: 48 Load 51(inF0) + 1173: 48 ExtInst 1(GLSL.std.450) 28(Log) 1172 + Store 1171(r027) 1173 + 1175: 48 Load 51(inF0) + 1176: 48 ExtInst 1(GLSL.std.450) 30(Log2) 1175 + 1177: 48 MatrixTimesScalar 1176 253 + Store 1174(r028) 1177 + 1179: 48 Load 51(inF0) + 1180: 48 ExtInst 1(GLSL.std.450) 30(Log2) 1179 + Store 1178(r029) 1180 + 1182: 48 Load 51(inF0) + 1183: 48 Load 52(inF1) + 1184: 48 ExtInst 1(GLSL.std.450) 40(FMax) 1182 1183 + Store 1181(r030) 1184 + 1186: 48 Load 51(inF0) + 1187: 48 Load 52(inF1) + 1188: 48 ExtInst 1(GLSL.std.450) 37(FMin) 1186 1187 + Store 1185(r031) 1188 + 1190: 48 Load 51(inF0) + 1191: 48 Load 52(inF1) + 1192: 48 ExtInst 1(GLSL.std.450) 26(Pow) 1190 1191 + Store 1189(r032) 1192 + 1194: 48 Load 51(inF0) + 1195: 48 ExtInst 1(GLSL.std.450) 11(Radians) 1194 + Store 1193(r033) 1195 + 1197: 48 Load 51(inF0) + 1198: 48 ExtInst 1(GLSL.std.450) 2(RoundEven) 1197 + Store 1196(r034) 1198 + 1200: 48 Load 51(inF0) + 1201: 48 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1200 + Store 1199(r035) 1201 + 1203: 48 Load 51(inF0) + 1204: 24(fvec2) CompositeConstruct 165 165 + 1205: 24(fvec2) CompositeConstruct 274 274 + 1206: 48 ExtInst 1(GLSL.std.450) 43(FClamp) 1203 1204 1205 + Store 1202(r036) 1206 + 1208: 48 Load 51(inF0) + 1209: 48 ExtInst 1(GLSL.std.450) 6(FSign) 1208 + Store 1207(r037) 1209 1211: 48 Load 51(inF0) 1212: 48 ExtInst 1(GLSL.std.450) 13(Sin) 1211 - Store 52(inF1) 1212 + Store 1210(r038) 1212 1213: 48 Load 51(inF0) - 1214: 48 ExtInst 1(GLSL.std.450) 14(Cos) 1213 - Store 53(inF2) 1214 - 1216: 48 Load 51(inF0) - 1217: 48 ExtInst 1(GLSL.std.450) 19(Sinh) 1216 - Store 1215(r039) 1217 - 1219: 48 Load 51(inF0) - 1220: 48 Load 52(inF1) - 1221: 48 Load 53(inF2) - 1222: 48 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1219 1220 1221 - Store 1218(r049) 1222 - 1224: 48 Load 51(inF0) - 1225: 48 ExtInst 1(GLSL.std.450) 31(Sqrt) 1224 - Store 1223(r041) 1225 - 1227: 48 Load 51(inF0) - 1228: 48 Load 52(inF1) - 1229: 48 ExtInst 1(GLSL.std.450) 48(Step) 1227 1228 - Store 1226(r042) 1229 - 1231: 48 Load 51(inF0) - 1232: 48 ExtInst 1(GLSL.std.450) 15(Tan) 1231 - Store 1230(r043) 1232 - 1234: 48 Load 51(inF0) - 1235: 48 ExtInst 1(GLSL.std.450) 21(Tanh) 1234 - Store 1233(r044) 1235 + 1214: 48 ExtInst 1(GLSL.std.450) 13(Sin) 1213 + Store 52(inF1) 1214 + 1215: 48 Load 51(inF0) + 1216: 48 ExtInst 1(GLSL.std.450) 14(Cos) 1215 + Store 53(inF2) 1216 + 1218: 48 Load 51(inF0) + 1219: 48 ExtInst 1(GLSL.std.450) 19(Sinh) 1218 + Store 1217(r039) 1219 + 1221: 48 Load 51(inF0) + 1222: 48 Load 52(inF1) + 1223: 48 Load 53(inF2) + 1224: 48 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1221 1222 1223 + Store 1220(r049) 1224 + 1226: 48 Load 51(inF0) + 1227: 48 ExtInst 1(GLSL.std.450) 31(Sqrt) 1226 + Store 1225(r041) 1227 + 1229: 48 Load 51(inF0) + 1230: 48 Load 52(inF1) + 1231: 48 ExtInst 1(GLSL.std.450) 48(Step) 1229 1230 + Store 1228(r042) 1231 + 1233: 48 Load 51(inF0) + 1234: 48 ExtInst 1(GLSL.std.450) 15(Tan) 1233 + Store 1232(r043) 1234 1236: 48 Load 51(inF0) - 1237: 48 Transpose 1236 - 1239: 48 Load 51(inF0) - 1240: 48 ExtInst 1(GLSL.std.450) 3(Trunc) 1239 - Store 1238(r046) 1240 - ReturnValue 1242 + 1237: 48 ExtInst 1(GLSL.std.450) 21(Tanh) 1236 + Store 1235(r044) 1237 + 1238: 48 Load 51(inF0) + 1239: 48 Transpose 1238 + 1241: 48 Load 51(inF0) + 1242: 48 ExtInst 1(GLSL.std.450) 3(Trunc) 1241 + Store 1240(r046) 1242 + ReturnValue 1244 FunctionEnd 62(PixelShaderFunction3x3(mf33;mf33;mf33;): 56 Function None 58 59(inF0): 57(ptr) FunctionParameter 60(inF1): 57(ptr) FunctionParameter 61(inF2): 57(ptr) FunctionParameter 63: Label - 1245(r000): 122(ptr) Variable Function - 1248(r001): 57(ptr) Variable Function - 1253(r003): 122(ptr) Variable Function - 1256(r004): 57(ptr) Variable Function - 1259(r005): 57(ptr) Variable Function - 1262(r006): 57(ptr) Variable Function - 1266(r007): 57(ptr) Variable Function - 1277(r008): 57(ptr) Variable Function - 1282(r009): 57(ptr) Variable Function - 1285(r010): 57(ptr) Variable Function - 1288(r011): 57(ptr) Variable Function - 1291(r012): 57(ptr) Variable Function - 1294(r013): 57(ptr) Variable Function - 1297(r014): 57(ptr) Variable Function - 1300(r015): 57(ptr) Variable Function - 1303(r016): 57(ptr) Variable Function - 1306(r017): 57(ptr) Variable Function - 1309(r018): 7(ptr) Variable Function - 1312(r019): 57(ptr) Variable Function - 1315(R020): 57(ptr) Variable Function - 1318(r021): 57(ptr) Variable Function - 1321(r022): 57(ptr) Variable Function - 1334(r023): 57(ptr) Variable Function - 1337(r024): 57(ptr) Variable Function - 1343(r025): 57(ptr) Variable Function - 1346(r026): 57(ptr) Variable Function - 1350(r026a): 57(ptr) Variable Function - 1355(r027): 57(ptr) Variable Function - 1358(r028): 57(ptr) Variable Function - 1362(r029): 57(ptr) Variable Function - 1365(r030): 57(ptr) Variable Function - 1369(r031): 57(ptr) Variable Function - 1373(r032): 57(ptr) Variable Function - 1377(r033): 57(ptr) Variable Function - 1380(r034): 57(ptr) Variable Function - 1383(r035): 57(ptr) Variable Function - 1386(r036): 57(ptr) Variable Function - 1391(r037): 57(ptr) Variable Function - 1394(r038): 57(ptr) Variable Function - 1401(r039): 57(ptr) Variable Function - 1404(r049): 57(ptr) Variable Function - 1409(r041): 57(ptr) Variable Function - 1412(r042): 57(ptr) Variable Function - 1416(r043): 57(ptr) Variable Function - 1419(r044): 57(ptr) Variable Function - 1424(r046): 57(ptr) Variable Function - 1246: 56 Load 59(inF0) - 1247: 121(bool) All 1246 - Store 1245(r000) 1247 - 1249: 56 Load 59(inF0) - 1250: 56 ExtInst 1(GLSL.std.450) 4(FAbs) 1249 - Store 1248(r001) 1250 + 1247(r000): 122(ptr) Variable Function + 1250(r001): 57(ptr) Variable Function + 1255(r003): 122(ptr) Variable Function + 1258(r004): 57(ptr) Variable Function + 1261(r005): 57(ptr) Variable Function + 1264(r006): 57(ptr) Variable Function + 1268(r007): 57(ptr) Variable Function + 1279(r008): 57(ptr) Variable Function + 1284(r009): 57(ptr) Variable Function + 1287(r010): 57(ptr) Variable Function + 1290(r011): 57(ptr) Variable Function + 1293(r012): 57(ptr) Variable Function + 1296(r013): 57(ptr) Variable Function + 1299(r014): 57(ptr) Variable Function + 1302(r015): 57(ptr) Variable Function + 1305(r016): 57(ptr) Variable Function + 1308(r017): 57(ptr) Variable Function + 1311(r018): 7(ptr) Variable Function + 1314(r019): 57(ptr) Variable Function + 1317(R020): 57(ptr) Variable Function + 1320(r021): 57(ptr) Variable Function + 1323(r022): 57(ptr) Variable Function + 1336(r023): 57(ptr) Variable Function + 1339(r024): 57(ptr) Variable Function + 1345(r025): 57(ptr) Variable Function + 1348(r026): 57(ptr) Variable Function + 1352(r026a): 57(ptr) Variable Function + 1357(r027): 57(ptr) Variable Function + 1360(r028): 57(ptr) Variable Function + 1364(r029): 57(ptr) Variable Function + 1367(r030): 57(ptr) Variable Function + 1371(r031): 57(ptr) Variable Function + 1375(r032): 57(ptr) Variable Function + 1379(r033): 57(ptr) Variable Function + 1382(r034): 57(ptr) Variable Function + 1385(r035): 57(ptr) Variable Function + 1388(r036): 57(ptr) Variable Function + 1393(r037): 57(ptr) Variable Function + 1396(r038): 57(ptr) Variable Function + 1403(r039): 57(ptr) Variable Function + 1406(r049): 57(ptr) Variable Function + 1411(r041): 57(ptr) Variable Function + 1414(r042): 57(ptr) Variable Function + 1418(r043): 57(ptr) Variable Function + 1421(r044): 57(ptr) Variable Function + 1426(r046): 57(ptr) Variable Function + 1248: 56 Load 59(inF0) + 1249: 121(bool) All 1248 + Store 1247(r000) 1249 1251: 56 Load 59(inF0) - 1252: 56 ExtInst 1(GLSL.std.450) 17(Acos) 1251 - 1254: 56 Load 59(inF0) - 1255: 121(bool) Any 1254 - Store 1253(r003) 1255 - 1257: 56 Load 59(inF0) - 1258: 56 ExtInst 1(GLSL.std.450) 16(Asin) 1257 - Store 1256(r004) 1258 - 1260: 56 Load 59(inF0) - 1261: 56 ExtInst 1(GLSL.std.450) 18(Atan) 1260 - Store 1259(r005) 1261 - 1263: 56 Load 59(inF0) - 1264: 56 Load 60(inF1) - 1265: 56 ExtInst 1(GLSL.std.450) 25(Atan2) 1263 1264 - Store 1262(r006) 1265 - 1267: 56 Load 59(inF0) - 1268: 56 ExtInst 1(GLSL.std.450) 9(Ceil) 1267 - Store 1266(r007) 1268 + 1252: 56 ExtInst 1(GLSL.std.450) 4(FAbs) 1251 + Store 1250(r001) 1252 + 1253: 56 Load 59(inF0) + 1254: 56 ExtInst 1(GLSL.std.450) 17(Acos) 1253 + 1256: 56 Load 59(inF0) + 1257: 121(bool) Any 1256 + Store 1255(r003) 1257 + 1259: 56 Load 59(inF0) + 1260: 56 ExtInst 1(GLSL.std.450) 16(Asin) 1259 + Store 1258(r004) 1260 + 1262: 56 Load 59(inF0) + 1263: 56 ExtInst 1(GLSL.std.450) 18(Atan) 1262 + Store 1261(r005) 1263 + 1265: 56 Load 59(inF0) + 1266: 56 Load 60(inF1) + 1267: 56 ExtInst 1(GLSL.std.450) 25(Atan2) 1265 1266 + Store 1264(r006) 1267 1269: 56 Load 59(inF0) - 1272: 1271 FOrdLessThan 1269 1270 - 1273: 121(bool) Any 1272 - SelectionMerge 1275 None - BranchConditional 1273 1274 1275 - 1274: Label + 1270: 56 ExtInst 1(GLSL.std.450) 9(Ceil) 1269 + Store 1268(r007) 1270 + 1271: 56 Load 59(inF0) + 1274: 1273 FOrdLessThan 1271 1272 + 1275: 121(bool) Any 1274 + SelectionMerge 1277 None + BranchConditional 1275 1276 1277 + 1276: Label Kill - 1275: Label - 1278: 56 Load 59(inF0) - 1279: 56 Load 60(inF1) - 1280: 56 Load 61(inF2) - 1281: 56 ExtInst 1(GLSL.std.450) 43(FClamp) 1278 1279 1280 - Store 1277(r008) 1281 - 1283: 56 Load 59(inF0) - 1284: 56 ExtInst 1(GLSL.std.450) 14(Cos) 1283 - Store 1282(r009) 1284 - 1286: 56 Load 59(inF0) - 1287: 56 ExtInst 1(GLSL.std.450) 20(Cosh) 1286 - Store 1285(r010) 1287 - 1289: 56 Load 59(inF0) - 1290: 56 DPdx 1289 - Store 1288(r011) 1290 - 1292: 56 Load 59(inF0) - 1293: 56 DPdxCoarse 1292 - Store 1291(r012) 1293 - 1295: 56 Load 59(inF0) - 1296: 56 DPdxFine 1295 - Store 1294(r013) 1296 - 1298: 56 Load 59(inF0) - 1299: 56 DPdy 1298 - Store 1297(r014) 1299 - 1301: 56 Load 59(inF0) - 1302: 56 DPdyCoarse 1301 - Store 1300(r015) 1302 - 1304: 56 Load 59(inF0) - 1305: 56 DPdyFine 1304 - Store 1303(r016) 1305 - 1307: 56 Load 59(inF0) - 1308: 56 ExtInst 1(GLSL.std.450) 12(Degrees) 1307 - Store 1306(r017) 1308 - 1310: 56 Load 59(inF0) - 1311: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1310 - Store 1309(r018) 1311 - 1313: 56 Load 59(inF0) - 1314: 56 ExtInst 1(GLSL.std.450) 27(Exp) 1313 - Store 1312(r019) 1314 - 1316: 56 Load 59(inF0) - 1317: 56 ExtInst 1(GLSL.std.450) 29(Exp2) 1316 - Store 1315(R020) 1317 - 1319: 56 Load 59(inF0) - 1320: 56 ExtInst 1(GLSL.std.450) 8(Floor) 1319 - Store 1318(r021) 1320 - 1322: 56 Load 59(inF0) - 1323: 56 Load 60(inF1) - 1324: 36(fvec3) CompositeExtract 1322 0 - 1325: 36(fvec3) CompositeExtract 1323 0 - 1326: 36(fvec3) FMod 1324 1325 - 1327: 36(fvec3) CompositeExtract 1322 1 - 1328: 36(fvec3) CompositeExtract 1323 1 - 1329: 36(fvec3) FMod 1327 1328 - 1330: 36(fvec3) CompositeExtract 1322 2 - 1331: 36(fvec3) CompositeExtract 1323 2 - 1332: 36(fvec3) FMod 1330 1331 - 1333: 56 CompositeConstruct 1326 1329 1332 - Store 1321(r022) 1333 - 1335: 56 Load 59(inF0) - 1336: 56 ExtInst 1(GLSL.std.450) 10(Fract) 1335 - Store 1334(r023) 1336 - 1338: 56 Load 59(inF0) - 1340:1339(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1338 - 1341: 578(ivec3) CompositeExtract 1340 1 - Store 60(inF1) 1341 - 1342: 56 CompositeExtract 1340 0 - Store 1337(r024) 1342 - 1344: 56 Load 59(inF0) - 1345: 56 Fwidth 1344 - Store 1343(r025) 1345 - 1347: 56 Load 59(inF0) - 1348: 56 Load 60(inF1) - 1349: 56 ExtInst 1(GLSL.std.450) 53(Ldexp) 1347 1348 - Store 1346(r026) 1349 - 1351: 56 Load 59(inF0) - 1352: 56 Load 60(inF1) - 1353: 56 Load 61(inF2) - 1354: 56 ExtInst 1(GLSL.std.450) 46(FMix) 1351 1352 1353 - Store 1350(r026a) 1354 - 1356: 56 Load 59(inF0) - 1357: 56 ExtInst 1(GLSL.std.450) 28(Log) 1356 - Store 1355(r027) 1357 - 1359: 56 Load 59(inF0) - 1360: 56 ExtInst 1(GLSL.std.450) 30(Log2) 1359 - 1361: 56 MatrixTimesScalar 1360 253 - Store 1358(r028) 1361 - 1363: 56 Load 59(inF0) - 1364: 56 ExtInst 1(GLSL.std.450) 30(Log2) 1363 - Store 1362(r029) 1364 - 1366: 56 Load 59(inF0) - 1367: 56 Load 60(inF1) - 1368: 56 ExtInst 1(GLSL.std.450) 40(FMax) 1366 1367 - Store 1365(r030) 1368 - 1370: 56 Load 59(inF0) - 1371: 56 Load 60(inF1) - 1372: 56 ExtInst 1(GLSL.std.450) 37(FMin) 1370 1371 - Store 1369(r031) 1372 - 1374: 56 Load 59(inF0) - 1375: 56 Load 60(inF1) - 1376: 56 ExtInst 1(GLSL.std.450) 26(Pow) 1374 1375 - Store 1373(r032) 1376 - 1378: 56 Load 59(inF0) - 1379: 56 ExtInst 1(GLSL.std.450) 11(Radians) 1378 - Store 1377(r033) 1379 - 1381: 56 Load 59(inF0) - 1382: 56 ExtInst 1(GLSL.std.450) 2(RoundEven) 1381 - Store 1380(r034) 1382 - 1384: 56 Load 59(inF0) - 1385: 56 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1384 - Store 1383(r035) 1385 - 1387: 56 Load 59(inF0) - 1388: 36(fvec3) CompositeConstruct 165 165 165 - 1389: 36(fvec3) CompositeConstruct 274 274 274 - 1390: 56 ExtInst 1(GLSL.std.450) 43(FClamp) 1387 1388 1389 - Store 1386(r036) 1390 - 1392: 56 Load 59(inF0) - 1393: 56 ExtInst 1(GLSL.std.450) 6(FSign) 1392 - Store 1391(r037) 1393 - 1395: 56 Load 59(inF0) - 1396: 56 ExtInst 1(GLSL.std.450) 13(Sin) 1395 - Store 1394(r038) 1396 + 1277: Label + 1280: 56 Load 59(inF0) + 1281: 56 Load 60(inF1) + 1282: 56 Load 61(inF2) + 1283: 56 ExtInst 1(GLSL.std.450) 43(FClamp) 1280 1281 1282 + Store 1279(r008) 1283 + 1285: 56 Load 59(inF0) + 1286: 56 ExtInst 1(GLSL.std.450) 14(Cos) 1285 + Store 1284(r009) 1286 + 1288: 56 Load 59(inF0) + 1289: 56 ExtInst 1(GLSL.std.450) 20(Cosh) 1288 + Store 1287(r010) 1289 + 1291: 56 Load 59(inF0) + 1292: 56 DPdx 1291 + Store 1290(r011) 1292 + 1294: 56 Load 59(inF0) + 1295: 56 DPdxCoarse 1294 + Store 1293(r012) 1295 + 1297: 56 Load 59(inF0) + 1298: 56 DPdxFine 1297 + Store 1296(r013) 1298 + 1300: 56 Load 59(inF0) + 1301: 56 DPdy 1300 + Store 1299(r014) 1301 + 1303: 56 Load 59(inF0) + 1304: 56 DPdyCoarse 1303 + Store 1302(r015) 1304 + 1306: 56 Load 59(inF0) + 1307: 56 DPdyFine 1306 + Store 1305(r016) 1307 + 1309: 56 Load 59(inF0) + 1310: 56 ExtInst 1(GLSL.std.450) 12(Degrees) 1309 + Store 1308(r017) 1310 + 1312: 56 Load 59(inF0) + 1313: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1312 + Store 1311(r018) 1313 + 1315: 56 Load 59(inF0) + 1316: 56 ExtInst 1(GLSL.std.450) 27(Exp) 1315 + Store 1314(r019) 1316 + 1318: 56 Load 59(inF0) + 1319: 56 ExtInst 1(GLSL.std.450) 29(Exp2) 1318 + Store 1317(R020) 1319 + 1321: 56 Load 59(inF0) + 1322: 56 ExtInst 1(GLSL.std.450) 8(Floor) 1321 + Store 1320(r021) 1322 + 1324: 56 Load 59(inF0) + 1325: 56 Load 60(inF1) + 1326: 36(fvec3) CompositeExtract 1324 0 + 1327: 36(fvec3) CompositeExtract 1325 0 + 1328: 36(fvec3) FMod 1326 1327 + 1329: 36(fvec3) CompositeExtract 1324 1 + 1330: 36(fvec3) CompositeExtract 1325 1 + 1331: 36(fvec3) FMod 1329 1330 + 1332: 36(fvec3) CompositeExtract 1324 2 + 1333: 36(fvec3) CompositeExtract 1325 2 + 1334: 36(fvec3) FMod 1332 1333 + 1335: 56 CompositeConstruct 1328 1331 1334 + Store 1323(r022) 1335 + 1337: 56 Load 59(inF0) + 1338: 56 ExtInst 1(GLSL.std.450) 10(Fract) 1337 + Store 1336(r023) 1338 + 1340: 56 Load 59(inF0) + 1342:1341(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1340 + 1343: 578(ivec3) CompositeExtract 1342 1 + Store 60(inF1) 1343 + 1344: 56 CompositeExtract 1342 0 + Store 1339(r024) 1344 + 1346: 56 Load 59(inF0) + 1347: 56 Fwidth 1346 + Store 1345(r025) 1347 + 1349: 56 Load 59(inF0) + 1350: 56 Load 60(inF1) + 1351: 56 ExtInst 1(GLSL.std.450) 53(Ldexp) 1349 1350 + Store 1348(r026) 1351 + 1353: 56 Load 59(inF0) + 1354: 56 Load 60(inF1) + 1355: 56 Load 61(inF2) + 1356: 56 ExtInst 1(GLSL.std.450) 46(FMix) 1353 1354 1355 + Store 1352(r026a) 1356 + 1358: 56 Load 59(inF0) + 1359: 56 ExtInst 1(GLSL.std.450) 28(Log) 1358 + Store 1357(r027) 1359 + 1361: 56 Load 59(inF0) + 1362: 56 ExtInst 1(GLSL.std.450) 30(Log2) 1361 + 1363: 56 MatrixTimesScalar 1362 253 + Store 1360(r028) 1363 + 1365: 56 Load 59(inF0) + 1366: 56 ExtInst 1(GLSL.std.450) 30(Log2) 1365 + Store 1364(r029) 1366 + 1368: 56 Load 59(inF0) + 1369: 56 Load 60(inF1) + 1370: 56 ExtInst 1(GLSL.std.450) 40(FMax) 1368 1369 + Store 1367(r030) 1370 + 1372: 56 Load 59(inF0) + 1373: 56 Load 60(inF1) + 1374: 56 ExtInst 1(GLSL.std.450) 37(FMin) 1372 1373 + Store 1371(r031) 1374 + 1376: 56 Load 59(inF0) + 1377: 56 Load 60(inF1) + 1378: 56 ExtInst 1(GLSL.std.450) 26(Pow) 1376 1377 + Store 1375(r032) 1378 + 1380: 56 Load 59(inF0) + 1381: 56 ExtInst 1(GLSL.std.450) 11(Radians) 1380 + Store 1379(r033) 1381 + 1383: 56 Load 59(inF0) + 1384: 56 ExtInst 1(GLSL.std.450) 2(RoundEven) 1383 + Store 1382(r034) 1384 + 1386: 56 Load 59(inF0) + 1387: 56 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1386 + Store 1385(r035) 1387 + 1389: 56 Load 59(inF0) + 1390: 36(fvec3) CompositeConstruct 165 165 165 + 1391: 36(fvec3) CompositeConstruct 274 274 274 + 1392: 56 ExtInst 1(GLSL.std.450) 43(FClamp) 1389 1390 1391 + Store 1388(r036) 1392 + 1394: 56 Load 59(inF0) + 1395: 56 ExtInst 1(GLSL.std.450) 6(FSign) 1394 + Store 1393(r037) 1395 1397: 56 Load 59(inF0) 1398: 56 ExtInst 1(GLSL.std.450) 13(Sin) 1397 - Store 60(inF1) 1398 + Store 1396(r038) 1398 1399: 56 Load 59(inF0) - 1400: 56 ExtInst 1(GLSL.std.450) 14(Cos) 1399 - Store 61(inF2) 1400 - 1402: 56 Load 59(inF0) - 1403: 56 ExtInst 1(GLSL.std.450) 19(Sinh) 1402 - Store 1401(r039) 1403 - 1405: 56 Load 59(inF0) - 1406: 56 Load 60(inF1) - 1407: 56 Load 61(inF2) - 1408: 56 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1405 1406 1407 - Store 1404(r049) 1408 - 1410: 56 Load 59(inF0) - 1411: 56 ExtInst 1(GLSL.std.450) 31(Sqrt) 1410 - Store 1409(r041) 1411 - 1413: 56 Load 59(inF0) - 1414: 56 Load 60(inF1) - 1415: 56 ExtInst 1(GLSL.std.450) 48(Step) 1413 1414 - Store 1412(r042) 1415 - 1417: 56 Load 59(inF0) - 1418: 56 ExtInst 1(GLSL.std.450) 15(Tan) 1417 - Store 1416(r043) 1418 - 1420: 56 Load 59(inF0) - 1421: 56 ExtInst 1(GLSL.std.450) 21(Tanh) 1420 - Store 1419(r044) 1421 + 1400: 56 ExtInst 1(GLSL.std.450) 13(Sin) 1399 + Store 60(inF1) 1400 + 1401: 56 Load 59(inF0) + 1402: 56 ExtInst 1(GLSL.std.450) 14(Cos) 1401 + Store 61(inF2) 1402 + 1404: 56 Load 59(inF0) + 1405: 56 ExtInst 1(GLSL.std.450) 19(Sinh) 1404 + Store 1403(r039) 1405 + 1407: 56 Load 59(inF0) + 1408: 56 Load 60(inF1) + 1409: 56 Load 61(inF2) + 1410: 56 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1407 1408 1409 + Store 1406(r049) 1410 + 1412: 56 Load 59(inF0) + 1413: 56 ExtInst 1(GLSL.std.450) 31(Sqrt) 1412 + Store 1411(r041) 1413 + 1415: 56 Load 59(inF0) + 1416: 56 Load 60(inF1) + 1417: 56 ExtInst 1(GLSL.std.450) 48(Step) 1415 1416 + Store 1414(r042) 1417 + 1419: 56 Load 59(inF0) + 1420: 56 ExtInst 1(GLSL.std.450) 15(Tan) 1419 + Store 1418(r043) 1420 1422: 56 Load 59(inF0) - 1423: 56 Transpose 1422 - 1425: 56 Load 59(inF0) - 1426: 56 ExtInst 1(GLSL.std.450) 3(Trunc) 1425 - Store 1424(r046) 1426 - ReturnValue 1428 + 1423: 56 ExtInst 1(GLSL.std.450) 21(Tanh) 1422 + Store 1421(r044) 1423 + 1424: 56 Load 59(inF0) + 1425: 56 Transpose 1424 + 1427: 56 Load 59(inF0) + 1428: 56 ExtInst 1(GLSL.std.450) 3(Trunc) 1427 + Store 1426(r046) 1428 + ReturnValue 1430 FunctionEnd 71(PixelShaderFunction4x4(mf44;mf44;mf44;): 65 Function None 67 68(inF0): 66(ptr) FunctionParameter 69(inF1): 66(ptr) FunctionParameter 70(inF2): 66(ptr) FunctionParameter 72: Label - 1431(r000): 122(ptr) Variable Function - 1434(r001): 66(ptr) Variable Function - 1439(r003): 122(ptr) Variable Function - 1442(r004): 66(ptr) Variable Function - 1445(r005): 66(ptr) Variable Function - 1448(r006): 66(ptr) Variable Function - 1452(r007): 66(ptr) Variable Function - 1463(r008): 66(ptr) Variable Function - 1468(r009): 66(ptr) Variable Function - 1471(r010): 66(ptr) Variable Function - 1474(r011): 66(ptr) Variable Function - 1477(r012): 66(ptr) Variable Function - 1480(r013): 66(ptr) Variable Function - 1483(r014): 66(ptr) Variable Function - 1486(r015): 66(ptr) Variable Function - 1489(r016): 66(ptr) Variable Function - 1492(r017): 66(ptr) Variable Function - 1495(r018): 7(ptr) Variable Function - 1498(r019): 66(ptr) Variable Function - 1501(R020): 66(ptr) Variable Function - 1504(r021): 66(ptr) Variable Function - 1507(r022): 66(ptr) Variable Function - 1523(r023): 66(ptr) Variable Function - 1526(r024): 66(ptr) Variable Function - 1532(r025): 66(ptr) Variable Function - 1535(r026): 66(ptr) Variable Function - 1539(r026a): 66(ptr) Variable Function - 1544(r027): 66(ptr) Variable Function - 1547(r028): 66(ptr) Variable Function - 1551(r029): 66(ptr) Variable Function - 1554(r030): 66(ptr) Variable Function - 1558(r031): 66(ptr) Variable Function - 1562(r032): 66(ptr) Variable Function - 1566(r033): 66(ptr) Variable Function - 1569(r034): 66(ptr) Variable Function - 1572(r035): 66(ptr) Variable Function - 1575(r036): 66(ptr) Variable Function - 1580(r037): 66(ptr) Variable Function - 1583(r038): 66(ptr) Variable Function - 1590(r039): 66(ptr) Variable Function - 1593(r049): 66(ptr) Variable Function - 1598(r041): 66(ptr) Variable Function - 1601(r042): 66(ptr) Variable Function - 1605(r043): 66(ptr) Variable Function - 1608(r044): 66(ptr) Variable Function - 1613(r046): 66(ptr) Variable Function - 1432: 65 Load 68(inF0) - 1433: 121(bool) All 1432 - Store 1431(r000) 1433 - 1435: 65 Load 68(inF0) - 1436: 65 ExtInst 1(GLSL.std.450) 4(FAbs) 1435 - Store 1434(r001) 1436 + 1433(r000): 122(ptr) Variable Function + 1436(r001): 66(ptr) Variable Function + 1441(r003): 122(ptr) Variable Function + 1444(r004): 66(ptr) Variable Function + 1447(r005): 66(ptr) Variable Function + 1450(r006): 66(ptr) Variable Function + 1454(r007): 66(ptr) Variable Function + 1465(r008): 66(ptr) Variable Function + 1470(r009): 66(ptr) Variable Function + 1473(r010): 66(ptr) Variable Function + 1476(r011): 66(ptr) Variable Function + 1479(r012): 66(ptr) Variable Function + 1482(r013): 66(ptr) Variable Function + 1485(r014): 66(ptr) Variable Function + 1488(r015): 66(ptr) Variable Function + 1491(r016): 66(ptr) Variable Function + 1494(r017): 66(ptr) Variable Function + 1497(r018): 7(ptr) Variable Function + 1500(r019): 66(ptr) Variable Function + 1503(R020): 66(ptr) Variable Function + 1506(r021): 66(ptr) Variable Function + 1509(r022): 66(ptr) Variable Function + 1525(r023): 66(ptr) Variable Function + 1528(r024): 66(ptr) Variable Function + 1534(r025): 66(ptr) Variable Function + 1537(r026): 66(ptr) Variable Function + 1541(r026a): 66(ptr) Variable Function + 1546(r027): 66(ptr) Variable Function + 1549(r028): 66(ptr) Variable Function + 1553(r029): 66(ptr) Variable Function + 1556(r030): 66(ptr) Variable Function + 1560(r031): 66(ptr) Variable Function + 1564(r032): 66(ptr) Variable Function + 1568(r033): 66(ptr) Variable Function + 1571(r034): 66(ptr) Variable Function + 1574(r035): 66(ptr) Variable Function + 1577(r036): 66(ptr) Variable Function + 1582(r037): 66(ptr) Variable Function + 1585(r038): 66(ptr) Variable Function + 1592(r039): 66(ptr) Variable Function + 1595(r049): 66(ptr) Variable Function + 1600(r041): 66(ptr) Variable Function + 1603(r042): 66(ptr) Variable Function + 1607(r043): 66(ptr) Variable Function + 1610(r044): 66(ptr) Variable Function + 1615(r046): 66(ptr) Variable Function + 1434: 65 Load 68(inF0) + 1435: 121(bool) All 1434 + Store 1433(r000) 1435 1437: 65 Load 68(inF0) - 1438: 65 ExtInst 1(GLSL.std.450) 17(Acos) 1437 - 1440: 65 Load 68(inF0) - 1441: 121(bool) Any 1440 - Store 1439(r003) 1441 - 1443: 65 Load 68(inF0) - 1444: 65 ExtInst 1(GLSL.std.450) 16(Asin) 1443 - Store 1442(r004) 1444 - 1446: 65 Load 68(inF0) - 1447: 65 ExtInst 1(GLSL.std.450) 18(Atan) 1446 - Store 1445(r005) 1447 - 1449: 65 Load 68(inF0) - 1450: 65 Load 69(inF1) - 1451: 65 ExtInst 1(GLSL.std.450) 25(Atan2) 1449 1450 - Store 1448(r006) 1451 - 1453: 65 Load 68(inF0) - 1454: 65 ExtInst 1(GLSL.std.450) 9(Ceil) 1453 - Store 1452(r007) 1454 + 1438: 65 ExtInst 1(GLSL.std.450) 4(FAbs) 1437 + Store 1436(r001) 1438 + 1439: 65 Load 68(inF0) + 1440: 65 ExtInst 1(GLSL.std.450) 17(Acos) 1439 + 1442: 65 Load 68(inF0) + 1443: 121(bool) Any 1442 + Store 1441(r003) 1443 + 1445: 65 Load 68(inF0) + 1446: 65 ExtInst 1(GLSL.std.450) 16(Asin) 1445 + Store 1444(r004) 1446 + 1448: 65 Load 68(inF0) + 1449: 65 ExtInst 1(GLSL.std.450) 18(Atan) 1448 + Store 1447(r005) 1449 + 1451: 65 Load 68(inF0) + 1452: 65 Load 69(inF1) + 1453: 65 ExtInst 1(GLSL.std.450) 25(Atan2) 1451 1452 + Store 1450(r006) 1453 1455: 65 Load 68(inF0) - 1458: 1457 FOrdLessThan 1455 1456 - 1459: 121(bool) Any 1458 - SelectionMerge 1461 None - BranchConditional 1459 1460 1461 - 1460: Label + 1456: 65 ExtInst 1(GLSL.std.450) 9(Ceil) 1455 + Store 1454(r007) 1456 + 1457: 65 Load 68(inF0) + 1460: 1459 FOrdLessThan 1457 1458 + 1461: 121(bool) Any 1460 + SelectionMerge 1463 None + BranchConditional 1461 1462 1463 + 1462: Label Kill - 1461: Label - 1464: 65 Load 68(inF0) - 1465: 65 Load 69(inF1) - 1466: 65 Load 70(inF2) - 1467: 65 ExtInst 1(GLSL.std.450) 43(FClamp) 1464 1465 1466 - Store 1463(r008) 1467 - 1469: 65 Load 68(inF0) - 1470: 65 ExtInst 1(GLSL.std.450) 14(Cos) 1469 - Store 1468(r009) 1470 - 1472: 65 Load 68(inF0) - 1473: 65 ExtInst 1(GLSL.std.450) 20(Cosh) 1472 - Store 1471(r010) 1473 - 1475: 65 Load 68(inF0) - 1476: 65 DPdx 1475 - Store 1474(r011) 1476 - 1478: 65 Load 68(inF0) - 1479: 65 DPdxCoarse 1478 - Store 1477(r012) 1479 - 1481: 65 Load 68(inF0) - 1482: 65 DPdxFine 1481 - Store 1480(r013) 1482 - 1484: 65 Load 68(inF0) - 1485: 65 DPdy 1484 - Store 1483(r014) 1485 - 1487: 65 Load 68(inF0) - 1488: 65 DPdyCoarse 1487 - Store 1486(r015) 1488 - 1490: 65 Load 68(inF0) - 1491: 65 DPdyFine 1490 - Store 1489(r016) 1491 - 1493: 65 Load 68(inF0) - 1494: 65 ExtInst 1(GLSL.std.450) 12(Degrees) 1493 - Store 1492(r017) 1494 - 1496: 65 Load 68(inF0) - 1497: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1496 - Store 1495(r018) 1497 - 1499: 65 Load 68(inF0) - 1500: 65 ExtInst 1(GLSL.std.450) 27(Exp) 1499 - Store 1498(r019) 1500 - 1502: 65 Load 68(inF0) - 1503: 65 ExtInst 1(GLSL.std.450) 29(Exp2) 1502 - Store 1501(R020) 1503 - 1505: 65 Load 68(inF0) - 1506: 65 ExtInst 1(GLSL.std.450) 8(Floor) 1505 - Store 1504(r021) 1506 - 1508: 65 Load 68(inF0) - 1509: 65 Load 69(inF1) - 1510: 64(fvec4) CompositeExtract 1508 0 - 1511: 64(fvec4) CompositeExtract 1509 0 - 1512: 64(fvec4) FMod 1510 1511 - 1513: 64(fvec4) CompositeExtract 1508 1 - 1514: 64(fvec4) CompositeExtract 1509 1 - 1515: 64(fvec4) FMod 1513 1514 - 1516: 64(fvec4) CompositeExtract 1508 2 - 1517: 64(fvec4) CompositeExtract 1509 2 - 1518: 64(fvec4) FMod 1516 1517 - 1519: 64(fvec4) CompositeExtract 1508 3 - 1520: 64(fvec4) CompositeExtract 1509 3 - 1521: 64(fvec4) FMod 1519 1520 - 1522: 65 CompositeConstruct 1512 1515 1518 1521 - Store 1507(r022) 1522 - 1524: 65 Load 68(inF0) - 1525: 65 ExtInst 1(GLSL.std.450) 10(Fract) 1524 - Store 1523(r023) 1525 - 1527: 65 Load 68(inF0) - 1529:1528(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1527 - 1530: 825(ivec4) CompositeExtract 1529 1 - Store 69(inF1) 1530 - 1531: 65 CompositeExtract 1529 0 - Store 1526(r024) 1531 - 1533: 65 Load 68(inF0) - 1534: 65 Fwidth 1533 - Store 1532(r025) 1534 - 1536: 65 Load 68(inF0) - 1537: 65 Load 69(inF1) - 1538: 65 ExtInst 1(GLSL.std.450) 53(Ldexp) 1536 1537 - Store 1535(r026) 1538 - 1540: 65 Load 68(inF0) - 1541: 65 Load 69(inF1) - 1542: 65 Load 70(inF2) - 1543: 65 ExtInst 1(GLSL.std.450) 46(FMix) 1540 1541 1542 - Store 1539(r026a) 1543 - 1545: 65 Load 68(inF0) - 1546: 65 ExtInst 1(GLSL.std.450) 28(Log) 1545 - Store 1544(r027) 1546 - 1548: 65 Load 68(inF0) - 1549: 65 ExtInst 1(GLSL.std.450) 30(Log2) 1548 - 1550: 65 MatrixTimesScalar 1549 253 - Store 1547(r028) 1550 - 1552: 65 Load 68(inF0) - 1553: 65 ExtInst 1(GLSL.std.450) 30(Log2) 1552 - Store 1551(r029) 1553 - 1555: 65 Load 68(inF0) - 1556: 65 Load 69(inF1) - 1557: 65 ExtInst 1(GLSL.std.450) 40(FMax) 1555 1556 - Store 1554(r030) 1557 - 1559: 65 Load 68(inF0) - 1560: 65 Load 69(inF1) - 1561: 65 ExtInst 1(GLSL.std.450) 37(FMin) 1559 1560 - Store 1558(r031) 1561 - 1563: 65 Load 68(inF0) - 1564: 65 Load 69(inF1) - 1565: 65 ExtInst 1(GLSL.std.450) 26(Pow) 1563 1564 - Store 1562(r032) 1565 - 1567: 65 Load 68(inF0) - 1568: 65 ExtInst 1(GLSL.std.450) 11(Radians) 1567 - Store 1566(r033) 1568 - 1570: 65 Load 68(inF0) - 1571: 65 ExtInst 1(GLSL.std.450) 2(RoundEven) 1570 - Store 1569(r034) 1571 - 1573: 65 Load 68(inF0) - 1574: 65 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1573 - Store 1572(r035) 1574 - 1576: 65 Load 68(inF0) - 1577: 64(fvec4) CompositeConstruct 165 165 165 165 - 1578: 64(fvec4) CompositeConstruct 274 274 274 274 - 1579: 65 ExtInst 1(GLSL.std.450) 43(FClamp) 1576 1577 1578 - Store 1575(r036) 1579 - 1581: 65 Load 68(inF0) - 1582: 65 ExtInst 1(GLSL.std.450) 6(FSign) 1581 - Store 1580(r037) 1582 - 1584: 65 Load 68(inF0) - 1585: 65 ExtInst 1(GLSL.std.450) 13(Sin) 1584 - Store 1583(r038) 1585 + 1463: Label + 1466: 65 Load 68(inF0) + 1467: 65 Load 69(inF1) + 1468: 65 Load 70(inF2) + 1469: 65 ExtInst 1(GLSL.std.450) 43(FClamp) 1466 1467 1468 + Store 1465(r008) 1469 + 1471: 65 Load 68(inF0) + 1472: 65 ExtInst 1(GLSL.std.450) 14(Cos) 1471 + Store 1470(r009) 1472 + 1474: 65 Load 68(inF0) + 1475: 65 ExtInst 1(GLSL.std.450) 20(Cosh) 1474 + Store 1473(r010) 1475 + 1477: 65 Load 68(inF0) + 1478: 65 DPdx 1477 + Store 1476(r011) 1478 + 1480: 65 Load 68(inF0) + 1481: 65 DPdxCoarse 1480 + Store 1479(r012) 1481 + 1483: 65 Load 68(inF0) + 1484: 65 DPdxFine 1483 + Store 1482(r013) 1484 + 1486: 65 Load 68(inF0) + 1487: 65 DPdy 1486 + Store 1485(r014) 1487 + 1489: 65 Load 68(inF0) + 1490: 65 DPdyCoarse 1489 + Store 1488(r015) 1490 + 1492: 65 Load 68(inF0) + 1493: 65 DPdyFine 1492 + Store 1491(r016) 1493 + 1495: 65 Load 68(inF0) + 1496: 65 ExtInst 1(GLSL.std.450) 12(Degrees) 1495 + Store 1494(r017) 1496 + 1498: 65 Load 68(inF0) + 1499: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1498 + Store 1497(r018) 1499 + 1501: 65 Load 68(inF0) + 1502: 65 ExtInst 1(GLSL.std.450) 27(Exp) 1501 + Store 1500(r019) 1502 + 1504: 65 Load 68(inF0) + 1505: 65 ExtInst 1(GLSL.std.450) 29(Exp2) 1504 + Store 1503(R020) 1505 + 1507: 65 Load 68(inF0) + 1508: 65 ExtInst 1(GLSL.std.450) 8(Floor) 1507 + Store 1506(r021) 1508 + 1510: 65 Load 68(inF0) + 1511: 65 Load 69(inF1) + 1512: 64(fvec4) CompositeExtract 1510 0 + 1513: 64(fvec4) CompositeExtract 1511 0 + 1514: 64(fvec4) FMod 1512 1513 + 1515: 64(fvec4) CompositeExtract 1510 1 + 1516: 64(fvec4) CompositeExtract 1511 1 + 1517: 64(fvec4) FMod 1515 1516 + 1518: 64(fvec4) CompositeExtract 1510 2 + 1519: 64(fvec4) CompositeExtract 1511 2 + 1520: 64(fvec4) FMod 1518 1519 + 1521: 64(fvec4) CompositeExtract 1510 3 + 1522: 64(fvec4) CompositeExtract 1511 3 + 1523: 64(fvec4) FMod 1521 1522 + 1524: 65 CompositeConstruct 1514 1517 1520 1523 + Store 1509(r022) 1524 + 1526: 65 Load 68(inF0) + 1527: 65 ExtInst 1(GLSL.std.450) 10(Fract) 1526 + Store 1525(r023) 1527 + 1529: 65 Load 68(inF0) + 1531:1530(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1529 + 1532: 825(ivec4) CompositeExtract 1531 1 + Store 69(inF1) 1532 + 1533: 65 CompositeExtract 1531 0 + Store 1528(r024) 1533 + 1535: 65 Load 68(inF0) + 1536: 65 Fwidth 1535 + Store 1534(r025) 1536 + 1538: 65 Load 68(inF0) + 1539: 65 Load 69(inF1) + 1540: 65 ExtInst 1(GLSL.std.450) 53(Ldexp) 1538 1539 + Store 1537(r026) 1540 + 1542: 65 Load 68(inF0) + 1543: 65 Load 69(inF1) + 1544: 65 Load 70(inF2) + 1545: 65 ExtInst 1(GLSL.std.450) 46(FMix) 1542 1543 1544 + Store 1541(r026a) 1545 + 1547: 65 Load 68(inF0) + 1548: 65 ExtInst 1(GLSL.std.450) 28(Log) 1547 + Store 1546(r027) 1548 + 1550: 65 Load 68(inF0) + 1551: 65 ExtInst 1(GLSL.std.450) 30(Log2) 1550 + 1552: 65 MatrixTimesScalar 1551 253 + Store 1549(r028) 1552 + 1554: 65 Load 68(inF0) + 1555: 65 ExtInst 1(GLSL.std.450) 30(Log2) 1554 + Store 1553(r029) 1555 + 1557: 65 Load 68(inF0) + 1558: 65 Load 69(inF1) + 1559: 65 ExtInst 1(GLSL.std.450) 40(FMax) 1557 1558 + Store 1556(r030) 1559 + 1561: 65 Load 68(inF0) + 1562: 65 Load 69(inF1) + 1563: 65 ExtInst 1(GLSL.std.450) 37(FMin) 1561 1562 + Store 1560(r031) 1563 + 1565: 65 Load 68(inF0) + 1566: 65 Load 69(inF1) + 1567: 65 ExtInst 1(GLSL.std.450) 26(Pow) 1565 1566 + Store 1564(r032) 1567 + 1569: 65 Load 68(inF0) + 1570: 65 ExtInst 1(GLSL.std.450) 11(Radians) 1569 + Store 1568(r033) 1570 + 1572: 65 Load 68(inF0) + 1573: 65 ExtInst 1(GLSL.std.450) 2(RoundEven) 1572 + Store 1571(r034) 1573 + 1575: 65 Load 68(inF0) + 1576: 65 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1575 + Store 1574(r035) 1576 + 1578: 65 Load 68(inF0) + 1579: 64(fvec4) CompositeConstruct 165 165 165 165 + 1580: 64(fvec4) CompositeConstruct 274 274 274 274 + 1581: 65 ExtInst 1(GLSL.std.450) 43(FClamp) 1578 1579 1580 + Store 1577(r036) 1581 + 1583: 65 Load 68(inF0) + 1584: 65 ExtInst 1(GLSL.std.450) 6(FSign) 1583 + Store 1582(r037) 1584 1586: 65 Load 68(inF0) 1587: 65 ExtInst 1(GLSL.std.450) 13(Sin) 1586 - Store 69(inF1) 1587 + Store 1585(r038) 1587 1588: 65 Load 68(inF0) - 1589: 65 ExtInst 1(GLSL.std.450) 14(Cos) 1588 - Store 70(inF2) 1589 - 1591: 65 Load 68(inF0) - 1592: 65 ExtInst 1(GLSL.std.450) 19(Sinh) 1591 - Store 1590(r039) 1592 - 1594: 65 Load 68(inF0) - 1595: 65 Load 69(inF1) - 1596: 65 Load 70(inF2) - 1597: 65 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1594 1595 1596 - Store 1593(r049) 1597 - 1599: 65 Load 68(inF0) - 1600: 65 ExtInst 1(GLSL.std.450) 31(Sqrt) 1599 - Store 1598(r041) 1600 - 1602: 65 Load 68(inF0) - 1603: 65 Load 69(inF1) - 1604: 65 ExtInst 1(GLSL.std.450) 48(Step) 1602 1603 - Store 1601(r042) 1604 - 1606: 65 Load 68(inF0) - 1607: 65 ExtInst 1(GLSL.std.450) 15(Tan) 1606 - Store 1605(r043) 1607 - 1609: 65 Load 68(inF0) - 1610: 65 ExtInst 1(GLSL.std.450) 21(Tanh) 1609 - Store 1608(r044) 1610 + 1589: 65 ExtInst 1(GLSL.std.450) 13(Sin) 1588 + Store 69(inF1) 1589 + 1590: 65 Load 68(inF0) + 1591: 65 ExtInst 1(GLSL.std.450) 14(Cos) 1590 + Store 70(inF2) 1591 + 1593: 65 Load 68(inF0) + 1594: 65 ExtInst 1(GLSL.std.450) 19(Sinh) 1593 + Store 1592(r039) 1594 + 1596: 65 Load 68(inF0) + 1597: 65 Load 69(inF1) + 1598: 65 Load 70(inF2) + 1599: 65 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1596 1597 1598 + Store 1595(r049) 1599 + 1601: 65 Load 68(inF0) + 1602: 65 ExtInst 1(GLSL.std.450) 31(Sqrt) 1601 + Store 1600(r041) 1602 + 1604: 65 Load 68(inF0) + 1605: 65 Load 69(inF1) + 1606: 65 ExtInst 1(GLSL.std.450) 48(Step) 1604 1605 + Store 1603(r042) 1606 + 1608: 65 Load 68(inF0) + 1609: 65 ExtInst 1(GLSL.std.450) 15(Tan) 1608 + Store 1607(r043) 1609 1611: 65 Load 68(inF0) - 1612: 65 Transpose 1611 - 1614: 65 Load 68(inF0) - 1615: 65 ExtInst 1(GLSL.std.450) 3(Trunc) 1614 - Store 1613(r046) 1615 - ReturnValue 1617 + 1612: 65 ExtInst 1(GLSL.std.450) 21(Tanh) 1611 + Store 1610(r044) 1612 + 1613: 65 Load 68(inF0) + 1614: 65 Transpose 1613 + 1616: 65 Load 68(inF0) + 1617: 65 ExtInst 1(GLSL.std.450) 3(Trunc) 1616 + Store 1615(r046) 1617 + ReturnValue 1619 FunctionEnd 80(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 73 74(inF0): 7(ptr) FunctionParameter @@ -8109,51 +8119,51 @@ gl_FragCoord origin is upper left 78(inFM0): 49(ptr) FunctionParameter 79(inFM1): 49(ptr) FunctionParameter 81: Label - 1620(r0): 7(ptr) Variable Function - 1624(r1): 25(ptr) Variable Function - 1628(r2): 25(ptr) Variable Function - 1632(r3): 7(ptr) Variable Function - 1636(r4): 25(ptr) Variable Function - 1640(r5): 25(ptr) Variable Function - 1644(r6): 49(ptr) Variable Function - 1648(r7): 49(ptr) Variable Function - 1652(r8): 49(ptr) Variable Function - 1621: 6(float) Load 74(inF0) - 1622: 6(float) Load 75(inF1) - 1623: 6(float) FMul 1621 1622 - Store 1620(r0) 1623 - 1625: 24(fvec2) Load 76(inFV0) - 1626: 6(float) Load 74(inF0) - 1627: 24(fvec2) VectorTimesScalar 1625 1626 - Store 1624(r1) 1627 - 1629: 6(float) Load 74(inF0) - 1630: 24(fvec2) Load 76(inFV0) - 1631: 24(fvec2) VectorTimesScalar 1630 1629 - Store 1628(r2) 1631 - 1633: 24(fvec2) Load 76(inFV0) - 1634: 24(fvec2) Load 77(inFV1) - 1635: 6(float) Dot 1633 1634 - Store 1632(r3) 1635 - 1637: 48 Load 78(inFM0) - 1638: 24(fvec2) Load 76(inFV0) - 1639: 24(fvec2) MatrixTimesVector 1637 1638 - Store 1636(r4) 1639 - 1641: 24(fvec2) Load 76(inFV0) - 1642: 48 Load 78(inFM0) - 1643: 24(fvec2) VectorTimesMatrix 1641 1642 - Store 1640(r5) 1643 - 1645: 48 Load 78(inFM0) - 1646: 6(float) Load 74(inF0) - 1647: 48 MatrixTimesScalar 1645 1646 - Store 1644(r6) 1647 - 1649: 6(float) Load 74(inF0) - 1650: 48 Load 78(inFM0) - 1651: 48 MatrixTimesScalar 1650 1649 - Store 1648(r7) 1651 - 1653: 48 Load 78(inFM0) - 1654: 48 Load 79(inFM1) - 1655: 48 MatrixTimesMatrix 1653 1654 - Store 1652(r8) 1655 + 1622(r0): 7(ptr) Variable Function + 1626(r1): 25(ptr) Variable Function + 1630(r2): 25(ptr) Variable Function + 1634(r3): 7(ptr) Variable Function + 1638(r4): 25(ptr) Variable Function + 1642(r5): 25(ptr) Variable Function + 1646(r6): 49(ptr) Variable Function + 1650(r7): 49(ptr) Variable Function + 1654(r8): 49(ptr) Variable Function + 1623: 6(float) Load 74(inF0) + 1624: 6(float) Load 75(inF1) + 1625: 6(float) FMul 1623 1624 + Store 1622(r0) 1625 + 1627: 24(fvec2) Load 76(inFV0) + 1628: 6(float) Load 74(inF0) + 1629: 24(fvec2) VectorTimesScalar 1627 1628 + Store 1626(r1) 1629 + 1631: 6(float) Load 74(inF0) + 1632: 24(fvec2) Load 76(inFV0) + 1633: 24(fvec2) VectorTimesScalar 1632 1631 + Store 1630(r2) 1633 + 1635: 24(fvec2) Load 76(inFV0) + 1636: 24(fvec2) Load 77(inFV1) + 1637: 6(float) Dot 1635 1636 + Store 1634(r3) 1637 + 1639: 48 Load 78(inFM0) + 1640: 24(fvec2) Load 76(inFV0) + 1641: 24(fvec2) MatrixTimesVector 1639 1640 + Store 1638(r4) 1641 + 1643: 24(fvec2) Load 76(inFV0) + 1644: 48 Load 78(inFM0) + 1645: 24(fvec2) VectorTimesMatrix 1643 1644 + Store 1642(r5) 1645 + 1647: 48 Load 78(inFM0) + 1648: 6(float) Load 74(inF0) + 1649: 48 MatrixTimesScalar 1647 1648 + Store 1646(r6) 1649 + 1651: 6(float) Load 74(inF0) + 1652: 48 Load 78(inFM0) + 1653: 48 MatrixTimesScalar 1652 1651 + Store 1650(r7) 1653 + 1655: 48 Load 78(inFM0) + 1656: 48 Load 79(inFM1) + 1657: 48 MatrixTimesMatrix 1655 1656 + Store 1654(r8) 1657 Return FunctionEnd 89(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 82 @@ -8164,51 +8174,51 @@ gl_FragCoord origin is upper left 87(inFM0): 57(ptr) FunctionParameter 88(inFM1): 57(ptr) FunctionParameter 90: Label - 1656(r0): 7(ptr) Variable Function - 1660(r1): 37(ptr) Variable Function - 1664(r2): 37(ptr) Variable Function - 1668(r3): 7(ptr) Variable Function - 1672(r4): 37(ptr) Variable Function - 1676(r5): 37(ptr) Variable Function - 1680(r6): 57(ptr) Variable Function - 1684(r7): 57(ptr) Variable Function - 1688(r8): 57(ptr) Variable Function - 1657: 6(float) Load 83(inF0) - 1658: 6(float) Load 84(inF1) - 1659: 6(float) FMul 1657 1658 - Store 1656(r0) 1659 - 1661: 36(fvec3) Load 85(inFV0) - 1662: 6(float) Load 83(inF0) - 1663: 36(fvec3) VectorTimesScalar 1661 1662 - Store 1660(r1) 1663 - 1665: 6(float) Load 83(inF0) - 1666: 36(fvec3) Load 85(inFV0) - 1667: 36(fvec3) VectorTimesScalar 1666 1665 - Store 1664(r2) 1667 - 1669: 36(fvec3) Load 85(inFV0) - 1670: 36(fvec3) Load 86(inFV1) - 1671: 6(float) Dot 1669 1670 - Store 1668(r3) 1671 - 1673: 56 Load 87(inFM0) - 1674: 36(fvec3) Load 85(inFV0) - 1675: 36(fvec3) MatrixTimesVector 1673 1674 - Store 1672(r4) 1675 - 1677: 36(fvec3) Load 85(inFV0) - 1678: 56 Load 87(inFM0) - 1679: 36(fvec3) VectorTimesMatrix 1677 1678 - Store 1676(r5) 1679 - 1681: 56 Load 87(inFM0) - 1682: 6(float) Load 83(inF0) - 1683: 56 MatrixTimesScalar 1681 1682 - Store 1680(r6) 1683 - 1685: 6(float) Load 83(inF0) - 1686: 56 Load 87(inFM0) - 1687: 56 MatrixTimesScalar 1686 1685 - Store 1684(r7) 1687 - 1689: 56 Load 87(inFM0) - 1690: 56 Load 88(inFM1) - 1691: 56 MatrixTimesMatrix 1689 1690 - Store 1688(r8) 1691 + 1658(r0): 7(ptr) Variable Function + 1662(r1): 37(ptr) Variable Function + 1666(r2): 37(ptr) Variable Function + 1670(r3): 7(ptr) Variable Function + 1674(r4): 37(ptr) Variable Function + 1678(r5): 37(ptr) Variable Function + 1682(r6): 57(ptr) Variable Function + 1686(r7): 57(ptr) Variable Function + 1690(r8): 57(ptr) Variable Function + 1659: 6(float) Load 83(inF0) + 1660: 6(float) Load 84(inF1) + 1661: 6(float) FMul 1659 1660 + Store 1658(r0) 1661 + 1663: 36(fvec3) Load 85(inFV0) + 1664: 6(float) Load 83(inF0) + 1665: 36(fvec3) VectorTimesScalar 1663 1664 + Store 1662(r1) 1665 + 1667: 6(float) Load 83(inF0) + 1668: 36(fvec3) Load 85(inFV0) + 1669: 36(fvec3) VectorTimesScalar 1668 1667 + Store 1666(r2) 1669 + 1671: 36(fvec3) Load 85(inFV0) + 1672: 36(fvec3) Load 86(inFV1) + 1673: 6(float) Dot 1671 1672 + Store 1670(r3) 1673 + 1675: 56 Load 87(inFM0) + 1676: 36(fvec3) Load 85(inFV0) + 1677: 36(fvec3) MatrixTimesVector 1675 1676 + Store 1674(r4) 1677 + 1679: 36(fvec3) Load 85(inFV0) + 1680: 56 Load 87(inFM0) + 1681: 36(fvec3) VectorTimesMatrix 1679 1680 + Store 1678(r5) 1681 + 1683: 56 Load 87(inFM0) + 1684: 6(float) Load 83(inF0) + 1685: 56 MatrixTimesScalar 1683 1684 + Store 1682(r6) 1685 + 1687: 6(float) Load 83(inF0) + 1688: 56 Load 87(inFM0) + 1689: 56 MatrixTimesScalar 1688 1687 + Store 1686(r7) 1689 + 1691: 56 Load 87(inFM0) + 1692: 56 Load 88(inFM1) + 1693: 56 MatrixTimesMatrix 1691 1692 + Store 1690(r8) 1693 Return FunctionEnd 99(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 92 @@ -8219,51 +8229,51 @@ gl_FragCoord origin is upper left 97(inFM0): 66(ptr) FunctionParameter 98(inFM1): 66(ptr) FunctionParameter 100: Label - 1692(r0): 7(ptr) Variable Function - 1696(r1): 91(ptr) Variable Function - 1700(r2): 91(ptr) Variable Function - 1704(r3): 7(ptr) Variable Function - 1708(r4): 91(ptr) Variable Function - 1712(r5): 91(ptr) Variable Function - 1716(r6): 66(ptr) Variable Function - 1720(r7): 66(ptr) Variable Function - 1724(r8): 66(ptr) Variable Function - 1693: 6(float) Load 93(inF0) - 1694: 6(float) Load 94(inF1) - 1695: 6(float) FMul 1693 1694 - Store 1692(r0) 1695 - 1697: 64(fvec4) Load 95(inFV0) - 1698: 6(float) Load 93(inF0) - 1699: 64(fvec4) VectorTimesScalar 1697 1698 - Store 1696(r1) 1699 - 1701: 6(float) Load 93(inF0) - 1702: 64(fvec4) Load 95(inFV0) - 1703: 64(fvec4) VectorTimesScalar 1702 1701 - Store 1700(r2) 1703 - 1705: 64(fvec4) Load 95(inFV0) - 1706: 64(fvec4) Load 96(inFV1) - 1707: 6(float) Dot 1705 1706 - Store 1704(r3) 1707 - 1709: 65 Load 97(inFM0) - 1710: 64(fvec4) Load 95(inFV0) - 1711: 64(fvec4) MatrixTimesVector 1709 1710 - Store 1708(r4) 1711 - 1713: 64(fvec4) Load 95(inFV0) - 1714: 65 Load 97(inFM0) - 1715: 64(fvec4) VectorTimesMatrix 1713 1714 - Store 1712(r5) 1715 - 1717: 65 Load 97(inFM0) - 1718: 6(float) Load 93(inF0) - 1719: 65 MatrixTimesScalar 1717 1718 - Store 1716(r6) 1719 - 1721: 6(float) Load 93(inF0) - 1722: 65 Load 97(inFM0) - 1723: 65 MatrixTimesScalar 1722 1721 - Store 1720(r7) 1723 - 1725: 65 Load 97(inFM0) - 1726: 65 Load 98(inFM1) - 1727: 65 MatrixTimesMatrix 1725 1726 - Store 1724(r8) 1727 + 1694(r0): 7(ptr) Variable Function + 1698(r1): 91(ptr) Variable Function + 1702(r2): 91(ptr) Variable Function + 1706(r3): 7(ptr) Variable Function + 1710(r4): 91(ptr) Variable Function + 1714(r5): 91(ptr) Variable Function + 1718(r6): 66(ptr) Variable Function + 1722(r7): 66(ptr) Variable Function + 1726(r8): 66(ptr) Variable Function + 1695: 6(float) Load 93(inF0) + 1696: 6(float) Load 94(inF1) + 1697: 6(float) FMul 1695 1696 + Store 1694(r0) 1697 + 1699: 64(fvec4) Load 95(inFV0) + 1700: 6(float) Load 93(inF0) + 1701: 64(fvec4) VectorTimesScalar 1699 1700 + Store 1698(r1) 1701 + 1703: 6(float) Load 93(inF0) + 1704: 64(fvec4) Load 95(inFV0) + 1705: 64(fvec4) VectorTimesScalar 1704 1703 + Store 1702(r2) 1705 + 1707: 64(fvec4) Load 95(inFV0) + 1708: 64(fvec4) Load 96(inFV1) + 1709: 6(float) Dot 1707 1708 + Store 1706(r3) 1709 + 1711: 65 Load 97(inFM0) + 1712: 64(fvec4) Load 95(inFV0) + 1713: 64(fvec4) MatrixTimesVector 1711 1712 + Store 1710(r4) 1713 + 1715: 64(fvec4) Load 95(inFV0) + 1716: 65 Load 97(inFM0) + 1717: 64(fvec4) VectorTimesMatrix 1715 1716 + Store 1714(r5) 1717 + 1719: 65 Load 97(inFM0) + 1720: 6(float) Load 93(inF0) + 1721: 65 MatrixTimesScalar 1719 1720 + Store 1718(r6) 1721 + 1723: 6(float) Load 93(inF0) + 1724: 65 Load 97(inFM0) + 1725: 65 MatrixTimesScalar 1724 1723 + Store 1722(r7) 1725 + 1727: 65 Load 97(inFM0) + 1728: 65 Load 98(inFM1) + 1729: 65 MatrixTimesMatrix 1727 1728 + Store 1726(r8) 1729 Return FunctionEnd 119(TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;): 2 Function None 109 @@ -8277,90 +8287,90 @@ gl_FragCoord origin is upper left 117(inFM3x4): 106(ptr) FunctionParameter 118(inFM2x4): 108(ptr) FunctionParameter 120: Label - 1728(r00): 7(ptr) Variable Function - 1732(r01): 25(ptr) Variable Function - 1736(r02): 37(ptr) Variable Function - 1740(r03): 25(ptr) Variable Function - 1744(r04): 37(ptr) Variable Function - 1748(r05): 7(ptr) Variable Function - 1752(r06): 7(ptr) Variable Function - 1756(r07): 37(ptr) Variable Function - 1760(r08): 25(ptr) Variable Function - 1764(r09): 25(ptr) Variable Function - 1768(r10): 37(ptr) Variable Function - 1772(r11): 102(ptr) Variable Function - 1776(r12): 104(ptr) Variable Function - 1780(r13): 49(ptr) Variable Function - 1784(r14): 102(ptr) Variable Function - 1788(r15): 108(ptr) Variable Function - 1792(r16): 106(ptr) Variable Function - 1729: 6(float) Load 110(inF0) - 1730: 6(float) Load 111(inF1) - 1731: 6(float) FMul 1729 1730 - Store 1728(r00) 1731 - 1733: 24(fvec2) Load 112(inFV2) - 1734: 6(float) Load 110(inF0) - 1735: 24(fvec2) VectorTimesScalar 1733 1734 - Store 1732(r01) 1735 - 1737: 36(fvec3) Load 113(inFV3) - 1738: 6(float) Load 110(inF0) - 1739: 36(fvec3) VectorTimesScalar 1737 1738 - Store 1736(r02) 1739 - 1741: 6(float) Load 110(inF0) - 1742: 24(fvec2) Load 112(inFV2) - 1743: 24(fvec2) VectorTimesScalar 1742 1741 - Store 1740(r03) 1743 - 1745: 6(float) Load 110(inF0) - 1746: 36(fvec3) Load 113(inFV3) - 1747: 36(fvec3) VectorTimesScalar 1746 1745 - Store 1744(r04) 1747 - 1749: 24(fvec2) Load 112(inFV2) - 1750: 24(fvec2) Load 112(inFV2) - 1751: 6(float) Dot 1749 1750 - Store 1748(r05) 1751 - 1753: 36(fvec3) Load 113(inFV3) - 1754: 36(fvec3) Load 113(inFV3) - 1755: 6(float) Dot 1753 1754 - Store 1752(r06) 1755 - 1757: 24(fvec2) Load 112(inFV2) - 1758: 101 Load 114(inFM2x3) - 1759: 36(fvec3) VectorTimesMatrix 1757 1758 - Store 1756(r07) 1759 - 1761: 36(fvec3) Load 113(inFV3) - 1762: 103 Load 115(inFM3x2) - 1763: 24(fvec2) VectorTimesMatrix 1761 1762 - Store 1760(r08) 1763 - 1765: 101 Load 114(inFM2x3) - 1766: 36(fvec3) Load 113(inFV3) - 1767: 24(fvec2) MatrixTimesVector 1765 1766 - Store 1764(r09) 1767 - 1769: 103 Load 115(inFM3x2) - 1770: 24(fvec2) Load 112(inFV2) - 1771: 36(fvec3) MatrixTimesVector 1769 1770 - Store 1768(r10) 1771 - 1773: 101 Load 114(inFM2x3) - 1774: 6(float) Load 110(inF0) - 1775: 101 MatrixTimesScalar 1773 1774 - Store 1772(r11) 1775 - 1777: 103 Load 115(inFM3x2) - 1778: 6(float) Load 110(inF0) - 1779: 103 MatrixTimesScalar 1777 1778 - Store 1776(r12) 1779 - 1781: 101 Load 114(inFM2x3) - 1782: 103 Load 115(inFM3x2) - 1783: 48 MatrixTimesMatrix 1781 1782 - Store 1780(r13) 1783 - 1785: 101 Load 114(inFM2x3) - 1786: 56 Load 116(inFM3x3) - 1787: 101 MatrixTimesMatrix 1785 1786 - Store 1784(r14) 1787 - 1789: 101 Load 114(inFM2x3) - 1790: 105 Load 117(inFM3x4) - 1791: 107 MatrixTimesMatrix 1789 1790 - Store 1788(r15) 1791 - 1793: 103 Load 115(inFM3x2) - 1794: 107 Load 118(inFM2x4) - 1795: 105 MatrixTimesMatrix 1793 1794 - Store 1792(r16) 1795 + 1730(r00): 7(ptr) Variable Function + 1734(r01): 25(ptr) Variable Function + 1738(r02): 37(ptr) Variable Function + 1742(r03): 25(ptr) Variable Function + 1746(r04): 37(ptr) Variable Function + 1750(r05): 7(ptr) Variable Function + 1754(r06): 7(ptr) Variable Function + 1758(r07): 37(ptr) Variable Function + 1762(r08): 25(ptr) Variable Function + 1766(r09): 25(ptr) Variable Function + 1770(r10): 37(ptr) Variable Function + 1774(r11): 102(ptr) Variable Function + 1778(r12): 104(ptr) Variable Function + 1782(r13): 49(ptr) Variable Function + 1786(r14): 102(ptr) Variable Function + 1790(r15): 108(ptr) Variable Function + 1794(r16): 106(ptr) Variable Function + 1731: 6(float) Load 110(inF0) + 1732: 6(float) Load 111(inF1) + 1733: 6(float) FMul 1731 1732 + Store 1730(r00) 1733 + 1735: 24(fvec2) Load 112(inFV2) + 1736: 6(float) Load 110(inF0) + 1737: 24(fvec2) VectorTimesScalar 1735 1736 + Store 1734(r01) 1737 + 1739: 36(fvec3) Load 113(inFV3) + 1740: 6(float) Load 110(inF0) + 1741: 36(fvec3) VectorTimesScalar 1739 1740 + Store 1738(r02) 1741 + 1743: 6(float) Load 110(inF0) + 1744: 24(fvec2) Load 112(inFV2) + 1745: 24(fvec2) VectorTimesScalar 1744 1743 + Store 1742(r03) 1745 + 1747: 6(float) Load 110(inF0) + 1748: 36(fvec3) Load 113(inFV3) + 1749: 36(fvec3) VectorTimesScalar 1748 1747 + Store 1746(r04) 1749 + 1751: 24(fvec2) Load 112(inFV2) + 1752: 24(fvec2) Load 112(inFV2) + 1753: 6(float) Dot 1751 1752 + Store 1750(r05) 1753 + 1755: 36(fvec3) Load 113(inFV3) + 1756: 36(fvec3) Load 113(inFV3) + 1757: 6(float) Dot 1755 1756 + Store 1754(r06) 1757 + 1759: 24(fvec2) Load 112(inFV2) + 1760: 101 Load 114(inFM2x3) + 1761: 36(fvec3) VectorTimesMatrix 1759 1760 + Store 1758(r07) 1761 + 1763: 36(fvec3) Load 113(inFV3) + 1764: 103 Load 115(inFM3x2) + 1765: 24(fvec2) VectorTimesMatrix 1763 1764 + Store 1762(r08) 1765 + 1767: 101 Load 114(inFM2x3) + 1768: 36(fvec3) Load 113(inFV3) + 1769: 24(fvec2) MatrixTimesVector 1767 1768 + Store 1766(r09) 1769 + 1771: 103 Load 115(inFM3x2) + 1772: 24(fvec2) Load 112(inFV2) + 1773: 36(fvec3) MatrixTimesVector 1771 1772 + Store 1770(r10) 1773 + 1775: 101 Load 114(inFM2x3) + 1776: 6(float) Load 110(inF0) + 1777: 101 MatrixTimesScalar 1775 1776 + Store 1774(r11) 1777 + 1779: 103 Load 115(inFM3x2) + 1780: 6(float) Load 110(inF0) + 1781: 103 MatrixTimesScalar 1779 1780 + Store 1778(r12) 1781 + 1783: 101 Load 114(inFM2x3) + 1784: 103 Load 115(inFM3x2) + 1785: 48 MatrixTimesMatrix 1783 1784 + Store 1782(r13) 1785 + 1787: 101 Load 114(inFM2x3) + 1788: 56 Load 116(inFM3x3) + 1789: 101 MatrixTimesMatrix 1787 1788 + Store 1786(r14) 1789 + 1791: 101 Load 114(inFM2x3) + 1792: 105 Load 117(inFM3x4) + 1793: 107 MatrixTimesMatrix 1791 1792 + Store 1790(r15) 1793 + 1795: 103 Load 115(inFM3x2) + 1796: 107 Load 118(inFM2x4) + 1797: 105 MatrixTimesMatrix 1795 1796 + Store 1794(r16) 1797 Return FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.negative.comp.out b/Test/baseResults/hlsl.intrinsics.negative.comp.out index db256050..25788000 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.comp.out +++ b/Test/baseResults/hlsl.intrinsics.negative.comp.out @@ -52,12 +52,15 @@ local_size = (1, 1, 1) 0:158 'inF2' (in 4-component vector of float) 0:158 'inI0' (in 4-component vector of int) 0:? Sequence -0:199 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:199 Sequence +0:199 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:199 Branch: Return 0:? Linker Objects @@ -117,22 +120,25 @@ local_size = (1, 1, 1) 0:158 'inF2' (in 4-component vector of float) 0:158 'inI0' (in 4-component vector of int) 0:? Sequence -0:199 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:199 Sequence +0:199 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:199 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 63 +// Id's are bound by 65 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" + EntryPoint GLCompute 4 "ComputeShaderFunction" 61 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" Name 15 "ComputeShaderFunctionS(f1;f1;f1;i1;" @@ -155,6 +161,7 @@ local_size = (1, 1, 1) Name 40 "inF1" Name 41 "inF2" Name 42 "inI0" + Name 61 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -179,11 +186,14 @@ local_size = (1, 1, 1) 55: 6(float) Constant 1077936128 56: 34(fvec3) ConstantComposite 50 51 55 59: TypeVector 6(float) 4 - 60: 6(float) Constant 1082130432 - 61: 59(fvec4) ConstantComposite 50 51 55 60 + 60: TypePointer Output 59(fvec4) +61(@entryPointOutput): 60(ptr) Variable Output + 62: 6(float) Constant 1082130432 + 63: 59(fvec4) ConstantComposite 50 51 55 62 4(ComputeShaderFunction): 2 Function None 3 5: Label - ReturnValue 61 + Store 61(@entryPointOutput) 63 + Return FunctionEnd 15(ComputeShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10 11(inF0): 7(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.intrinsics.negative.frag.out b/Test/baseResults/hlsl.intrinsics.negative.frag.out index 90fc2127..1227daed 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.frag.out +++ b/Test/baseResults/hlsl.intrinsics.negative.frag.out @@ -267,12 +267,15 @@ ERROR: node is still EOpNull! 0:89 'inF0' (in 4-component vector of float) 0:90 Constant: 0:90 0.000000 -0:92 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:92 Sequence +0:92 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:92 Branch: Return 0:122 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) 0:115 Function Parameters: 0:115 'inF0' (in 2X2 matrix of float) @@ -615,12 +618,15 @@ ERROR: node is still EOpNull! 0:89 'inF0' (in 4-component vector of float) 0:90 Constant: 0:90 0.000000 -0:92 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:92 Sequence +0:92 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:92 Branch: Return 0:122 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) 0:115 Function Parameters: 0:115 'inF0' (in 2X2 matrix of float) diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out index de2da898..f00e25ae 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.vert.out +++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out @@ -51,12 +51,15 @@ Shader version: 450 0:176 'inF2' (in 4-component vector of float) 0:176 'inI0' (in 4-component vector of int) 0:? Sequence -0:217 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:217 Sequence +0:217 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:217 Branch: Return 0:233 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) 0:226 Function Parameters: 0:226 'inF0' (in 2X2 matrix of float) @@ -180,12 +183,15 @@ Shader version: 450 0:176 'inF2' (in 4-component vector of float) 0:176 'inI0' (in 4-component vector of int) 0:? Sequence -0:217 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 +0:217 Sequence +0:217 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:217 Branch: Return 0:233 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) 0:226 Function Parameters: 0:226 'inF0' (in 2X2 matrix of float) @@ -255,12 +261,12 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 119 +// Id's are bound by 121 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "VertexShaderFunction" + EntryPoint Vertex 4 "VertexShaderFunction" 85 Name 4 "VertexShaderFunction" Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;" Name 11 "inF0" @@ -294,18 +300,19 @@ Shader version: 450 Name 65 "inF0" Name 66 "inF1" Name 67 "inF2" - Name 101 "gs_ua" - Name 102 "gs_ub" - Name 103 "gs_uc" - Name 106 "gs_ua2" - Name 107 "gs_ub2" - Name 108 "gs_uc2" - Name 111 "gs_ua3" - Name 112 "gs_ub3" - Name 113 "gs_uc3" - Name 116 "gs_ua4" - Name 117 "gs_ub4" - Name 118 "gs_uc4" + Name 85 "@entryPointOutput" + Name 103 "gs_ua" + Name 104 "gs_ub" + Name 105 "gs_uc" + Name 108 "gs_ua2" + Name 109 "gs_ub2" + Name 110 "gs_uc2" + Name 113 "gs_ua3" + Name 114 "gs_ub3" + Name 115 "gs_uc3" + Name 118 "gs_ua4" + Name 119 "gs_ub4" + Name 120 "gs_uc4" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -339,37 +346,40 @@ Shader version: 450 77: 23(fvec2) ConstantComposite 75 76 80: 6(float) Constant 1077936128 81: 34(fvec3) ConstantComposite 75 76 80 - 84: 6(float) Constant 1082130432 - 85: 61(fvec4) ConstantComposite 75 76 80 84 - 87: 23(fvec2) ConstantComposite 76 76 - 88: 45 ConstantComposite 87 87 - 91: 34(fvec3) ConstantComposite 80 80 80 - 92: 53 ConstantComposite 91 91 91 - 95: 61(fvec4) ConstantComposite 84 84 84 84 - 96: 62 ConstantComposite 95 95 95 95 - 99: TypeInt 32 0 - 100: TypePointer Private 99(int) - 101(gs_ua): 100(ptr) Variable Private - 102(gs_ub): 100(ptr) Variable Private - 103(gs_uc): 100(ptr) Variable Private - 104: TypeVector 99(int) 2 - 105: TypePointer Private 104(ivec2) - 106(gs_ua2): 105(ptr) Variable Private - 107(gs_ub2): 105(ptr) Variable Private - 108(gs_uc2): 105(ptr) Variable Private - 109: TypeVector 99(int) 3 - 110: TypePointer Private 109(ivec3) - 111(gs_ua3): 110(ptr) Variable Private - 112(gs_ub3): 110(ptr) Variable Private - 113(gs_uc3): 110(ptr) Variable Private - 114: TypeVector 99(int) 4 - 115: TypePointer Private 114(ivec4) - 116(gs_ua4): 115(ptr) Variable Private - 117(gs_ub4): 115(ptr) Variable Private - 118(gs_uc4): 115(ptr) Variable Private + 84: TypePointer Output 61(fvec4) +85(@entryPointOutput): 84(ptr) Variable Output + 86: 6(float) Constant 1082130432 + 87: 61(fvec4) ConstantComposite 75 76 80 86 + 89: 23(fvec2) ConstantComposite 76 76 + 90: 45 ConstantComposite 89 89 + 93: 34(fvec3) ConstantComposite 80 80 80 + 94: 53 ConstantComposite 93 93 93 + 97: 61(fvec4) ConstantComposite 86 86 86 86 + 98: 62 ConstantComposite 97 97 97 97 + 101: TypeInt 32 0 + 102: TypePointer Private 101(int) + 103(gs_ua): 102(ptr) Variable Private + 104(gs_ub): 102(ptr) Variable Private + 105(gs_uc): 102(ptr) Variable Private + 106: TypeVector 101(int) 2 + 107: TypePointer Private 106(ivec2) + 108(gs_ua2): 107(ptr) Variable Private + 109(gs_ub2): 107(ptr) Variable Private + 110(gs_uc2): 107(ptr) Variable Private + 111: TypeVector 101(int) 3 + 112: TypePointer Private 111(ivec3) + 113(gs_ua3): 112(ptr) Variable Private + 114(gs_ub3): 112(ptr) Variable Private + 115(gs_uc3): 112(ptr) Variable Private + 116: TypeVector 101(int) 4 + 117: TypePointer Private 116(ivec4) + 118(gs_ua4): 117(ptr) Variable Private + 119(gs_ub4): 117(ptr) Variable Private + 120(gs_uc4): 117(ptr) Variable Private 4(VertexShaderFunction): 2 Function None 3 5: Label - ReturnValue 85 + Store 85(@entryPointOutput) 87 + Return FunctionEnd 15(VertexShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10 11(inF0): 7(ptr) FunctionParameter @@ -408,19 +418,19 @@ Shader version: 450 49(inF1): 46(ptr) FunctionParameter 50(inF2): 46(ptr) FunctionParameter 52: Label - ReturnValue 88 + ReturnValue 90 FunctionEnd 59(VertexShaderFunction3x3(mf33;mf33;mf33;): 53 Function None 55 56(inF0): 54(ptr) FunctionParameter 57(inF1): 54(ptr) FunctionParameter 58(inF2): 54(ptr) FunctionParameter 60: Label - ReturnValue 92 + ReturnValue 94 FunctionEnd 68(VertexShaderFunction4x4(mf44;mf44;mf44;): 62 Function None 64 65(inF0): 63(ptr) FunctionParameter 66(inF1): 63(ptr) FunctionParameter 67(inF2): 63(ptr) FunctionParameter 69: Label - ReturnValue 96 + ReturnValue 98 FunctionEnd diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out index 6dfee1b4..bff38d8c 100644 --- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -88,8 +88,11 @@ gl_FragCoord origin is upper left 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:54 Branch: Return with expression -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 Sequence +0:54 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) @@ -200,8 +203,11 @@ gl_FragCoord origin is upper left 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:54 Branch: Return with expression -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 Sequence +0:54 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:54 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) @@ -221,14 +227,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 103 +// Id's are bound by 105 Capability Shader Capability ImageGatherExtended Capability ImageMSArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 92 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex2dmsf4" @@ -244,12 +250,13 @@ gl_FragCoord origin is upper left MemberName 80(PS_OUTPUT) 0 "Color" MemberName 80(PS_OUTPUT) 1 "Depth" Name 82 "psout" - Name 95 "g_sSamp" - Name 97 "c1" - Name 99 "c4" - Name 100 "o1" - Name 101 "o3" - Name 102 "o4" + Name 92 "@entryPointOutput" + Name 97 "g_sSamp" + Name 99 "c1" + Name 101 "c4" + Name 102 "o1" + Name 103 "o3" + Name 104 "o4" Decorate 9(g_tTex2dmsf4) DescriptorSet 0 Decorate 21(g_tTex2dmsi4) DescriptorSet 0 Decorate 29(g_tTex2dmsu4) DescriptorSet 0 @@ -257,8 +264,8 @@ gl_FragCoord origin is upper left Decorate 58(g_tTex2dmsi4a) DescriptorSet 0 Decorate 64(g_tTex2dmsu4a) DescriptorSet 0 MemberDecorate 80(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 95(g_sSamp) DescriptorSet 0 - Decorate 95(g_sSamp) Binding 0 + Decorate 97(g_sSamp) DescriptorSet 0 + Decorate 97(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -301,16 +308,18 @@ gl_FragCoord origin is upper left 86: TypePointer Function 17(fvec4) 88: 11(int) Constant 1 89: TypePointer Function 6(float) - 93: TypeSampler - 94: TypePointer UniformConstant 93 - 95(g_sSamp): 94(ptr) Variable UniformConstant - 96: TypePointer UniformConstant 11(int) - 97(c1): 96(ptr) Variable UniformConstant - 98: TypePointer UniformConstant 24(ivec4) - 99(c4): 98(ptr) Variable UniformConstant - 100(o1): 96(ptr) Variable UniformConstant - 101(o3): 52(ptr) Variable UniformConstant - 102(o4): 98(ptr) Variable UniformConstant + 91: TypePointer Output 80(PS_OUTPUT) +92(@entryPointOutput): 91(ptr) Variable Output + 95: TypeSampler + 96: TypePointer UniformConstant 95 + 97(g_sSamp): 96(ptr) Variable UniformConstant + 98: TypePointer UniformConstant 11(int) + 99(c1): 98(ptr) Variable UniformConstant + 100: TypePointer UniformConstant 24(ivec4) + 101(c4): 100(ptr) Variable UniformConstant + 102(o1): 98(ptr) Variable UniformConstant + 103(o3): 52(ptr) Variable UniformConstant + 104(o4): 100(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 82(psout): 81(ptr) Variable Function @@ -360,6 +369,7 @@ gl_FragCoord origin is upper left Store 87 85 90: 89(ptr) AccessChain 82(psout) 88 Store 90 84 - 91:80(PS_OUTPUT) Load 82(psout) - ReturnValue 91 + 93:80(PS_OUTPUT) Load 82(psout) + Store 92(@entryPointOutput) 93 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out index 12636502..b18bec5c 100644 --- a/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -106,8 +106,11 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Branch: Return with expression -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Sequence +0:70 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -251,8 +254,11 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Branch: Return with expression -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Sequence +0:70 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:70 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -287,14 +293,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 143 +// Id's are bound by 145 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 87 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex1df4a" @@ -309,28 +315,29 @@ gl_FragCoord origin is upper left MemberName 75(PS_OUTPUT) 0 "Color" MemberName 75(PS_OUTPUT) 1 "Depth" Name 77 "psout" - Name 90 "g_sSamp" - Name 93 "g_tTex1df4" - Name 96 "g_tTex1di4" - Name 99 "g_tTex1du4" - Name 102 "g_tTex2df4" - Name 105 "g_tTex2di4" - Name 108 "g_tTex2du4" - Name 111 "g_tTex3df4" - Name 114 "g_tTex3di4" - Name 117 "g_tTex3du4" - Name 120 "g_tTexcdf4" - Name 123 "g_tTexcdi4" - Name 126 "g_tTexcdu4" - Name 129 "g_tTexcdf4a" - Name 132 "g_tTexcdi4a" - Name 135 "g_tTexcdu4a" - Name 136 "c1" - Name 138 "c2" - Name 139 "o1" - Name 140 "o2" - Name 141 "o3" - Name 142 "o4" + Name 87 "@entryPointOutput" + Name 92 "g_sSamp" + Name 95 "g_tTex1df4" + Name 98 "g_tTex1di4" + Name 101 "g_tTex1du4" + Name 104 "g_tTex2df4" + Name 107 "g_tTex2di4" + Name 110 "g_tTex2du4" + Name 113 "g_tTex3df4" + Name 116 "g_tTex3di4" + Name 119 "g_tTex3du4" + Name 122 "g_tTexcdf4" + Name 125 "g_tTexcdi4" + Name 128 "g_tTexcdu4" + Name 131 "g_tTexcdf4a" + Name 134 "g_tTexcdi4a" + Name 137 "g_tTexcdu4a" + Name 138 "c1" + Name 140 "c2" + Name 141 "o1" + Name 142 "o2" + Name 143 "o3" + Name 144 "o4" Decorate 9(g_tTex1df4a) DescriptorSet 0 Decorate 27(g_tTex1di4a) DescriptorSet 0 Decorate 37(g_tTex1du4a) DescriptorSet 0 @@ -338,24 +345,24 @@ gl_FragCoord origin is upper left Decorate 59(g_tTex2di4a) DescriptorSet 0 Decorate 68(g_tTex2du4a) DescriptorSet 0 MemberDecorate 75(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 90(g_sSamp) DescriptorSet 0 - Decorate 90(g_sSamp) Binding 0 - Decorate 93(g_tTex1df4) DescriptorSet 0 - Decorate 93(g_tTex1df4) Binding 0 - Decorate 96(g_tTex1di4) DescriptorSet 0 - Decorate 99(g_tTex1du4) DescriptorSet 0 - Decorate 102(g_tTex2df4) DescriptorSet 0 - Decorate 105(g_tTex2di4) DescriptorSet 0 - Decorate 108(g_tTex2du4) DescriptorSet 0 - Decorate 111(g_tTex3df4) DescriptorSet 0 - Decorate 114(g_tTex3di4) DescriptorSet 0 - Decorate 117(g_tTex3du4) DescriptorSet 0 - Decorate 120(g_tTexcdf4) DescriptorSet 0 - Decorate 123(g_tTexcdi4) DescriptorSet 0 - Decorate 126(g_tTexcdu4) DescriptorSet 0 - Decorate 129(g_tTexcdf4a) DescriptorSet 0 - Decorate 132(g_tTexcdi4a) DescriptorSet 0 - Decorate 135(g_tTexcdu4a) DescriptorSet 0 + Decorate 92(g_sSamp) DescriptorSet 0 + Decorate 92(g_sSamp) Binding 0 + Decorate 95(g_tTex1df4) DescriptorSet 0 + Decorate 95(g_tTex1df4) Binding 0 + Decorate 98(g_tTex1di4) DescriptorSet 0 + Decorate 101(g_tTex1du4) DescriptorSet 0 + Decorate 104(g_tTex2df4) DescriptorSet 0 + Decorate 107(g_tTex2di4) DescriptorSet 0 + Decorate 110(g_tTex2du4) DescriptorSet 0 + Decorate 113(g_tTex3df4) DescriptorSet 0 + Decorate 116(g_tTex3di4) DescriptorSet 0 + Decorate 119(g_tTex3du4) DescriptorSet 0 + Decorate 122(g_tTexcdf4) DescriptorSet 0 + Decorate 125(g_tTexcdi4) DescriptorSet 0 + Decorate 128(g_tTexcdu4) DescriptorSet 0 + Decorate 131(g_tTexcdf4a) DescriptorSet 0 + Decorate 134(g_tTexcdi4a) DescriptorSet 0 + Decorate 137(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -399,61 +406,63 @@ gl_FragCoord origin is upper left 81: TypePointer Function 23(fvec4) 83: 11(int) Constant 1 84: TypePointer Function 6(float) - 88: TypeSampler - 89: TypePointer UniformConstant 88 - 90(g_sSamp): 89(ptr) Variable UniformConstant - 91: TypeImage 6(float) 1D sampled format:Unknown - 92: TypePointer UniformConstant 91 - 93(g_tTex1df4): 92(ptr) Variable UniformConstant - 94: TypeImage 11(int) 1D sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTex1di4): 95(ptr) Variable UniformConstant - 97: TypeImage 18(int) 1D sampled format:Unknown - 98: TypePointer UniformConstant 97 - 99(g_tTex1du4): 98(ptr) Variable UniformConstant - 100: TypeImage 6(float) 2D sampled format:Unknown - 101: TypePointer UniformConstant 100 - 102(g_tTex2df4): 101(ptr) Variable UniformConstant - 103: TypeImage 11(int) 2D sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTex2di4): 104(ptr) Variable UniformConstant - 106: TypeImage 18(int) 2D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex2du4): 107(ptr) Variable UniformConstant - 109: TypeImage 6(float) 3D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex3df4): 110(ptr) Variable UniformConstant - 112: TypeImage 11(int) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3di4): 113(ptr) Variable UniformConstant - 115: TypeImage 18(int) 3D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex3du4): 116(ptr) Variable UniformConstant - 118: TypeImage 6(float) Cube sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTexcdf4): 119(ptr) Variable UniformConstant - 121: TypeImage 11(int) Cube sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTexcdi4): 122(ptr) Variable UniformConstant - 124: TypeImage 18(int) Cube sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTexcdu4): 125(ptr) Variable UniformConstant - 127: TypeImage 6(float) Cube array sampled format:Unknown - 128: TypePointer UniformConstant 127 -129(g_tTexcdf4a): 128(ptr) Variable UniformConstant - 130: TypeImage 11(int) Cube array sampled format:Unknown - 131: TypePointer UniformConstant 130 -132(g_tTexcdi4a): 131(ptr) Variable UniformConstant - 133: TypeImage 18(int) Cube array sampled format:Unknown - 134: TypePointer UniformConstant 133 -135(g_tTexcdu4a): 134(ptr) Variable UniformConstant - 136(c1): 20(ptr) Variable UniformConstant - 137: TypePointer UniformConstant 15(ivec2) - 138(c2): 137(ptr) Variable UniformConstant - 139(o1): 20(ptr) Variable UniformConstant - 140(o2): 137(ptr) Variable UniformConstant - 141(o3): 13(ptr) Variable UniformConstant - 142(o4): 49(ptr) Variable UniformConstant + 86: TypePointer Output 75(PS_OUTPUT) +87(@entryPointOutput): 86(ptr) Variable Output + 90: TypeSampler + 91: TypePointer UniformConstant 90 + 92(g_sSamp): 91(ptr) Variable UniformConstant + 93: TypeImage 6(float) 1D sampled format:Unknown + 94: TypePointer UniformConstant 93 + 95(g_tTex1df4): 94(ptr) Variable UniformConstant + 96: TypeImage 11(int) 1D sampled format:Unknown + 97: TypePointer UniformConstant 96 + 98(g_tTex1di4): 97(ptr) Variable UniformConstant + 99: TypeImage 18(int) 1D sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTex1du4): 100(ptr) Variable UniformConstant + 102: TypeImage 6(float) 2D sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTex2df4): 103(ptr) Variable UniformConstant + 105: TypeImage 11(int) 2D sampled format:Unknown + 106: TypePointer UniformConstant 105 + 107(g_tTex2di4): 106(ptr) Variable UniformConstant + 108: TypeImage 18(int) 2D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex2du4): 109(ptr) Variable UniformConstant + 111: TypeImage 6(float) 3D sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTex3df4): 112(ptr) Variable UniformConstant + 114: TypeImage 11(int) 3D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex3di4): 115(ptr) Variable UniformConstant + 117: TypeImage 18(int) 3D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex3du4): 118(ptr) Variable UniformConstant + 120: TypeImage 6(float) Cube sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTexcdf4): 121(ptr) Variable UniformConstant + 123: TypeImage 11(int) Cube sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTexcdi4): 124(ptr) Variable UniformConstant + 126: TypeImage 18(int) Cube sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTexcdu4): 127(ptr) Variable UniformConstant + 129: TypeImage 6(float) Cube array sampled format:Unknown + 130: TypePointer UniformConstant 129 +131(g_tTexcdf4a): 130(ptr) Variable UniformConstant + 132: TypeImage 11(int) Cube array sampled format:Unknown + 133: TypePointer UniformConstant 132 +134(g_tTexcdi4a): 133(ptr) Variable UniformConstant + 135: TypeImage 18(int) Cube array sampled format:Unknown + 136: TypePointer UniformConstant 135 +137(g_tTexcdu4a): 136(ptr) Variable UniformConstant + 138(c1): 20(ptr) Variable UniformConstant + 139: TypePointer UniformConstant 15(ivec2) + 140(c2): 139(ptr) Variable UniformConstant + 141(o1): 20(ptr) Variable UniformConstant + 142(o2): 139(ptr) Variable UniformConstant + 143(o3): 13(ptr) Variable UniformConstant + 144(o4): 49(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 77(psout): 76(ptr) Variable Function @@ -497,6 +506,7 @@ gl_FragCoord origin is upper left Store 82 80 85: 84(ptr) AccessChain 77(psout) 83 Store 85 79 - 86:75(PS_OUTPUT) Load 77(psout) - ReturnValue 86 + 88:75(PS_OUTPUT) Load 77(psout) + Store 87(@entryPointOutput) 88 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out index 35e6956b..1016ba49 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -139,8 +139,11 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Branch: Return with expression -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Sequence +0:75 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -317,8 +320,11 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Branch: Return with expression -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Sequence +0:75 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -353,14 +359,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 163 +// Id's are bound by 165 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 118 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex1df4" @@ -379,24 +385,25 @@ gl_FragCoord origin is upper left MemberName 106(PS_OUTPUT) 0 "Color" MemberName 106(PS_OUTPUT) 1 "Depth" Name 108 "psout" - Name 121 "g_sSamp" - Name 124 "g_tTexcdf4" - Name 127 "g_tTexcdi4" - Name 130 "g_tTexcdu4" - Name 133 "g_tTex1df4a" - Name 136 "g_tTex1di4a" - Name 139 "g_tTex1du4a" - Name 142 "g_tTex2df4a" - Name 145 "g_tTex2di4a" - Name 148 "g_tTex2du4a" - Name 151 "g_tTexcdf4a" - Name 154 "g_tTexcdi4a" - Name 157 "g_tTexcdu4a" - Name 158 "c1" - Name 159 "o1" - Name 160 "o2" - Name 161 "o3" - Name 162 "o4" + Name 118 "@entryPointOutput" + Name 123 "g_sSamp" + Name 126 "g_tTexcdf4" + Name 129 "g_tTexcdi4" + Name 132 "g_tTexcdu4" + Name 135 "g_tTex1df4a" + Name 138 "g_tTex1di4a" + Name 141 "g_tTex1du4a" + Name 144 "g_tTex2df4a" + Name 147 "g_tTex2di4a" + Name 150 "g_tTex2du4a" + Name 153 "g_tTexcdf4a" + Name 156 "g_tTexcdi4a" + Name 159 "g_tTexcdu4a" + Name 160 "c1" + Name 161 "o1" + Name 162 "o2" + Name 163 "o3" + Name 164 "o4" Decorate 9(g_tTex1df4) DescriptorSet 0 Decorate 9(g_tTex1df4) Binding 0 Decorate 27(g_tTex1di4) DescriptorSet 0 @@ -408,20 +415,20 @@ gl_FragCoord origin is upper left Decorate 90(g_tTex3di4) DescriptorSet 0 Decorate 99(g_tTex3du4) DescriptorSet 0 MemberDecorate 106(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 121(g_sSamp) DescriptorSet 0 - Decorate 121(g_sSamp) Binding 0 - Decorate 124(g_tTexcdf4) DescriptorSet 0 - Decorate 127(g_tTexcdi4) DescriptorSet 0 - Decorate 130(g_tTexcdu4) DescriptorSet 0 - Decorate 133(g_tTex1df4a) DescriptorSet 0 - Decorate 136(g_tTex1di4a) DescriptorSet 0 - Decorate 139(g_tTex1du4a) DescriptorSet 0 - Decorate 142(g_tTex2df4a) DescriptorSet 0 - Decorate 145(g_tTex2di4a) DescriptorSet 0 - Decorate 148(g_tTex2du4a) DescriptorSet 0 - Decorate 151(g_tTexcdf4a) DescriptorSet 0 - Decorate 154(g_tTexcdi4a) DescriptorSet 0 - Decorate 157(g_tTexcdu4a) DescriptorSet 0 + Decorate 123(g_sSamp) DescriptorSet 0 + Decorate 123(g_sSamp) Binding 0 + Decorate 126(g_tTexcdf4) DescriptorSet 0 + Decorate 129(g_tTexcdi4) DescriptorSet 0 + Decorate 132(g_tTexcdu4) DescriptorSet 0 + Decorate 135(g_tTex1df4a) DescriptorSet 0 + Decorate 138(g_tTex1di4a) DescriptorSet 0 + Decorate 141(g_tTex1du4a) DescriptorSet 0 + Decorate 144(g_tTex2df4a) DescriptorSet 0 + Decorate 147(g_tTex2di4a) DescriptorSet 0 + Decorate 150(g_tTex2du4a) DescriptorSet 0 + Decorate 153(g_tTexcdf4a) DescriptorSet 0 + Decorate 156(g_tTexcdi4a) DescriptorSet 0 + Decorate 159(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -478,50 +485,52 @@ gl_FragCoord origin is upper left 112: TypePointer Function 23(fvec4) 114: 11(int) Constant 1 115: TypePointer Function 6(float) - 119: TypeSampler - 120: TypePointer UniformConstant 119 - 121(g_sSamp): 120(ptr) Variable UniformConstant - 122: TypeImage 6(float) Cube sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTexcdf4): 123(ptr) Variable UniformConstant - 125: TypeImage 11(int) Cube sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTexcdi4): 126(ptr) Variable UniformConstant - 128: TypeImage 15(int) Cube sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTexcdu4): 129(ptr) Variable UniformConstant - 131: TypeImage 6(float) 1D array sampled format:Unknown - 132: TypePointer UniformConstant 131 -133(g_tTex1df4a): 132(ptr) Variable UniformConstant - 134: TypeImage 11(int) 1D array sampled format:Unknown - 135: TypePointer UniformConstant 134 -136(g_tTex1di4a): 135(ptr) Variable UniformConstant - 137: TypeImage 15(int) 1D array sampled format:Unknown - 138: TypePointer UniformConstant 137 -139(g_tTex1du4a): 138(ptr) Variable UniformConstant - 140: TypeImage 6(float) 2D array sampled format:Unknown - 141: TypePointer UniformConstant 140 -142(g_tTex2df4a): 141(ptr) Variable UniformConstant - 143: TypeImage 11(int) 2D array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTex2di4a): 144(ptr) Variable UniformConstant - 146: TypeImage 15(int) 2D array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTex2du4a): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) Cube array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTexcdf4a): 150(ptr) Variable UniformConstant - 152: TypeImage 11(int) Cube array sampled format:Unknown - 153: TypePointer UniformConstant 152 -154(g_tTexcdi4a): 153(ptr) Variable UniformConstant - 155: TypeImage 15(int) Cube array sampled format:Unknown - 156: TypePointer UniformConstant 155 -157(g_tTexcdu4a): 156(ptr) Variable UniformConstant - 158(c1): 17(ptr) Variable UniformConstant - 159(o1): 17(ptr) Variable UniformConstant - 160(o2): 13(ptr) Variable UniformConstant - 161(o3): 50(ptr) Variable UniformConstant - 162(o4): 80(ptr) Variable UniformConstant + 117: TypePointer Output 106(PS_OUTPUT) +118(@entryPointOutput): 117(ptr) Variable Output + 121: TypeSampler + 122: TypePointer UniformConstant 121 + 123(g_sSamp): 122(ptr) Variable UniformConstant + 124: TypeImage 6(float) Cube sampled format:Unknown + 125: TypePointer UniformConstant 124 + 126(g_tTexcdf4): 125(ptr) Variable UniformConstant + 127: TypeImage 11(int) Cube sampled format:Unknown + 128: TypePointer UniformConstant 127 + 129(g_tTexcdi4): 128(ptr) Variable UniformConstant + 130: TypeImage 15(int) Cube sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTexcdu4): 131(ptr) Variable UniformConstant + 133: TypeImage 6(float) 1D array sampled format:Unknown + 134: TypePointer UniformConstant 133 +135(g_tTex1df4a): 134(ptr) Variable UniformConstant + 136: TypeImage 11(int) 1D array sampled format:Unknown + 137: TypePointer UniformConstant 136 +138(g_tTex1di4a): 137(ptr) Variable UniformConstant + 139: TypeImage 15(int) 1D array sampled format:Unknown + 140: TypePointer UniformConstant 139 +141(g_tTex1du4a): 140(ptr) Variable UniformConstant + 142: TypeImage 6(float) 2D array sampled format:Unknown + 143: TypePointer UniformConstant 142 +144(g_tTex2df4a): 143(ptr) Variable UniformConstant + 145: TypeImage 11(int) 2D array sampled format:Unknown + 146: TypePointer UniformConstant 145 +147(g_tTex2di4a): 146(ptr) Variable UniformConstant + 148: TypeImage 15(int) 2D array sampled format:Unknown + 149: TypePointer UniformConstant 148 +150(g_tTex2du4a): 149(ptr) Variable UniformConstant + 151: TypeImage 6(float) Cube array sampled format:Unknown + 152: TypePointer UniformConstant 151 +153(g_tTexcdf4a): 152(ptr) Variable UniformConstant + 154: TypeImage 11(int) Cube array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTexcdi4a): 155(ptr) Variable UniformConstant + 157: TypeImage 15(int) Cube array sampled format:Unknown + 158: TypePointer UniformConstant 157 +159(g_tTexcdu4a): 158(ptr) Variable UniformConstant + 160(c1): 17(ptr) Variable UniformConstant + 161(o1): 17(ptr) Variable UniformConstant + 162(o2): 13(ptr) Variable UniformConstant + 163(o3): 50(ptr) Variable UniformConstant + 164(o4): 80(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 108(psout): 107(ptr) Variable Function @@ -583,6 +592,7 @@ gl_FragCoord origin is upper left Store 113 111 116: 115(ptr) AccessChain 108(psout) 114 Store 116 110 - 117:106(PS_OUTPUT) Load 108(psout) - ReturnValue 117 + 119:106(PS_OUTPUT) Load 108(psout) + Store 118(@entryPointOutput) 119 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out index a5fccaf3..059b8f59 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out @@ -131,8 +131,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:69 Branch: Return with expression -0:69 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:69 Sequence +0:69 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:69 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:69 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -301,8 +304,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:69 Branch: Return with expression -0:69 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:69 Sequence +0:69 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:69 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:69 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -337,14 +343,14 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 160 +// Id's are bound by 162 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" + EntryPoint Vertex 4 "main" 115 Name 4 "main" Name 9 "g_tTex1df4" Name 14 "c2" @@ -361,24 +367,25 @@ Shader version: 450 Name 106 "VS_OUTPUT" MemberName 106(VS_OUTPUT) 0 "Pos" Name 108 "vsout" - Name 118 "g_sSamp" - Name 121 "g_tTexcdf4" - Name 124 "g_tTexcdi4" - Name 127 "g_tTexcdu4" - Name 130 "g_tTex1df4a" - Name 133 "g_tTex1di4a" - Name 136 "g_tTex1du4a" - Name 139 "g_tTex2df4a" - Name 142 "g_tTex2di4a" - Name 145 "g_tTex2du4a" - Name 148 "g_tTexcdf4a" - Name 151 "g_tTexcdi4a" - Name 154 "g_tTexcdu4a" - Name 155 "c1" - Name 156 "o1" - Name 157 "o2" - Name 158 "o3" - Name 159 "o4" + Name 115 "@entryPointOutput" + Name 120 "g_sSamp" + Name 123 "g_tTexcdf4" + Name 126 "g_tTexcdi4" + Name 129 "g_tTexcdu4" + Name 132 "g_tTex1df4a" + Name 135 "g_tTex1di4a" + Name 138 "g_tTex1du4a" + Name 141 "g_tTex2df4a" + Name 144 "g_tTex2di4a" + Name 147 "g_tTex2du4a" + Name 150 "g_tTexcdf4a" + Name 153 "g_tTexcdi4a" + Name 156 "g_tTexcdu4a" + Name 157 "c1" + Name 158 "o1" + Name 159 "o2" + Name 160 "o3" + Name 161 "o4" Decorate 9(g_tTex1df4) DescriptorSet 0 Decorate 9(g_tTex1df4) Binding 0 Decorate 27(g_tTex1di4) DescriptorSet 0 @@ -390,20 +397,20 @@ Shader version: 450 Decorate 90(g_tTex3di4) DescriptorSet 0 Decorate 99(g_tTex3du4) DescriptorSet 0 MemberDecorate 106(VS_OUTPUT) 0 BuiltIn FragCoord - Decorate 118(g_sSamp) DescriptorSet 0 - Decorate 118(g_sSamp) Binding 0 - Decorate 121(g_tTexcdf4) DescriptorSet 0 - Decorate 124(g_tTexcdi4) DescriptorSet 0 - Decorate 127(g_tTexcdu4) DescriptorSet 0 - Decorate 130(g_tTex1df4a) DescriptorSet 0 - Decorate 133(g_tTex1di4a) DescriptorSet 0 - Decorate 136(g_tTex1du4a) DescriptorSet 0 - Decorate 139(g_tTex2df4a) DescriptorSet 0 - Decorate 142(g_tTex2di4a) DescriptorSet 0 - Decorate 145(g_tTex2du4a) DescriptorSet 0 - Decorate 148(g_tTexcdf4a) DescriptorSet 0 - Decorate 151(g_tTexcdi4a) DescriptorSet 0 - Decorate 154(g_tTexcdu4a) DescriptorSet 0 + Decorate 120(g_sSamp) DescriptorSet 0 + Decorate 120(g_sSamp) Binding 0 + Decorate 123(g_tTexcdf4) DescriptorSet 0 + Decorate 126(g_tTexcdi4) DescriptorSet 0 + Decorate 129(g_tTexcdu4) DescriptorSet 0 + Decorate 132(g_tTex1df4a) DescriptorSet 0 + Decorate 135(g_tTex1di4a) DescriptorSet 0 + Decorate 138(g_tTex1du4a) DescriptorSet 0 + Decorate 141(g_tTex2df4a) DescriptorSet 0 + Decorate 144(g_tTex2di4a) DescriptorSet 0 + Decorate 147(g_tTex2du4a) DescriptorSet 0 + Decorate 150(g_tTexcdf4a) DescriptorSet 0 + Decorate 153(g_tTexcdi4a) DescriptorSet 0 + Decorate 156(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -458,50 +465,52 @@ Shader version: 450 110: 6(float) Constant 0 111: 23(fvec4) ConstantComposite 110 110 110 110 112: TypePointer Function 23(fvec4) - 116: TypeSampler - 117: TypePointer UniformConstant 116 - 118(g_sSamp): 117(ptr) Variable UniformConstant - 119: TypeImage 6(float) Cube sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTexcdf4): 120(ptr) Variable UniformConstant - 122: TypeImage 11(int) Cube sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTexcdi4): 123(ptr) Variable UniformConstant - 125: TypeImage 15(int) Cube sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTexcdu4): 126(ptr) Variable UniformConstant - 128: TypeImage 6(float) 1D array sampled format:Unknown - 129: TypePointer UniformConstant 128 -130(g_tTex1df4a): 129(ptr) Variable UniformConstant - 131: TypeImage 11(int) 1D array sampled format:Unknown - 132: TypePointer UniformConstant 131 -133(g_tTex1di4a): 132(ptr) Variable UniformConstant - 134: TypeImage 15(int) 1D array sampled format:Unknown - 135: TypePointer UniformConstant 134 -136(g_tTex1du4a): 135(ptr) Variable UniformConstant - 137: TypeImage 6(float) 2D array sampled format:Unknown - 138: TypePointer UniformConstant 137 -139(g_tTex2df4a): 138(ptr) Variable UniformConstant - 140: TypeImage 11(int) 2D array sampled format:Unknown - 141: TypePointer UniformConstant 140 -142(g_tTex2di4a): 141(ptr) Variable UniformConstant - 143: TypeImage 15(int) 2D array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTex2du4a): 144(ptr) Variable UniformConstant - 146: TypeImage 6(float) Cube array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTexcdf4a): 147(ptr) Variable UniformConstant - 149: TypeImage 11(int) Cube array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTexcdi4a): 150(ptr) Variable UniformConstant - 152: TypeImage 15(int) Cube array sampled format:Unknown - 153: TypePointer UniformConstant 152 -154(g_tTexcdu4a): 153(ptr) Variable UniformConstant - 155(c1): 17(ptr) Variable UniformConstant - 156(o1): 17(ptr) Variable UniformConstant - 157(o2): 13(ptr) Variable UniformConstant - 158(o3): 50(ptr) Variable UniformConstant - 159(o4): 80(ptr) Variable UniformConstant + 114: TypePointer Output 106(VS_OUTPUT) +115(@entryPointOutput): 114(ptr) Variable Output + 118: TypeSampler + 119: TypePointer UniformConstant 118 + 120(g_sSamp): 119(ptr) Variable UniformConstant + 121: TypeImage 6(float) Cube sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTexcdf4): 122(ptr) Variable UniformConstant + 124: TypeImage 11(int) Cube sampled format:Unknown + 125: TypePointer UniformConstant 124 + 126(g_tTexcdi4): 125(ptr) Variable UniformConstant + 127: TypeImage 15(int) Cube sampled format:Unknown + 128: TypePointer UniformConstant 127 + 129(g_tTexcdu4): 128(ptr) Variable UniformConstant + 130: TypeImage 6(float) 1D array sampled format:Unknown + 131: TypePointer UniformConstant 130 +132(g_tTex1df4a): 131(ptr) Variable UniformConstant + 133: TypeImage 11(int) 1D array sampled format:Unknown + 134: TypePointer UniformConstant 133 +135(g_tTex1di4a): 134(ptr) Variable UniformConstant + 136: TypeImage 15(int) 1D array sampled format:Unknown + 137: TypePointer UniformConstant 136 +138(g_tTex1du4a): 137(ptr) Variable UniformConstant + 139: TypeImage 6(float) 2D array sampled format:Unknown + 140: TypePointer UniformConstant 139 +141(g_tTex2df4a): 140(ptr) Variable UniformConstant + 142: TypeImage 11(int) 2D array sampled format:Unknown + 143: TypePointer UniformConstant 142 +144(g_tTex2di4a): 143(ptr) Variable UniformConstant + 145: TypeImage 15(int) 2D array sampled format:Unknown + 146: TypePointer UniformConstant 145 +147(g_tTex2du4a): 146(ptr) Variable UniformConstant + 148: TypeImage 6(float) Cube array sampled format:Unknown + 149: TypePointer UniformConstant 148 +150(g_tTexcdf4a): 149(ptr) Variable UniformConstant + 151: TypeImage 11(int) Cube array sampled format:Unknown + 152: TypePointer UniformConstant 151 +153(g_tTexcdi4a): 152(ptr) Variable UniformConstant + 154: TypeImage 15(int) Cube array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTexcdu4a): 155(ptr) Variable UniformConstant + 157(c1): 17(ptr) Variable UniformConstant + 158(o1): 17(ptr) Variable UniformConstant + 159(o2): 13(ptr) Variable UniformConstant + 160(o3): 50(ptr) Variable UniformConstant + 161(o4): 80(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 108(vsout): 107(ptr) Variable Function @@ -561,6 +570,7 @@ Shader version: 450 105: 43(ivec4) ImageFetch 100 102 Lod 104 113: 112(ptr) AccessChain 108(vsout) 109 Store 113 111 - 114:106(VS_OUTPUT) Load 108(vsout) - ReturnValue 114 + 116:106(VS_OUTPUT) Load 108(vsout) + Store 115(@entryPointOutput) 116 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out index 220f3ddb..16e5187d 100644 --- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -40,8 +40,11 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Branch: Return with expression -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 Sequence +0:37 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 Branch: Return 0:? Linker Objects 0:? 'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer) 0:? 'g_tTexbf4' (uniform samplerBuffer) @@ -101,8 +104,11 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Branch: Return with expression -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 Sequence +0:37 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:37 Branch: Return 0:? Linker Objects 0:? 'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer) 0:? 'g_tTexbf4' (uniform samplerBuffer) @@ -119,13 +125,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 69 +// Id's are bound by 71 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 55 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "r00" @@ -139,20 +145,21 @@ gl_FragCoord origin is upper left MemberName 44(PS_OUTPUT) 0 "Color" MemberName 44(PS_OUTPUT) 1 "Depth" Name 46 "psout" - Name 56 "g_tTexbf4_test" - Name 59 "c2" - Name 62 "c3" - Name 64 "c4" - Name 65 "o1" - Name 66 "o2" - Name 67 "o3" - Name 68 "o4" + Name 55 "@entryPointOutput" + Name 58 "g_tTexbf4_test" + Name 61 "c2" + Name 64 "c3" + Name 66 "c4" + Name 67 "o1" + Name 68 "o2" + Name 69 "o3" + Name 70 "o4" Decorate 13(g_tTexbf4) DescriptorSet 0 Decorate 27(g_tTexbi4) DescriptorSet 0 Decorate 39(g_tTexbu4) DescriptorSet 0 MemberDecorate 44(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 56(g_tTexbf4_test) DescriptorSet 0 - Decorate 56(g_tTexbf4_test) Binding 0 + Decorate 58(g_tTexbf4_test) DescriptorSet 0 + Decorate 58(g_tTexbf4_test) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -185,19 +192,21 @@ gl_FragCoord origin is upper left 49: 7(fvec4) ConstantComposite 48 48 48 48 51: 15(int) Constant 1 52: TypePointer Function 6(float) -56(g_tTexbf4_test): 12(ptr) Variable UniformConstant - 57: TypeVector 15(int) 2 - 58: TypePointer UniformConstant 57(ivec2) - 59(c2): 58(ptr) Variable UniformConstant - 60: TypeVector 15(int) 3 - 61: TypePointer UniformConstant 60(ivec3) - 62(c3): 61(ptr) Variable UniformConstant - 63: TypePointer UniformConstant 21(ivec4) - 64(c4): 63(ptr) Variable UniformConstant - 65(o1): 16(ptr) Variable UniformConstant - 66(o2): 58(ptr) Variable UniformConstant - 67(o3): 61(ptr) Variable UniformConstant - 68(o4): 63(ptr) Variable UniformConstant + 54: TypePointer Output 44(PS_OUTPUT) +55(@entryPointOutput): 54(ptr) Variable Output +58(g_tTexbf4_test): 12(ptr) Variable UniformConstant + 59: TypeVector 15(int) 2 + 60: TypePointer UniformConstant 59(ivec2) + 61(c2): 60(ptr) Variable UniformConstant + 62: TypeVector 15(int) 3 + 63: TypePointer UniformConstant 62(ivec3) + 64(c3): 63(ptr) Variable UniformConstant + 65: TypePointer UniformConstant 21(ivec4) + 66(c4): 65(ptr) Variable UniformConstant + 67(o1): 16(ptr) Variable UniformConstant + 68(o2): 60(ptr) Variable UniformConstant + 69(o3): 63(ptr) Variable UniformConstant + 70(o4): 65(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(r00): 8(ptr) Variable Function @@ -223,6 +232,7 @@ gl_FragCoord origin is upper left Store 50 49 53: 52(ptr) AccessChain 46(psout) 51 Store 53 48 - 54:44(PS_OUTPUT) Load 46(psout) - ReturnValue 54 + 56:44(PS_OUTPUT) Load 46(psout) + Store 55(@entryPointOutput) 56 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out index fb053bfb..acb97a4a 100644 --- a/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -148,8 +148,11 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Branch: Return with expression -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Sequence +0:75 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -335,8 +338,11 @@ gl_FragCoord origin is upper left 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Branch: Return with expression -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Sequence +0:75 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:75 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -371,7 +377,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 172 +// Id's are bound by 174 Capability Shader Capability ImageGatherExtended @@ -379,7 +385,7 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 130 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex1df4" @@ -401,21 +407,22 @@ gl_FragCoord origin is upper left MemberName 118(PS_OUTPUT) 0 "Color" MemberName 118(PS_OUTPUT) 1 "Depth" Name 120 "psout" - Name 133 "g_sSamp" - Name 136 "g_tTexcdf4" - Name 139 "g_tTexcdi4" - Name 142 "g_tTexcdu4" - Name 145 "g_tTex1df4a" - Name 148 "g_tTex1di4a" - Name 151 "g_tTex1du4a" - Name 154 "g_tTex2df4a" - Name 157 "g_tTex2di4a" - Name 160 "g_tTex2du4a" - Name 163 "g_tTexcdf4a" - Name 166 "g_tTexcdi4a" - Name 169 "g_tTexcdu4a" - Name 170 "c1" - Name 171 "o4" + Name 130 "@entryPointOutput" + Name 135 "g_sSamp" + Name 138 "g_tTexcdf4" + Name 141 "g_tTexcdi4" + Name 144 "g_tTexcdu4" + Name 147 "g_tTex1df4a" + Name 150 "g_tTex1di4a" + Name 153 "g_tTex1du4a" + Name 156 "g_tTex2df4a" + Name 159 "g_tTex2di4a" + Name 162 "g_tTex2du4a" + Name 165 "g_tTexcdf4a" + Name 168 "g_tTexcdi4a" + Name 171 "g_tTexcdu4a" + Name 172 "c1" + Name 173 "o4" Decorate 9(g_tTex1df4) DescriptorSet 0 Decorate 9(g_tTex1df4) Binding 0 Decorate 29(g_tTex1di4) DescriptorSet 0 @@ -427,20 +434,20 @@ gl_FragCoord origin is upper left Decorate 100(g_tTex3di4) DescriptorSet 0 Decorate 110(g_tTex3du4) DescriptorSet 0 MemberDecorate 118(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 133(g_sSamp) DescriptorSet 0 - Decorate 133(g_sSamp) Binding 0 - Decorate 136(g_tTexcdf4) DescriptorSet 0 - Decorate 139(g_tTexcdi4) DescriptorSet 0 - Decorate 142(g_tTexcdu4) DescriptorSet 0 - Decorate 145(g_tTex1df4a) DescriptorSet 0 - Decorate 148(g_tTex1di4a) DescriptorSet 0 - Decorate 151(g_tTex1du4a) DescriptorSet 0 - Decorate 154(g_tTex2df4a) DescriptorSet 0 - Decorate 157(g_tTex2di4a) DescriptorSet 0 - Decorate 160(g_tTex2du4a) DescriptorSet 0 - Decorate 163(g_tTexcdf4a) DescriptorSet 0 - Decorate 166(g_tTexcdi4a) DescriptorSet 0 - Decorate 169(g_tTexcdu4a) DescriptorSet 0 + Decorate 135(g_sSamp) DescriptorSet 0 + Decorate 135(g_sSamp) Binding 0 + Decorate 138(g_tTexcdf4) DescriptorSet 0 + Decorate 141(g_tTexcdi4) DescriptorSet 0 + Decorate 144(g_tTexcdu4) DescriptorSet 0 + Decorate 147(g_tTex1df4a) DescriptorSet 0 + Decorate 150(g_tTex1di4a) DescriptorSet 0 + Decorate 153(g_tTex1du4a) DescriptorSet 0 + Decorate 156(g_tTex2df4a) DescriptorSet 0 + Decorate 159(g_tTex2di4a) DescriptorSet 0 + Decorate 162(g_tTex2du4a) DescriptorSet 0 + Decorate 165(g_tTexcdf4a) DescriptorSet 0 + Decorate 168(g_tTexcdi4a) DescriptorSet 0 + Decorate 171(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -500,47 +507,49 @@ gl_FragCoord origin is upper left 124: TypePointer Function 25(fvec4) 126: 11(int) Constant 1 127: TypePointer Function 6(float) - 131: TypeSampler - 132: TypePointer UniformConstant 131 - 133(g_sSamp): 132(ptr) Variable UniformConstant - 134: TypeImage 6(float) Cube sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTexcdf4): 135(ptr) Variable UniformConstant - 137: TypeImage 11(int) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdi4): 138(ptr) Variable UniformConstant - 140: TypeImage 15(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdu4): 141(ptr) Variable UniformConstant - 143: TypeImage 6(float) 1D array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTex1df4a): 144(ptr) Variable UniformConstant - 146: TypeImage 11(int) 1D array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTex1di4a): 147(ptr) Variable UniformConstant - 149: TypeImage 15(int) 1D array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTex1du4a): 150(ptr) Variable UniformConstant - 152: TypeImage 6(float) 2D array sampled format:Unknown - 153: TypePointer UniformConstant 152 -154(g_tTex2df4a): 153(ptr) Variable UniformConstant - 155: TypeImage 11(int) 2D array sampled format:Unknown - 156: TypePointer UniformConstant 155 -157(g_tTex2di4a): 156(ptr) Variable UniformConstant - 158: TypeImage 15(int) 2D array sampled format:Unknown - 159: TypePointer UniformConstant 158 -160(g_tTex2du4a): 159(ptr) Variable UniformConstant - 161: TypeImage 6(float) Cube array sampled format:Unknown - 162: TypePointer UniformConstant 161 -163(g_tTexcdf4a): 162(ptr) Variable UniformConstant - 164: TypeImage 11(int) Cube array sampled format:Unknown - 165: TypePointer UniformConstant 164 -166(g_tTexcdi4a): 165(ptr) Variable UniformConstant - 167: TypeImage 15(int) Cube array sampled format:Unknown - 168: TypePointer UniformConstant 167 -169(g_tTexcdu4a): 168(ptr) Variable UniformConstant - 170(c1): 17(ptr) Variable UniformConstant - 171(o4): 88(ptr) Variable UniformConstant + 129: TypePointer Output 118(PS_OUTPUT) +130(@entryPointOutput): 129(ptr) Variable Output + 133: TypeSampler + 134: TypePointer UniformConstant 133 + 135(g_sSamp): 134(ptr) Variable UniformConstant + 136: TypeImage 6(float) Cube sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTexcdf4): 137(ptr) Variable UniformConstant + 139: TypeImage 11(int) Cube sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTexcdi4): 140(ptr) Variable UniformConstant + 142: TypeImage 15(int) Cube sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTexcdu4): 143(ptr) Variable UniformConstant + 145: TypeImage 6(float) 1D array sampled format:Unknown + 146: TypePointer UniformConstant 145 +147(g_tTex1df4a): 146(ptr) Variable UniformConstant + 148: TypeImage 11(int) 1D array sampled format:Unknown + 149: TypePointer UniformConstant 148 +150(g_tTex1di4a): 149(ptr) Variable UniformConstant + 151: TypeImage 15(int) 1D array sampled format:Unknown + 152: TypePointer UniformConstant 151 +153(g_tTex1du4a): 152(ptr) Variable UniformConstant + 154: TypeImage 6(float) 2D array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTex2df4a): 155(ptr) Variable UniformConstant + 157: TypeImage 11(int) 2D array sampled format:Unknown + 158: TypePointer UniformConstant 157 +159(g_tTex2di4a): 158(ptr) Variable UniformConstant + 160: TypeImage 15(int) 2D array sampled format:Unknown + 161: TypePointer UniformConstant 160 +162(g_tTex2du4a): 161(ptr) Variable UniformConstant + 163: TypeImage 6(float) Cube array sampled format:Unknown + 164: TypePointer UniformConstant 163 +165(g_tTexcdf4a): 164(ptr) Variable UniformConstant + 166: TypeImage 11(int) Cube array sampled format:Unknown + 167: TypePointer UniformConstant 166 +168(g_tTexcdi4a): 167(ptr) Variable UniformConstant + 169: TypeImage 15(int) Cube array sampled format:Unknown + 170: TypePointer UniformConstant 169 +171(g_tTexcdu4a): 170(ptr) Variable UniformConstant + 172(c1): 17(ptr) Variable UniformConstant + 173(o4): 88(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 120(psout): 119(ptr) Variable Function @@ -611,6 +620,7 @@ gl_FragCoord origin is upper left Store 125 123 128: 127(ptr) AccessChain 120(psout) 126 Store 128 122 - 129:118(PS_OUTPUT) Load 120(psout) - ReturnValue 129 + 131:118(PS_OUTPUT) Load 120(psout) + Store 130(@entryPointOutput) 131 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index 548a7c70..1751db8c 100644 --- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -112,8 +112,11 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Constant: 0:66 1.000000 -0:68 Branch: Return with expression -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 Sequence +0:68 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -263,8 +266,11 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Constant: 0:66 1.000000 -0:68 Branch: Return with expression -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 Sequence +0:68 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:68 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -299,7 +305,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 149 +// Id's are bound by 151 Capability Shader Capability ImageGatherExtended @@ -307,7 +313,7 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 96 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "g_tTex1df4a" @@ -324,26 +330,27 @@ gl_FragCoord origin is upper left MemberName 84(PS_OUTPUT) 0 "Color" MemberName 84(PS_OUTPUT) 1 "Depth" Name 86 "psout" - Name 99 "g_sSamp" - Name 102 "g_tTex1df4" - Name 105 "g_tTex1di4" - Name 108 "g_tTex1du4" - Name 111 "g_tTex2df4" - Name 114 "g_tTex2di4" - Name 117 "g_tTex2du4" - Name 120 "g_tTex3df4" - Name 123 "g_tTex3di4" - Name 126 "g_tTex3du4" - Name 129 "g_tTexcdf4" - Name 132 "g_tTexcdi4" - Name 135 "g_tTexcdu4" - Name 138 "g_tTexcdf4a" - Name 141 "g_tTexcdi4a" - Name 144 "g_tTexcdu4a" - Name 145 "c1" - Name 146 "c2" - Name 147 "o3" - Name 148 "o4" + Name 96 "@entryPointOutput" + Name 101 "g_sSamp" + Name 104 "g_tTex1df4" + Name 107 "g_tTex1di4" + Name 110 "g_tTex1du4" + Name 113 "g_tTex2df4" + Name 116 "g_tTex2di4" + Name 119 "g_tTex2du4" + Name 122 "g_tTex3df4" + Name 125 "g_tTex3di4" + Name 128 "g_tTex3du4" + Name 131 "g_tTexcdf4" + Name 134 "g_tTexcdi4" + Name 137 "g_tTexcdu4" + Name 140 "g_tTexcdf4a" + Name 143 "g_tTexcdi4a" + Name 146 "g_tTexcdu4a" + Name 147 "c1" + Name 148 "c2" + Name 149 "o3" + Name 150 "o4" Decorate 9(g_tTex1df4a) DescriptorSet 0 Decorate 29(g_tTex1di4a) DescriptorSet 0 Decorate 40(g_tTex1du4a) DescriptorSet 0 @@ -351,24 +358,24 @@ gl_FragCoord origin is upper left Decorate 66(g_tTex2di4a) DescriptorSet 0 Decorate 76(g_tTex2du4a) DescriptorSet 0 MemberDecorate 84(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 99(g_sSamp) DescriptorSet 0 - Decorate 99(g_sSamp) Binding 0 - Decorate 102(g_tTex1df4) DescriptorSet 0 - Decorate 102(g_tTex1df4) Binding 0 - Decorate 105(g_tTex1di4) DescriptorSet 0 - Decorate 108(g_tTex1du4) DescriptorSet 0 - Decorate 111(g_tTex2df4) DescriptorSet 0 - Decorate 114(g_tTex2di4) DescriptorSet 0 - Decorate 117(g_tTex2du4) DescriptorSet 0 - Decorate 120(g_tTex3df4) DescriptorSet 0 - Decorate 123(g_tTex3di4) DescriptorSet 0 - Decorate 126(g_tTex3du4) DescriptorSet 0 - Decorate 129(g_tTexcdf4) DescriptorSet 0 - Decorate 132(g_tTexcdi4) DescriptorSet 0 - Decorate 135(g_tTexcdu4) DescriptorSet 0 - Decorate 138(g_tTexcdf4a) DescriptorSet 0 - Decorate 141(g_tTexcdi4a) DescriptorSet 0 - Decorate 144(g_tTexcdu4a) DescriptorSet 0 + Decorate 101(g_sSamp) DescriptorSet 0 + Decorate 101(g_sSamp) Binding 0 + Decorate 104(g_tTex1df4) DescriptorSet 0 + Decorate 104(g_tTex1df4) Binding 0 + Decorate 107(g_tTex1di4) DescriptorSet 0 + Decorate 110(g_tTex1du4) DescriptorSet 0 + Decorate 113(g_tTex2df4) DescriptorSet 0 + Decorate 116(g_tTex2di4) DescriptorSet 0 + Decorate 119(g_tTex2du4) DescriptorSet 0 + Decorate 122(g_tTex3df4) DescriptorSet 0 + Decorate 125(g_tTex3di4) DescriptorSet 0 + Decorate 128(g_tTex3du4) DescriptorSet 0 + Decorate 131(g_tTexcdf4) DescriptorSet 0 + Decorate 134(g_tTexcdi4) DescriptorSet 0 + Decorate 137(g_tTexcdu4) DescriptorSet 0 + Decorate 140(g_tTexcdf4a) DescriptorSet 0 + Decorate 143(g_tTexcdi4a) DescriptorSet 0 + Decorate 146(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -415,58 +422,60 @@ gl_FragCoord origin is upper left 90: TypePointer Function 25(fvec4) 92: 11(int) Constant 1 93: TypePointer Function 6(float) - 97: TypeSampler - 98: TypePointer UniformConstant 97 - 99(g_sSamp): 98(ptr) Variable UniformConstant - 100: TypeImage 6(float) 1D sampled format:Unknown - 101: TypePointer UniformConstant 100 - 102(g_tTex1df4): 101(ptr) Variable UniformConstant - 103: TypeImage 11(int) 1D sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTex1di4): 104(ptr) Variable UniformConstant - 106: TypeImage 18(int) 1D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex1du4): 107(ptr) Variable UniformConstant - 109: TypeImage 6(float) 2D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex2df4): 110(ptr) Variable UniformConstant - 112: TypeImage 11(int) 2D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex2di4): 113(ptr) Variable UniformConstant - 115: TypeImage 18(int) 2D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex2du4): 116(ptr) Variable UniformConstant - 118: TypeImage 6(float) 3D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex3df4): 119(ptr) Variable UniformConstant - 121: TypeImage 11(int) 3D sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTex3di4): 122(ptr) Variable UniformConstant - 124: TypeImage 18(int) 3D sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTex3du4): 125(ptr) Variable UniformConstant - 127: TypeImage 6(float) Cube sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTexcdf4): 128(ptr) Variable UniformConstant - 130: TypeImage 11(int) Cube sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTexcdi4): 131(ptr) Variable UniformConstant - 133: TypeImage 18(int) Cube sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTexcdu4): 134(ptr) Variable UniformConstant - 136: TypeImage 6(float) Cube array sampled format:Unknown - 137: TypePointer UniformConstant 136 -138(g_tTexcdf4a): 137(ptr) Variable UniformConstant - 139: TypeImage 11(int) Cube array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTexcdi4a): 140(ptr) Variable UniformConstant - 142: TypeImage 18(int) Cube array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTexcdu4a): 143(ptr) Variable UniformConstant - 145(c1): 20(ptr) Variable UniformConstant - 146(c2): 60(ptr) Variable UniformConstant - 147(o3): 13(ptr) Variable UniformConstant - 148(o4): 53(ptr) Variable UniformConstant + 95: TypePointer Output 84(PS_OUTPUT) +96(@entryPointOutput): 95(ptr) Variable Output + 99: TypeSampler + 100: TypePointer UniformConstant 99 + 101(g_sSamp): 100(ptr) Variable UniformConstant + 102: TypeImage 6(float) 1D sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTex1df4): 103(ptr) Variable UniformConstant + 105: TypeImage 11(int) 1D sampled format:Unknown + 106: TypePointer UniformConstant 105 + 107(g_tTex1di4): 106(ptr) Variable UniformConstant + 108: TypeImage 18(int) 1D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex1du4): 109(ptr) Variable UniformConstant + 111: TypeImage 6(float) 2D sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTex2df4): 112(ptr) Variable UniformConstant + 114: TypeImage 11(int) 2D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex2di4): 115(ptr) Variable UniformConstant + 117: TypeImage 18(int) 2D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex2du4): 118(ptr) Variable UniformConstant + 120: TypeImage 6(float) 3D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex3df4): 121(ptr) Variable UniformConstant + 123: TypeImage 11(int) 3D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex3di4): 124(ptr) Variable UniformConstant + 126: TypeImage 18(int) 3D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex3du4): 127(ptr) Variable UniformConstant + 129: TypeImage 6(float) Cube sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTexcdf4): 130(ptr) Variable UniformConstant + 132: TypeImage 11(int) Cube sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTexcdi4): 133(ptr) Variable UniformConstant + 135: TypeImage 18(int) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdu4): 136(ptr) Variable UniformConstant + 138: TypeImage 6(float) Cube array sampled format:Unknown + 139: TypePointer UniformConstant 138 +140(g_tTexcdf4a): 139(ptr) Variable UniformConstant + 141: TypeImage 11(int) Cube array sampled format:Unknown + 142: TypePointer UniformConstant 141 +143(g_tTexcdi4a): 142(ptr) Variable UniformConstant + 144: TypeImage 18(int) Cube array sampled format:Unknown + 145: TypePointer UniformConstant 144 +146(g_tTexcdu4a): 145(ptr) Variable UniformConstant + 147(c1): 20(ptr) Variable UniformConstant + 148(c2): 60(ptr) Variable UniformConstant + 149(o3): 13(ptr) Variable UniformConstant + 150(o4): 53(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 86(psout): 85(ptr) Variable Function @@ -516,6 +525,7 @@ gl_FragCoord origin is upper left Store 91 89 94: 93(ptr) AccessChain 86(psout) 92 Store 94 88 - 95:84(PS_OUTPUT) Load 86(psout) - ReturnValue 95 + 97:84(PS_OUTPUT) Load 86(psout) + Store 96(@entryPointOutput) 97 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.max.frag.out b/Test/baseResults/hlsl.max.frag.out index 58505eca..ebb943cc 100755 --- a/Test/baseResults/hlsl.max.frag.out +++ b/Test/baseResults/hlsl.max.frag.out @@ -7,10 +7,13 @@ gl_FragCoord origin is upper left 0:2 'input1' (in 4-component vector of float) 0:2 'input2' (in 4-component vector of float) 0:? Sequence -0:3 Branch: Return with expression -0:3 max (global 4-component vector of float) -0:3 'input1' (in 4-component vector of float) -0:3 'input2' (in 4-component vector of float) +0:3 Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:3 max (global 4-component vector of float) +0:3 'input1' (in 4-component vector of float) +0:3 'input2' (in 4-component vector of float) +0:3 Branch: Return 0:? Linker Objects @@ -25,35 +28,42 @@ gl_FragCoord origin is upper left 0:2 'input1' (in 4-component vector of float) 0:2 'input2' (in 4-component vector of float) 0:? Sequence -0:3 Branch: Return with expression -0:3 max (global 4-component vector of float) -0:3 'input1' (in 4-component vector of float) -0:3 'input2' (in 4-component vector of float) +0:3 Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:3 max (global 4-component vector of float) +0:3 'input1' (in 4-component vector of float) +0:3 'input2' (in 4-component vector of float) +0:3 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 15 +// Id's are bound by 17 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 + EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "input1" - Name 11 "input2" + Name 9 "@entryPointOutput" + Name 11 "input1" + Name 13 "input2" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(input1): 8(ptr) Variable Input - 11(input2): 8(ptr) Variable Input + 8: TypePointer Output 7(fvec4) +9(@entryPointOutput): 8(ptr) Variable Output + 10: TypePointer Input 7(fvec4) + 11(input1): 10(ptr) Variable Input + 13(input2): 10(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 10: 7(fvec4) Load 9(input1) - 12: 7(fvec4) Load 11(input2) - 13: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 10 12 - ReturnValue 13 + 12: 7(fvec4) Load 11(input1) + 14: 7(fvec4) Load 13(input2) + 15: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 12 14 + Store 9(@entryPointOutput) 15 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.numericsuffixes.frag.out b/Test/baseResults/hlsl.numericsuffixes.frag.out index 57013709..721b0d33 100644 --- a/Test/baseResults/hlsl.numericsuffixes.frag.out +++ b/Test/baseResults/hlsl.numericsuffixes.frag.out @@ -58,8 +58,11 @@ gl_FragCoord origin is upper left 0:18 Construct vec4 (temp 4-component vector of float) 0:18 Convert int to float (temp float) 0:18 'r07' (temp int) -0:19 Branch: Return with expression -0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:19 Sequence +0:19 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) +0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:19 Branch: Return 0:? Linker Objects @@ -125,18 +128,21 @@ gl_FragCoord origin is upper left 0:18 Construct vec4 (temp 4-component vector of float) 0:18 Convert int to float (temp float) 0:18 'r07' (temp int) -0:19 Branch: Return with expression -0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:19 Sequence +0:19 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) +0:19 'ps_output' (temp structure{temp 4-component vector of float color}) +0:19 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 43 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 40 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r00" @@ -151,6 +157,7 @@ gl_FragCoord origin is upper left Name 30 "PS_OUTPUT" MemberName 30(PS_OUTPUT) 0 "color" Name 32 "ps_output" + Name 40 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -172,6 +179,8 @@ gl_FragCoord origin is upper left 31: TypePointer Function 30(PS_OUTPUT) 33: 19(int) Constant 0 37: TypePointer Function 29(fvec4) + 39: TypePointer Output 30(PS_OUTPUT) +40(@entryPointOutput): 39(ptr) Variable Output 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -198,6 +207,7 @@ gl_FragCoord origin is upper left 36: 29(fvec4) CompositeConstruct 35 35 35 35 38: 37(ptr) AccessChain 32(ps_output) 33 Store 38 36 - 39:30(PS_OUTPUT) Load 32(ps_output) - ReturnValue 39 + 41:30(PS_OUTPUT) Load 32(ps_output) + Store 40(@entryPointOutput) 41 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.overload.frag.out b/Test/baseResults/hlsl.overload.frag.out index 83217581..6bedd3e3 100755 --- a/Test/baseResults/hlsl.overload.frag.out +++ b/Test/baseResults/hlsl.overload.frag.out @@ -348,8 +348,11 @@ gl_FragCoord origin is upper left 0:139 Construct bool (in 1-component vector of bool) 0:139 Construct bvec3 (temp 3-component vector of bool) 0:139 'b' (temp bool) -0:141 Branch: Return with expression -0:141 'input' (in 4-component vector of float) +0:141 Sequence +0:141 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:141 'input' (in 4-component vector of float) +0:141 Branch: Return 0:? Linker Objects @@ -705,19 +708,22 @@ gl_FragCoord origin is upper left 0:139 Construct bool (in 1-component vector of bool) 0:139 Construct bvec3 (temp 3-component vector of bool) 0:139 'b' (temp bool) -0:141 Branch: Return with expression -0:141 'input' (in 4-component vector of float) +0:141 Sequence +0:141 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:141 'input' (in 4-component vector of float) +0:141 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 507 +// Id's are bound by 509 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 504 + EntryPoint Fragment 4 "PixelShaderFunction" 504 506 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 13 "foo1(d1;b1;" @@ -901,7 +907,8 @@ gl_FragCoord origin is upper left Name 491 "param" Name 494 "param" Name 500 "param" - Name 504 "input" + Name 504 "@entryPointOutput" + Name 506 "input" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 64 @@ -953,8 +960,10 @@ gl_FragCoord origin is upper left 488: TypeVector 22(int) 4 497: TypeVector 8(bool) 3 502: TypeVector 29(float) 4 - 503: TypePointer Input 502(fvec4) - 504(input): 503(ptr) Variable Input + 503: TypePointer Output 502(fvec4) +504(@entryPointOutput): 503(ptr) Variable Output + 505: TypePointer Input 502(fvec4) + 506(input): 505(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label 149(d): 7(ptr) Variable Function @@ -1401,8 +1410,9 @@ gl_FragCoord origin is upper left 499: 8(bool) CompositeExtract 498 0 Store 500(param) 499 501: 2 FunctionCall 147(foo15(vb1;) 500(param) - 505: 502(fvec4) Load 504(input) - ReturnValue 505 + 507: 502(fvec4) Load 506(input) + Store 504(@entryPointOutput) 507 + Return FunctionEnd 13(foo1(d1;b1;): 2 Function None 10 11(a): 7(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.pp.line.frag.out b/Test/baseResults/hlsl.pp.line.frag.out index 89b9b7b8..4c70ea82 100644 --- a/Test/baseResults/hlsl.pp.line.frag.out +++ b/Test/baseResults/hlsl.pp.line.frag.out @@ -31,8 +31,11 @@ gl_FragCoord origin is upper left 0:127 1 (const int) 0:127 Constant: 0:127 1.000000 -0:129 Branch: Return with expression -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 Sequence +0:129 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 Branch: Return 0:? Linker Objects @@ -71,18 +74,21 @@ gl_FragCoord origin is upper left 0:127 1 (const int) 0:127 Constant: 0:127 1.000000 -0:129 Branch: Return with expression -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 Sequence +0:129 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:129 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 28 +// Id's are bound by 30 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 27 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "thisLineIs" @@ -90,6 +96,7 @@ gl_FragCoord origin is upper left MemberName 12(PS_OUTPUT) 0 "Color" MemberName 12(PS_OUTPUT) 1 "Depth" Name 14 "psout" + Name 27 "@entryPointOutput" MemberDecorate 12(PS_OUTPUT) 1 BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 @@ -106,6 +113,8 @@ gl_FragCoord origin is upper left 21: TypePointer Function 11(fvec4) 23: 6(int) Constant 1 24: TypePointer Function 10(float) + 26: TypePointer Output 12(PS_OUTPUT) +27(@entryPointOutput): 26(ptr) Variable Output 4(main): 2 Function None 3 5: Label 8(thisLineIs): 7(ptr) Variable Function @@ -118,6 +127,7 @@ gl_FragCoord origin is upper left Store 22 20 25: 24(ptr) AccessChain 14(psout) 23 Store 25 19 - 26:12(PS_OUTPUT) Load 14(psout) - ReturnValue 26 + 28:12(PS_OUTPUT) Load 14(psout) + Store 27(@entryPointOutput) 28 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.precedence.frag.out b/Test/baseResults/hlsl.precedence.frag.out index 3c9252ed..4ad10ad4 100755 --- a/Test/baseResults/hlsl.precedence.frag.out +++ b/Test/baseResults/hlsl.precedence.frag.out @@ -9,39 +9,42 @@ gl_FragCoord origin is upper left 0:7 'a3' (in 4-component vector of float) 0:7 'a4' (in 4-component vector of float) 0:? Sequence -0:8 Branch: Return with expression -0:8 add (temp 4-component vector of float) +0:8 Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:8 add (temp 4-component vector of float) 0:8 add (temp 4-component vector of float) -0:8 'a1' (in 4-component vector of float) -0:8 component-wise multiply (temp 4-component vector of float) -0:8 'a2' (in 4-component vector of float) -0:8 'a3' (in 4-component vector of float) -0:8 'a4' (in 4-component vector of float) -0:? Construct vec4 (temp 4-component vector of float) -0:8 component-wise multiply (temp 3-component vector of float) -0:8 vector swizzle (temp 3-component vector of float) +0:8 add (temp 4-component vector of float) 0:8 'a1' (in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a2' (in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 direct index (temp float) -0:8 'a3' (in 4-component vector of float) -0:8 Constant: -0:8 3 (const int) +0:8 component-wise multiply (temp 4-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 'a3' (in 4-component vector of float) +0:8 'a4' (in 4-component vector of float) +0:? Construct vec4 (temp 4-component vector of float) +0:8 component-wise multiply (temp 3-component vector of float) +0:8 vector swizzle (temp 3-component vector of float) +0:8 'a1' (in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 vector swizzle (temp 3-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 direct index (temp float) +0:8 'a3' (in 4-component vector of float) +0:8 Constant: +0:8 3 (const int) +0:8 Branch: Return 0:? Linker Objects @@ -58,88 +61,95 @@ gl_FragCoord origin is upper left 0:7 'a3' (in 4-component vector of float) 0:7 'a4' (in 4-component vector of float) 0:? Sequence -0:8 Branch: Return with expression -0:8 add (temp 4-component vector of float) +0:8 Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) 0:8 add (temp 4-component vector of float) 0:8 add (temp 4-component vector of float) -0:8 'a1' (in 4-component vector of float) -0:8 component-wise multiply (temp 4-component vector of float) -0:8 'a2' (in 4-component vector of float) -0:8 'a3' (in 4-component vector of float) -0:8 'a4' (in 4-component vector of float) -0:? Construct vec4 (temp 4-component vector of float) -0:8 component-wise multiply (temp 3-component vector of float) -0:8 vector swizzle (temp 3-component vector of float) +0:8 add (temp 4-component vector of float) 0:8 'a1' (in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a2' (in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 direct index (temp float) -0:8 'a3' (in 4-component vector of float) -0:8 Constant: -0:8 3 (const int) +0:8 component-wise multiply (temp 4-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 'a3' (in 4-component vector of float) +0:8 'a4' (in 4-component vector of float) +0:? Construct vec4 (temp 4-component vector of float) +0:8 component-wise multiply (temp 3-component vector of float) +0:8 vector swizzle (temp 3-component vector of float) +0:8 'a1' (in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 vector swizzle (temp 3-component vector of float) +0:8 'a2' (in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 direct index (temp float) +0:8 'a3' (in 4-component vector of float) +0:8 Constant: +0:8 3 (const int) +0:8 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 37 +// Id's are bound by 39 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 17 + EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 15 19 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "a1" - Name 11 "a2" - Name 13 "a3" - Name 17 "a4" + Name 9 "@entryPointOutput" + Name 11 "a1" + Name 13 "a2" + Name 15 "a3" + Name 19 "a4" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(a1): 8(ptr) Variable Input - 11(a2): 8(ptr) Variable Input - 13(a3): 8(ptr) Variable Input - 17(a4): 8(ptr) Variable Input - 20: TypeVector 6(float) 3 - 26: TypeInt 32 0 - 27: 26(int) Constant 3 - 28: TypePointer Input 6(float) + 8: TypePointer Output 7(fvec4) +9(@entryPointOutput): 8(ptr) Variable Output + 10: TypePointer Input 7(fvec4) + 11(a1): 10(ptr) Variable Input + 13(a2): 10(ptr) Variable Input + 15(a3): 10(ptr) Variable Input + 19(a4): 10(ptr) Variable Input + 22: TypeVector 6(float) 3 + 28: TypeInt 32 0 + 29: 28(int) Constant 3 + 30: TypePointer Input 6(float) 4(PixelShaderFunction): 2 Function None 3 5: Label - 10: 7(fvec4) Load 9(a1) - 12: 7(fvec4) Load 11(a2) - 14: 7(fvec4) Load 13(a3) - 15: 7(fvec4) FMul 12 14 - 16: 7(fvec4) FAdd 10 15 - 18: 7(fvec4) Load 17(a4) - 19: 7(fvec4) FAdd 16 18 - 21: 7(fvec4) Load 9(a1) - 22: 20(fvec3) VectorShuffle 21 21 0 1 2 - 23: 7(fvec4) Load 11(a2) - 24: 20(fvec3) VectorShuffle 23 23 0 1 2 - 25: 20(fvec3) FMul 22 24 - 29: 28(ptr) AccessChain 13(a3) 27 - 30: 6(float) Load 29 - 31: 6(float) CompositeExtract 25 0 - 32: 6(float) CompositeExtract 25 1 - 33: 6(float) CompositeExtract 25 2 - 34: 7(fvec4) CompositeConstruct 31 32 33 30 - 35: 7(fvec4) FAdd 19 34 - ReturnValue 35 + 12: 7(fvec4) Load 11(a1) + 14: 7(fvec4) Load 13(a2) + 16: 7(fvec4) Load 15(a3) + 17: 7(fvec4) FMul 14 16 + 18: 7(fvec4) FAdd 12 17 + 20: 7(fvec4) Load 19(a4) + 21: 7(fvec4) FAdd 18 20 + 23: 7(fvec4) Load 11(a1) + 24: 22(fvec3) VectorShuffle 23 23 0 1 2 + 25: 7(fvec4) Load 13(a2) + 26: 22(fvec3) VectorShuffle 25 25 0 1 2 + 27: 22(fvec3) FMul 24 26 + 31: 30(ptr) AccessChain 15(a3) 29 + 32: 6(float) Load 31 + 33: 6(float) CompositeExtract 27 0 + 34: 6(float) CompositeExtract 27 1 + 35: 6(float) CompositeExtract 27 2 + 36: 7(fvec4) CompositeConstruct 33 34 35 32 + 37: 7(fvec4) FAdd 21 36 + Store 9(@entryPointOutput) 37 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.precedence2.frag.out b/Test/baseResults/hlsl.precedence2.frag.out index a0205f08..a06865a7 100755 --- a/Test/baseResults/hlsl.precedence2.frag.out +++ b/Test/baseResults/hlsl.precedence2.frag.out @@ -9,22 +9,25 @@ gl_FragCoord origin is upper left 0:7 'a3' (in int) 0:7 'a4' (in int) 0:? Sequence -0:8 Branch: Return with expression -0:8 add (temp int) -0:8 left-shift (temp int) -0:8 add (temp int) -0:8 component-wise multiply (temp int) -0:8 'a1' (in int) -0:8 'a2' (in int) -0:8 'a3' (in int) -0:8 'a4' (in int) -0:8 left-shift (temp int) -0:8 'a1' (in int) -0:8 add (temp int) -0:8 'a2' (in int) -0:8 component-wise multiply (temp int) +0:8 Sequence +0:8 move second child to first child (temp int) +0:? '@entryPointOutput' (out int) +0:8 add (temp int) +0:8 left-shift (temp int) +0:8 add (temp int) +0:8 component-wise multiply (temp int) +0:8 'a1' (in int) +0:8 'a2' (in int) 0:8 'a3' (in int) -0:8 'a4' (in int) +0:8 'a4' (in int) +0:8 left-shift (temp int) +0:8 'a1' (in int) +0:8 add (temp int) +0:8 'a2' (in int) +0:8 component-wise multiply (temp int) +0:8 'a3' (in int) +0:8 'a4' (in int) +0:8 Branch: Return 0:? Linker Objects @@ -41,62 +44,69 @@ gl_FragCoord origin is upper left 0:7 'a3' (in int) 0:7 'a4' (in int) 0:? Sequence -0:8 Branch: Return with expression -0:8 add (temp int) -0:8 left-shift (temp int) -0:8 add (temp int) -0:8 component-wise multiply (temp int) -0:8 'a1' (in int) -0:8 'a2' (in int) -0:8 'a3' (in int) -0:8 'a4' (in int) -0:8 left-shift (temp int) -0:8 'a1' (in int) -0:8 add (temp int) -0:8 'a2' (in int) -0:8 component-wise multiply (temp int) +0:8 Sequence +0:8 move second child to first child (temp int) +0:? '@entryPointOutput' (out int) +0:8 add (temp int) +0:8 left-shift (temp int) +0:8 add (temp int) +0:8 component-wise multiply (temp int) +0:8 'a1' (in int) +0:8 'a2' (in int) 0:8 'a3' (in int) -0:8 'a4' (in int) +0:8 'a4' (in int) +0:8 left-shift (temp int) +0:8 'a1' (in int) +0:8 add (temp int) +0:8 'a2' (in int) +0:8 component-wise multiply (temp int) +0:8 'a3' (in int) +0:8 'a4' (in int) +0:8 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 28 +// Id's are bound by 30 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 10 13 16 + EntryPoint Fragment 4 "PixelShaderFunction" 8 10 12 15 18 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "a1" - Name 10 "a2" - Name 13 "a3" - Name 16 "a4" + Name 8 "@entryPointOutput" + Name 10 "a1" + Name 12 "a2" + Name 15 "a3" + Name 18 "a4" 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 - 7: TypePointer Input 6(int) - 8(a1): 7(ptr) Variable Input - 10(a2): 7(ptr) Variable Input - 13(a3): 7(ptr) Variable Input - 16(a4): 7(ptr) Variable Input + 7: TypePointer Output 6(int) +8(@entryPointOutput): 7(ptr) Variable Output + 9: TypePointer Input 6(int) + 10(a1): 9(ptr) Variable Input + 12(a2): 9(ptr) Variable Input + 15(a3): 9(ptr) Variable Input + 18(a4): 9(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 9: 6(int) Load 8(a1) - 11: 6(int) Load 10(a2) - 12: 6(int) IMul 9 11 - 14: 6(int) Load 13(a3) - 15: 6(int) IAdd 12 14 - 17: 6(int) Load 16(a4) - 18: 6(int) ShiftLeftLogical 15 17 - 19: 6(int) Load 8(a1) - 20: 6(int) Load 10(a2) - 21: 6(int) Load 13(a3) - 22: 6(int) Load 16(a4) - 23: 6(int) IMul 21 22 - 24: 6(int) IAdd 20 23 - 25: 6(int) ShiftLeftLogical 19 24 - 26: 6(int) IAdd 18 25 - ReturnValue 26 + 11: 6(int) Load 10(a1) + 13: 6(int) Load 12(a2) + 14: 6(int) IMul 11 13 + 16: 6(int) Load 15(a3) + 17: 6(int) IAdd 14 16 + 19: 6(int) Load 18(a4) + 20: 6(int) ShiftLeftLogical 17 19 + 21: 6(int) Load 10(a1) + 22: 6(int) Load 12(a2) + 23: 6(int) Load 15(a3) + 24: 6(int) Load 18(a4) + 25: 6(int) IMul 23 24 + 26: 6(int) IAdd 22 25 + 27: 6(int) ShiftLeftLogical 21 26 + 28: 6(int) IAdd 20 27 + Store 8(@entryPointOutput) 28 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.precise.frag.out b/Test/baseResults/hlsl.precise.frag.out index 1a277f0a..e2577c7a 100644 --- a/Test/baseResults/hlsl.precise.frag.out +++ b/Test/baseResults/hlsl.precise.frag.out @@ -19,8 +19,11 @@ gl_FragCoord origin is upper left 0:11 1.000000 0:11 1.000000 0:11 1.000000 -0:12 Branch: Return with expression -0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:12 Sequence +0:12 move second child to first child (temp structure{noContraction temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{noContraction temp 4-component vector of float color}) +0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:12 Branch: Return 0:? Linker Objects 0:? 'precisefloat' (noContraction global float) @@ -48,19 +51,22 @@ gl_FragCoord origin is upper left 0:11 1.000000 0:11 1.000000 0:11 1.000000 -0:12 Branch: Return with expression -0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:12 Sequence +0:12 move second child to first child (temp structure{noContraction temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{noContraction temp 4-component vector of float color}) +0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:12 Branch: Return 0:? Linker Objects 0:? 'precisefloat' (noContraction global float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 29 +// Id's are bound by 31 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 26 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 13 "MyFunction(f1;vf3;" @@ -69,7 +75,8 @@ gl_FragCoord origin is upper left Name 16 "PS_OUTPUT" MemberName 16(PS_OUTPUT) 0 "color" Name 18 "ps_output" - Name 28 "precisefloat" + Name 26 "@entryPointOutput" + Name 30 "precisefloat" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -85,15 +92,18 @@ gl_FragCoord origin is upper left 21: 6(float) Constant 1065353216 22: 15(fvec4) ConstantComposite 21 21 21 21 23: TypePointer Function 15(fvec4) - 27: TypePointer Private 6(float) -28(precisefloat): 27(ptr) Variable Private + 25: TypePointer Output 16(PS_OUTPUT) +26(@entryPointOutput): 25(ptr) Variable Output + 29: TypePointer Private 6(float) +30(precisefloat): 29(ptr) Variable Private 4(main): 2 Function None 3 5: Label 18(ps_output): 17(ptr) Variable Function 24: 23(ptr) AccessChain 18(ps_output) 20 Store 24 22 - 25:16(PS_OUTPUT) Load 18(ps_output) - ReturnValue 25 + 27:16(PS_OUTPUT) Load 18(ps_output) + Store 26(@entryPointOutput) 27 + Return FunctionEnd 13(MyFunction(f1;vf3;): 2 Function None 10 11(myfloat): 7(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out index 41bca2ff..413a4f0f 100644 --- a/Test/baseResults/hlsl.promotions.frag.out +++ b/Test/baseResults/hlsl.promotions.frag.out @@ -496,8 +496,11 @@ gl_FragCoord origin is upper left 0:199 Constant: 0:199 0 (const int) 0:199 'outval' (temp 4-component vector of float) -0:200 Branch: Return with expression -0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:200 Sequence +0:200 move second child to first child (temp structure{temp 4-component vector of float Color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) +0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:200 Branch: Return 0:? Linker Objects 0:? 'i3' (uniform 3-component vector of int) 0:? 'b3' (uniform 3-component vector of bool) @@ -1011,8 +1014,11 @@ gl_FragCoord origin is upper left 0:199 Constant: 0:199 0 (const int) 0:199 'outval' (temp 4-component vector of float) -0:200 Branch: Return with expression -0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:200 Sequence +0:200 move second child to first child (temp structure{temp 4-component vector of float Color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) +0:200 'psout' (temp structure{temp 4-component vector of float Color}) +0:200 Branch: Return 0:? Linker Objects 0:? 'i3' (uniform 3-component vector of int) 0:? 'b3' (uniform 3-component vector of bool) @@ -1027,13 +1033,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 478 +// Id's are bound by 480 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 477 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn_F3(vf3;" @@ -1122,6 +1128,7 @@ gl_FragCoord origin is upper left Name 471 "PS_OUTPUT" MemberName 471(PS_OUTPUT) 0 "Color" Name 473 "psout" + Name 477 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -1192,6 +1199,8 @@ gl_FragCoord origin is upper left 465: 6(float) Constant 1080452710 471(PS_OUTPUT): TypeStruct 462(fvec4) 472: TypePointer Function 471(PS_OUTPUT) + 476: TypePointer Output 471(PS_OUTPUT) +477(@entryPointOutput): 476(ptr) Variable Output 4(main): 2 Function None 3 5: Label 252(r00): 8(ptr) Variable Function @@ -1457,8 +1466,9 @@ gl_FragCoord origin is upper left 474: 462(fvec4) Load 464(outval) 475: 463(ptr) AccessChain 473(psout) 149 Store 475 474 - 476:471(PS_OUTPUT) Load 473(psout) - ReturnValue 476 + 478:471(PS_OUTPUT) Load 473(psout) + Store 477(@entryPointOutput) 478 + Return FunctionEnd 11(Fn_F3(vf3;): 2 Function None 9 10(x): 8(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out index 9ab682ff..5413a6f5 100644 --- a/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -121,8 +121,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -262,8 +265,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -279,14 +285,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 132 +// Id's are bound by 134 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 130 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -312,7 +318,8 @@ gl_FragCoord origin is upper left MemberName 120(PS_OUTPUT) 0 "Color" MemberName 120(PS_OUTPUT) 1 "Depth" Name 122 "psout" - Name 131 "g_tTex1df4a" + Name 130 "@entryPointOutput" + Name 133 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -326,8 +333,8 @@ gl_FragCoord origin is upper left Decorate 100(g_tTexcdi4) DescriptorSet 0 Decorate 110(g_tTexcdu4) DescriptorSet 0 MemberDecorate 120(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 131(g_tTex1df4a) DescriptorSet 0 - Decorate 131(g_tTex1df4a) Binding 1 + Decorate 133(g_tTex1df4a) DescriptorSet 0 + Decorate 133(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -405,7 +412,9 @@ gl_FragCoord origin is upper left 124: 7(fvec4) ConstantComposite 117 117 117 117 126: 25(int) Constant 1 127: TypePointer Function 6(float) -131(g_tTex1df4a): 11(ptr) Variable UniformConstant + 129: TypePointer Output 120(PS_OUTPUT) +130(@entryPointOutput): 129(ptr) Variable Output +133(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -467,6 +476,7 @@ gl_FragCoord origin is upper left Store 125 124 128: 127(ptr) AccessChain 122(psout) 126 Store 128 117 - 129:120(PS_OUTPUT) Load 122(psout) - ReturnValue 129 + 131:120(PS_OUTPUT) Load 122(psout) + Store 130(@entryPointOutput) 131 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out index 6960c32e..9cd4ebd0 100644 --- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -231,8 +231,11 @@ gl_FragCoord origin is upper left 0:87 1 (const int) 0:87 Constant: 0:87 1.000000 -0:89 Branch: Return with expression -0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 Sequence +0:89 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -485,8 +488,11 @@ gl_FragCoord origin is upper left 0:87 1 (const int) 0:87 Constant: 0:87 1.000000 -0:89 Branch: Return with expression -0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 Sequence +0:89 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:89 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -507,13 +513,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 184 +// Id's are bound by 186 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 180 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 7 "MemberTest" @@ -559,9 +565,10 @@ gl_FragCoord origin is upper left MemberName 171(PS_OUTPUT) 0 "Color" MemberName 171(PS_OUTPUT) 1 "Depth" Name 173 "psout" - Name 181 "g_sSamp2d" - Name 182 "g_sSamp2D_b" - Name 183 "g_tTex1df4a" + Name 180 "@entryPointOutput" + Name 183 "g_sSamp2d" + Name 184 "g_sSamp2D_b" + Name 185 "g_tTex1df4a" Decorate 41(g_tTex1df4) DescriptorSet 0 Decorate 41(g_tTex1df4) Binding 0 Decorate 45(g_sSamp) DescriptorSet 0 @@ -578,10 +585,10 @@ gl_FragCoord origin is upper left Decorate 156(g_tTexcdi4) DescriptorSet 0 Decorate 165(g_tTexcdu4) DescriptorSet 0 MemberDecorate 171(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 181(g_sSamp2d) DescriptorSet 0 - Decorate 182(g_sSamp2D_b) DescriptorSet 0 - Decorate 183(g_tTex1df4a) DescriptorSet 0 - Decorate 183(g_tTex1df4a) Binding 1 + Decorate 183(g_sSamp2d) DescriptorSet 0 + Decorate 184(g_sSamp2D_b) DescriptorSet 0 + Decorate 185(g_tTex1df4a) DescriptorSet 0 + Decorate 185(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -681,9 +688,11 @@ gl_FragCoord origin is upper left 174: 35(float) Constant 1065353216 175: 36(fvec4) ConstantComposite 174 174 174 174 177: TypePointer Function 35(float) - 181(g_sSamp2d): 44(ptr) Variable UniformConstant -182(g_sSamp2D_b): 44(ptr) Variable UniformConstant -183(g_tTex1df4a): 40(ptr) Variable UniformConstant + 179: TypePointer Output 171(PS_OUTPUT) +180(@entryPointOutput): 179(ptr) Variable Output + 183(g_sSamp2d): 44(ptr) Variable UniformConstant +184(g_sSamp2D_b): 44(ptr) Variable UniformConstant +185(g_tTex1df4a): 40(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(mtest): 8(ptr) Variable Function @@ -788,6 +797,7 @@ gl_FragCoord origin is upper left Store 176 175 178: 177(ptr) AccessChain 173(psout) 10 Store 178 174 - 179:171(PS_OUTPUT) Load 173(psout) - ReturnValue 179 + 181:171(PS_OUTPUT) Load 173(psout) + Store 180(@entryPointOutput) 181 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out index 1ec6bdec..d11d16f5 100644 --- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -139,8 +139,11 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Branch: Return with expression -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -301,8 +304,11 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Branch: Return with expression -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -321,13 +327,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 147 +// Id's are bound by 149 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 136 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -353,10 +359,11 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 137 "g_tTex1df4a" - Name 140 "g_tTexcdf4" - Name 143 "g_tTexcdi4" - Name 146 "g_tTexcdu4" + Name 136 "@entryPointOutput" + Name 139 "g_tTex1df4a" + Name 142 "g_tTexcdf4" + Name 145 "g_tTexcdi4" + Name 148 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -370,11 +377,11 @@ gl_FragCoord origin is upper left Decorate 105(g_tTex3di4) DescriptorSet 0 Decorate 116(g_tTex3du4) DescriptorSet 0 MemberDecorate 127(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 137(g_tTex1df4a) DescriptorSet 0 - Decorate 137(g_tTex1df4a) Binding 1 - Decorate 140(g_tTexcdf4) DescriptorSet 0 - Decorate 143(g_tTexcdi4) DescriptorSet 0 - Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 139(g_tTex1df4a) DescriptorSet 0 + Decorate 139(g_tTex1df4a) Binding 1 + Decorate 142(g_tTexcdf4) DescriptorSet 0 + Decorate 145(g_tTexcdi4) DescriptorSet 0 + Decorate 148(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -458,16 +465,18 @@ gl_FragCoord origin is upper left 130: 6(float) Constant 1065353216 131: 7(fvec4) ConstantComposite 130 130 130 130 133: TypePointer Function 6(float) -137(g_tTex1df4a): 11(ptr) Variable UniformConstant - 138: TypeImage 6(float) Cube sampled format:Unknown - 139: TypePointer UniformConstant 138 - 140(g_tTexcdf4): 139(ptr) Variable UniformConstant - 141: TypeImage 21(int) Cube sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTexcdi4): 142(ptr) Variable UniformConstant - 144: TypeImage 36(int) Cube sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTexcdu4): 145(ptr) Variable UniformConstant + 135: TypePointer Output 127(PS_OUTPUT) +136(@entryPointOutput): 135(ptr) Variable Output +139(g_tTex1df4a): 11(ptr) Variable UniformConstant + 140: TypeImage 6(float) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdf4): 141(ptr) Variable UniformConstant + 143: TypeImage 21(int) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdi4): 144(ptr) Variable UniformConstant + 146: TypeImage 36(int) Cube sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTexcdu4): 147(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -529,6 +538,7 @@ gl_FragCoord origin is upper left Store 132 131 134: 133(ptr) AccessChain 129(psout) 22 Store 134 130 - 135:127(PS_OUTPUT) Load 129(psout) - ReturnValue 135 + 137:127(PS_OUTPUT) Load 129(psout) + Store 136(@entryPointOutput) 137 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index e976a419..76315296 100644 --- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -100,8 +100,11 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Branch: Return with expression -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Sequence +0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -217,8 +220,11 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Branch: Return with expression -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Sequence +0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -231,13 +237,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 104 +// Id's are bound by 106 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 102 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -257,7 +263,8 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 103 "g_tTex1df4a" + Name 102 "@entryPointOutput" + Name 105 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -268,8 +275,8 @@ gl_FragCoord origin is upper left Decorate 72(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) DescriptorSet 0 MemberDecorate 93(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 103(g_tTex1df4a) DescriptorSet 0 - Decorate 103(g_tTex1df4a) Binding 1 + Decorate 105(g_tTex1df4a) DescriptorSet 0 + Decorate 105(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -334,7 +341,9 @@ gl_FragCoord origin is upper left 96: 6(float) Constant 1065353216 97: 7(fvec4) ConstantComposite 96 96 96 96 99: TypePointer Function 6(float) -103(g_tTex1df4a): 11(ptr) Variable UniformConstant + 101: TypePointer Output 93(PS_OUTPUT) +102(@entryPointOutput): 101(ptr) Variable Output +105(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -378,6 +387,7 @@ gl_FragCoord origin is upper left Store 98 97 100: 99(ptr) AccessChain 95(psout) 39 Store 100 96 - 101:93(PS_OUTPUT) Load 95(psout) - ReturnValue 101 + 103:93(PS_OUTPUT) Load 95(psout) + Store 102(@entryPointOutput) 103 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index 863a3bad..e735d34d 100644 --- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -139,8 +139,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -298,8 +301,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -315,14 +321,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 132 +// Id's are bound by 134 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 130 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -348,7 +354,8 @@ gl_FragCoord origin is upper left MemberName 120(PS_OUTPUT) 0 "Color" MemberName 120(PS_OUTPUT) 1 "Depth" Name 122 "psout" - Name 131 "g_tTex1df4a" + Name 130 "@entryPointOutput" + Name 133 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -362,8 +369,8 @@ gl_FragCoord origin is upper left Decorate 100(g_tTexcdi4) DescriptorSet 0 Decorate 110(g_tTexcdu4) DescriptorSet 0 MemberDecorate 120(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 131(g_tTex1df4a) DescriptorSet 0 - Decorate 131(g_tTex1df4a) Binding 1 + Decorate 133(g_tTex1df4a) DescriptorSet 0 + Decorate 133(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -441,7 +448,9 @@ gl_FragCoord origin is upper left 124: 7(fvec4) ConstantComposite 117 117 117 117 126: 26(int) Constant 1 127: TypePointer Function 6(float) -131(g_tTex1df4a): 11(ptr) Variable UniformConstant + 129: TypePointer Output 120(PS_OUTPUT) +130(@entryPointOutput): 129(ptr) Variable Output +133(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -503,6 +512,7 @@ gl_FragCoord origin is upper left Store 125 124 128: 127(ptr) AccessChain 122(psout) 126 Store 128 117 - 129:120(PS_OUTPUT) Load 122(psout) - ReturnValue 129 + 131:120(PS_OUTPUT) Load 122(psout) + Store 130(@entryPointOutput) 131 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index 176e58ab..d61eda9d 100644 --- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -169,8 +169,11 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Branch: Return with expression -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Sequence +0:50 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -361,8 +364,11 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Branch: Return with expression -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Sequence +0:50 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -381,13 +387,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 156 +// Id's are bound by 158 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 154 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -419,7 +425,8 @@ gl_FragCoord origin is upper left MemberName 143(PS_OUTPUT) 0 "Color" MemberName 143(PS_OUTPUT) 1 "Depth" Name 145 "psout" - Name 155 "g_tTex1df4a" + Name 154 "@entryPointOutput" + Name 157 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -436,8 +443,8 @@ gl_FragCoord origin is upper left Decorate 128(g_tTexcdi4) DescriptorSet 0 Decorate 137(g_tTexcdu4) DescriptorSet 0 MemberDecorate 143(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 155(g_tTex1df4a) DescriptorSet 0 - Decorate 155(g_tTex1df4a) Binding 1 + Decorate 157(g_tTex1df4a) DescriptorSet 0 + Decorate 157(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -524,7 +531,9 @@ gl_FragCoord origin is upper left 148: 7(fvec4) ConstantComposite 147 147 147 147 150: 23(int) Constant 1 151: TypePointer Function 6(float) -155(g_tTex1df4a): 11(ptr) Variable UniformConstant + 153: TypePointer Output 143(PS_OUTPUT) +154(@entryPointOutput): 153(ptr) Variable Output +157(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -604,6 +613,7 @@ gl_FragCoord origin is upper left Store 149 148 152: 151(ptr) AccessChain 145(psout) 150 Store 152 147 - 153:143(PS_OUTPUT) Load 145(psout) - ReturnValue 153 + 155:143(PS_OUTPUT) Load 145(psout) + Store 154(@entryPointOutput) 155 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 4dbaf2b0..b2e77efc 100644 --- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -157,8 +157,11 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Branch: Return with expression -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -337,8 +340,11 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Branch: Return with expression -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -357,13 +363,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 147 +// Id's are bound by 149 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 136 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -389,10 +395,11 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 137 "g_tTex1df4a" - Name 140 "g_tTexcdf4" - Name 143 "g_tTexcdi4" - Name 146 "g_tTexcdu4" + Name 136 "@entryPointOutput" + Name 139 "g_tTex1df4a" + Name 142 "g_tTexcdf4" + Name 145 "g_tTexcdi4" + Name 148 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -406,11 +413,11 @@ gl_FragCoord origin is upper left Decorate 105(g_tTex3di4) DescriptorSet 0 Decorate 116(g_tTex3du4) DescriptorSet 0 MemberDecorate 127(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 137(g_tTex1df4a) DescriptorSet 0 - Decorate 137(g_tTex1df4a) Binding 1 - Decorate 140(g_tTexcdf4) DescriptorSet 0 - Decorate 143(g_tTexcdi4) DescriptorSet 0 - Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 139(g_tTex1df4a) DescriptorSet 0 + Decorate 139(g_tTex1df4a) Binding 1 + Decorate 142(g_tTexcdf4) DescriptorSet 0 + Decorate 145(g_tTexcdi4) DescriptorSet 0 + Decorate 148(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -494,16 +501,18 @@ gl_FragCoord origin is upper left 130: 6(float) Constant 1065353216 131: 7(fvec4) ConstantComposite 130 130 130 130 133: TypePointer Function 6(float) -137(g_tTex1df4a): 11(ptr) Variable UniformConstant - 138: TypeImage 6(float) Cube sampled format:Unknown - 139: TypePointer UniformConstant 138 - 140(g_tTexcdf4): 139(ptr) Variable UniformConstant - 141: TypeImage 22(int) Cube sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTexcdi4): 142(ptr) Variable UniformConstant - 144: TypeImage 37(int) Cube sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTexcdu4): 145(ptr) Variable UniformConstant + 135: TypePointer Output 127(PS_OUTPUT) +136(@entryPointOutput): 135(ptr) Variable Output +139(g_tTex1df4a): 11(ptr) Variable UniformConstant + 140: TypeImage 6(float) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdf4): 141(ptr) Variable UniformConstant + 143: TypeImage 22(int) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdi4): 144(ptr) Variable UniformConstant + 146: TypeImage 37(int) Cube sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTexcdu4): 147(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -565,6 +574,7 @@ gl_FragCoord origin is upper left Store 132 131 134: 133(ptr) AccessChain 129(psout) 23 Store 134 130 - 135:127(PS_OUTPUT) Load 129(psout) - ReturnValue 135 + 137:127(PS_OUTPUT) Load 129(psout) + Store 136(@entryPointOutput) 137 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index c4691ddf..52263c49 100644 --- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -112,8 +112,11 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Branch: Return with expression -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Sequence +0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -241,8 +244,11 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Branch: Return with expression -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Sequence +0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -255,13 +261,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 104 +// Id's are bound by 106 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 102 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -281,7 +287,8 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 103 "g_tTex1df4a" + Name 102 "@entryPointOutput" + Name 105 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -292,8 +299,8 @@ gl_FragCoord origin is upper left Decorate 73(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) DescriptorSet 0 MemberDecorate 93(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 103(g_tTex1df4a) DescriptorSet 0 - Decorate 103(g_tTex1df4a) Binding 1 + Decorate 105(g_tTex1df4a) DescriptorSet 0 + Decorate 105(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -358,7 +365,9 @@ gl_FragCoord origin is upper left 96: 6(float) Constant 1065353216 97: 7(fvec4) ConstantComposite 96 96 96 96 99: TypePointer Function 6(float) -103(g_tTex1df4a): 11(ptr) Variable UniformConstant + 101: TypePointer Output 93(PS_OUTPUT) +102(@entryPointOutput): 101(ptr) Variable Output +105(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -402,6 +411,7 @@ gl_FragCoord origin is upper left Store 98 97 100: 99(ptr) AccessChain 95(psout) 40 Store 100 96 - 101:93(PS_OUTPUT) Load 95(psout) - ReturnValue 101 + 103:93(PS_OUTPUT) Load 95(psout) + Store 102(@entryPointOutput) 103 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index 6f11d65e..a61aa29b 100644 --- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -148,8 +148,11 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Branch: Return with expression -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Sequence +0:59 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -327,8 +330,11 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Branch: Return with expression -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Sequence +0:59 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -355,14 +361,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 177 +// Id's are bound by 179 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 140 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r10" @@ -388,18 +394,19 @@ gl_FragCoord origin is upper left MemberName 129(PS_OUTPUT) 0 "Color" MemberName 129(PS_OUTPUT) 1 "Depth" Name 131 "psout" - Name 143 "g_tTex1df4" - Name 146 "g_tTex1di4" - Name 149 "g_tTex1du4" - Name 152 "g_tTex2df4" - Name 155 "g_tTex2di4" - Name 158 "g_tTex2du4" - Name 161 "g_tTex3df4" - Name 164 "g_tTex3di4" - Name 167 "g_tTex3du4" - Name 170 "g_tTexcdf4" - Name 173 "g_tTexcdi4" - Name 176 "g_tTexcdu4" + Name 140 "@entryPointOutput" + Name 145 "g_tTex1df4" + Name 148 "g_tTex1di4" + Name 151 "g_tTex1du4" + Name 154 "g_tTex2df4" + Name 157 "g_tTex2di4" + Name 160 "g_tTex2du4" + Name 163 "g_tTex3df4" + Name 166 "g_tTex3di4" + Name 169 "g_tTex3du4" + Name 172 "g_tTexcdf4" + Name 175 "g_tTexcdi4" + Name 178 "g_tTexcdu4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 @@ -412,19 +419,19 @@ gl_FragCoord origin is upper left Decorate 110(g_tTexcdi4a) DescriptorSet 0 Decorate 121(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 129(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 143(g_tTex1df4) DescriptorSet 0 - Decorate 143(g_tTex1df4) Binding 0 - Decorate 146(g_tTex1di4) DescriptorSet 0 - Decorate 149(g_tTex1du4) DescriptorSet 0 - Decorate 152(g_tTex2df4) DescriptorSet 0 - Decorate 155(g_tTex2di4) DescriptorSet 0 - Decorate 158(g_tTex2du4) DescriptorSet 0 - Decorate 161(g_tTex3df4) DescriptorSet 0 - Decorate 164(g_tTex3di4) DescriptorSet 0 - Decorate 167(g_tTex3du4) DescriptorSet 0 - Decorate 170(g_tTexcdf4) DescriptorSet 0 - Decorate 173(g_tTexcdi4) DescriptorSet 0 - Decorate 176(g_tTexcdu4) DescriptorSet 0 + Decorate 145(g_tTex1df4) DescriptorSet 0 + Decorate 145(g_tTex1df4) Binding 0 + Decorate 148(g_tTex1di4) DescriptorSet 0 + Decorate 151(g_tTex1du4) DescriptorSet 0 + Decorate 154(g_tTex2df4) DescriptorSet 0 + Decorate 157(g_tTex2di4) DescriptorSet 0 + Decorate 160(g_tTex2du4) DescriptorSet 0 + Decorate 163(g_tTex3df4) DescriptorSet 0 + Decorate 166(g_tTex3di4) DescriptorSet 0 + Decorate 169(g_tTex3du4) DescriptorSet 0 + Decorate 172(g_tTexcdf4) DescriptorSet 0 + Decorate 175(g_tTexcdi4) DescriptorSet 0 + Decorate 178(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -497,42 +504,44 @@ gl_FragCoord origin is upper left 134: 102(fvec4) ConstantComposite 133 133 133 133 135: TypePointer Function 102(fvec4) 137: 29(int) Constant 1 - 141: TypeImage 6(float) 1D sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTex1df4): 142(ptr) Variable UniformConstant - 144: TypeImage 29(int) 1D sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTex1di4): 145(ptr) Variable UniformConstant - 147: TypeImage 42(int) 1D sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTex1du4): 148(ptr) Variable UniformConstant - 150: TypeImage 6(float) 2D sampled format:Unknown - 151: TypePointer UniformConstant 150 - 152(g_tTex2df4): 151(ptr) Variable UniformConstant - 153: TypeImage 29(int) 2D sampled format:Unknown - 154: TypePointer UniformConstant 153 - 155(g_tTex2di4): 154(ptr) Variable UniformConstant - 156: TypeImage 42(int) 2D sampled format:Unknown - 157: TypePointer UniformConstant 156 - 158(g_tTex2du4): 157(ptr) Variable UniformConstant - 159: TypeImage 6(float) 3D sampled format:Unknown - 160: TypePointer UniformConstant 159 - 161(g_tTex3df4): 160(ptr) Variable UniformConstant - 162: TypeImage 29(int) 3D sampled format:Unknown - 163: TypePointer UniformConstant 162 - 164(g_tTex3di4): 163(ptr) Variable UniformConstant - 165: TypeImage 42(int) 3D sampled format:Unknown - 166: TypePointer UniformConstant 165 - 167(g_tTex3du4): 166(ptr) Variable UniformConstant - 168: TypeImage 6(float) Cube sampled format:Unknown - 169: TypePointer UniformConstant 168 - 170(g_tTexcdf4): 169(ptr) Variable UniformConstant - 171: TypeImage 29(int) Cube sampled format:Unknown - 172: TypePointer UniformConstant 171 - 173(g_tTexcdi4): 172(ptr) Variable UniformConstant - 174: TypeImage 42(int) Cube sampled format:Unknown - 175: TypePointer UniformConstant 174 - 176(g_tTexcdu4): 175(ptr) Variable UniformConstant + 139: TypePointer Output 129(PS_OUTPUT) +140(@entryPointOutput): 139(ptr) Variable Output + 143: TypeImage 6(float) 1D sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTex1df4): 144(ptr) Variable UniformConstant + 146: TypeImage 29(int) 1D sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTex1di4): 147(ptr) Variable UniformConstant + 149: TypeImage 42(int) 1D sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTex1du4): 150(ptr) Variable UniformConstant + 152: TypeImage 6(float) 2D sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTex2df4): 153(ptr) Variable UniformConstant + 155: TypeImage 29(int) 2D sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTex2di4): 156(ptr) Variable UniformConstant + 158: TypeImage 42(int) 2D sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTex2du4): 159(ptr) Variable UniformConstant + 161: TypeImage 6(float) 3D sampled format:Unknown + 162: TypePointer UniformConstant 161 + 163(g_tTex3df4): 162(ptr) Variable UniformConstant + 164: TypeImage 29(int) 3D sampled format:Unknown + 165: TypePointer UniformConstant 164 + 166(g_tTex3di4): 165(ptr) Variable UniformConstant + 167: TypeImage 42(int) 3D sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169(g_tTex3du4): 168(ptr) Variable UniformConstant + 170: TypeImage 6(float) Cube sampled format:Unknown + 171: TypePointer UniformConstant 170 + 172(g_tTexcdf4): 171(ptr) Variable UniformConstant + 173: TypeImage 29(int) Cube sampled format:Unknown + 174: TypePointer UniformConstant 173 + 175(g_tTexcdi4): 174(ptr) Variable UniformConstant + 176: TypeImage 42(int) Cube sampled format:Unknown + 177: TypePointer UniformConstant 176 + 178(g_tTexcdu4): 177(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r10): 7(ptr) Variable Function @@ -609,6 +618,7 @@ gl_FragCoord origin is upper left Store 136 134 138: 7(ptr) AccessChain 131(psout) 137 Store 138 133 - 139:129(PS_OUTPUT) Load 131(psout) - ReturnValue 139 + 141:129(PS_OUTPUT) Load 131(psout) + Store 140(@entryPointOutput) 141 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index 7824cc66..93fe73cf 100644 --- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -139,8 +139,11 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Branch: Return with expression -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Sequence +0:60 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -309,8 +312,11 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Branch: Return with expression -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Sequence +0:60 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -337,14 +343,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 175 +// Id's are bound by 177 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 138 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r00" @@ -370,18 +376,19 @@ gl_FragCoord origin is upper left MemberName 127(PS_OUTPUT) 0 "Color" MemberName 127(PS_OUTPUT) 1 "Depth" Name 129 "psout" - Name 141 "g_tTex3df4" - Name 144 "g_tTex3di4" - Name 147 "g_tTex3du4" - Name 150 "g_tTex1df4a" - Name 153 "g_tTex1di4a" - Name 156 "g_tTex1du4a" - Name 159 "g_tTex2df4a" - Name 162 "g_tTex2di4a" - Name 165 "g_tTex2du4a" - Name 168 "g_tTexcdf4a" - Name 171 "g_tTexcdi4a" - Name 174 "g_tTexcdu4a" + Name 138 "@entryPointOutput" + Name 143 "g_tTex3df4" + Name 146 "g_tTex3di4" + Name 149 "g_tTex3du4" + Name 152 "g_tTex1df4a" + Name 155 "g_tTex1di4a" + Name 158 "g_tTex1du4a" + Name 161 "g_tTex2df4a" + Name 164 "g_tTex2di4a" + Name 167 "g_tTex2du4a" + Name 170 "g_tTexcdf4a" + Name 173 "g_tTexcdi4a" + Name 176 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 @@ -395,18 +402,18 @@ gl_FragCoord origin is upper left Decorate 105(g_tTexcdi4) DescriptorSet 0 Decorate 117(g_tTexcdu4) DescriptorSet 0 MemberDecorate 127(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 141(g_tTex3df4) DescriptorSet 0 - Decorate 144(g_tTex3di4) DescriptorSet 0 - Decorate 147(g_tTex3du4) DescriptorSet 0 - Decorate 150(g_tTex1df4a) DescriptorSet 0 - Decorate 153(g_tTex1di4a) DescriptorSet 0 - Decorate 156(g_tTex1du4a) DescriptorSet 0 - Decorate 159(g_tTex2df4a) DescriptorSet 0 - Decorate 162(g_tTex2di4a) DescriptorSet 0 - Decorate 165(g_tTex2du4a) DescriptorSet 0 - Decorate 168(g_tTexcdf4a) DescriptorSet 0 - Decorate 171(g_tTexcdi4a) DescriptorSet 0 - Decorate 174(g_tTexcdu4a) DescriptorSet 0 + Decorate 143(g_tTex3df4) DescriptorSet 0 + Decorate 146(g_tTex3di4) DescriptorSet 0 + Decorate 149(g_tTex3du4) DescriptorSet 0 + Decorate 152(g_tTex1df4a) DescriptorSet 0 + Decorate 155(g_tTex1di4a) DescriptorSet 0 + Decorate 158(g_tTex1du4a) DescriptorSet 0 + Decorate 161(g_tTex2df4a) DescriptorSet 0 + Decorate 164(g_tTex2di4a) DescriptorSet 0 + Decorate 167(g_tTex2du4a) DescriptorSet 0 + Decorate 170(g_tTexcdf4a) DescriptorSet 0 + Decorate 173(g_tTexcdi4a) DescriptorSet 0 + Decorate 176(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -477,42 +484,44 @@ gl_FragCoord origin is upper left 132: 126(fvec4) ConstantComposite 131 131 131 131 133: TypePointer Function 126(fvec4) 135: 25(int) Constant 1 - 139: TypeImage 6(float) 3D sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTex3df4): 140(ptr) Variable UniformConstant - 142: TypeImage 25(int) 3D sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTex3di4): 143(ptr) Variable UniformConstant - 145: TypeImage 37(int) 3D sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTex3du4): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) 1D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex1df4a): 149(ptr) Variable UniformConstant - 151: TypeImage 25(int) 1D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex1di4a): 152(ptr) Variable UniformConstant - 154: TypeImage 37(int) 1D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex1du4a): 155(ptr) Variable UniformConstant - 157: TypeImage 6(float) 2D array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTex2df4a): 158(ptr) Variable UniformConstant - 160: TypeImage 25(int) 2D array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTex2di4a): 161(ptr) Variable UniformConstant - 163: TypeImage 37(int) 2D array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTex2du4a): 164(ptr) Variable UniformConstant - 166: TypeImage 6(float) Cube array sampled format:Unknown - 167: TypePointer UniformConstant 166 -168(g_tTexcdf4a): 167(ptr) Variable UniformConstant - 169: TypeImage 25(int) Cube array sampled format:Unknown - 170: TypePointer UniformConstant 169 -171(g_tTexcdi4a): 170(ptr) Variable UniformConstant - 172: TypeImage 37(int) Cube array sampled format:Unknown - 173: TypePointer UniformConstant 172 -174(g_tTexcdu4a): 173(ptr) Variable UniformConstant + 137: TypePointer Output 127(PS_OUTPUT) +138(@entryPointOutput): 137(ptr) Variable Output + 141: TypeImage 6(float) 3D sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTex3df4): 142(ptr) Variable UniformConstant + 144: TypeImage 25(int) 3D sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTex3di4): 145(ptr) Variable UniformConstant + 147: TypeImage 37(int) 3D sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTex3du4): 148(ptr) Variable UniformConstant + 150: TypeImage 6(float) 1D array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTex1df4a): 151(ptr) Variable UniformConstant + 153: TypeImage 25(int) 1D array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTex1di4a): 154(ptr) Variable UniformConstant + 156: TypeImage 37(int) 1D array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTex1du4a): 157(ptr) Variable UniformConstant + 159: TypeImage 6(float) 2D array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTex2df4a): 160(ptr) Variable UniformConstant + 162: TypeImage 25(int) 2D array sampled format:Unknown + 163: TypePointer UniformConstant 162 +164(g_tTex2di4a): 163(ptr) Variable UniformConstant + 165: TypeImage 37(int) 2D array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTex2du4a): 166(ptr) Variable UniformConstant + 168: TypeImage 6(float) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdf4a): 169(ptr) Variable UniformConstant + 171: TypeImage 25(int) Cube array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTexcdi4a): 172(ptr) Variable UniformConstant + 174: TypeImage 37(int) Cube array sampled format:Unknown + 175: TypePointer UniformConstant 174 +176(g_tTexcdu4a): 175(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -589,6 +598,7 @@ gl_FragCoord origin is upper left Store 134 132 136: 7(ptr) AccessChain 129(psout) 135 Store 136 131 - 137:127(PS_OUTPUT) Load 129(psout) - ReturnValue 137 + 139:127(PS_OUTPUT) Load 129(psout) + Store 138(@entryPointOutput) 139 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index 346279bb..71eb5206 100644 --- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -112,8 +112,11 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Branch: Return with expression -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Sequence +0:65 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -255,8 +258,11 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Branch: Return with expression -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Sequence +0:65 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -283,14 +289,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 149 +// Id's are bound by 151 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 103 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r01" @@ -310,21 +316,22 @@ gl_FragCoord origin is upper left MemberName 92(PS_OUTPUT) 0 "Color" MemberName 92(PS_OUTPUT) 1 "Depth" Name 94 "psout" - Name 106 "g_tTex3df4" - Name 109 "g_tTex3di4" - Name 112 "g_tTex3du4" - Name 115 "g_tTexcdf4" - Name 118 "g_tTexcdi4" - Name 121 "g_tTexcdu4" - Name 124 "g_tTex1df4a" - Name 127 "g_tTex1di4a" - Name 130 "g_tTex1du4a" - Name 133 "g_tTex2df4a" - Name 136 "g_tTex2di4a" - Name 139 "g_tTex2du4a" - Name 142 "g_tTexcdf4a" - Name 145 "g_tTexcdi4a" - Name 148 "g_tTexcdu4a" + Name 103 "@entryPointOutput" + Name 108 "g_tTex3df4" + Name 111 "g_tTex3di4" + Name 114 "g_tTex3du4" + Name 117 "g_tTexcdf4" + Name 120 "g_tTexcdi4" + Name 123 "g_tTexcdu4" + Name 126 "g_tTex1df4a" + Name 129 "g_tTex1di4a" + Name 132 "g_tTex1du4a" + Name 135 "g_tTex2df4a" + Name 138 "g_tTex2di4a" + Name 141 "g_tTex2du4a" + Name 144 "g_tTexcdf4a" + Name 147 "g_tTexcdi4a" + Name 150 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 @@ -335,21 +342,21 @@ gl_FragCoord origin is upper left Decorate 70(g_tTex2di4) DescriptorSet 0 Decorate 82(g_tTex2du4) DescriptorSet 0 MemberDecorate 92(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 106(g_tTex3df4) DescriptorSet 0 - Decorate 109(g_tTex3di4) DescriptorSet 0 - Decorate 112(g_tTex3du4) DescriptorSet 0 - Decorate 115(g_tTexcdf4) DescriptorSet 0 - Decorate 118(g_tTexcdi4) DescriptorSet 0 - Decorate 121(g_tTexcdu4) DescriptorSet 0 - Decorate 124(g_tTex1df4a) DescriptorSet 0 - Decorate 127(g_tTex1di4a) DescriptorSet 0 - Decorate 130(g_tTex1du4a) DescriptorSet 0 - Decorate 133(g_tTex2df4a) DescriptorSet 0 - Decorate 136(g_tTex2di4a) DescriptorSet 0 - Decorate 139(g_tTex2du4a) DescriptorSet 0 - Decorate 142(g_tTexcdf4a) DescriptorSet 0 - Decorate 145(g_tTexcdi4a) DescriptorSet 0 - Decorate 148(g_tTexcdu4a) DescriptorSet 0 + Decorate 108(g_tTex3df4) DescriptorSet 0 + Decorate 111(g_tTex3di4) DescriptorSet 0 + Decorate 114(g_tTex3du4) DescriptorSet 0 + Decorate 117(g_tTexcdf4) DescriptorSet 0 + Decorate 120(g_tTexcdi4) DescriptorSet 0 + Decorate 123(g_tTexcdu4) DescriptorSet 0 + Decorate 126(g_tTex1df4a) DescriptorSet 0 + Decorate 129(g_tTex1di4a) DescriptorSet 0 + Decorate 132(g_tTex1du4a) DescriptorSet 0 + Decorate 135(g_tTex2df4a) DescriptorSet 0 + Decorate 138(g_tTex2di4a) DescriptorSet 0 + Decorate 141(g_tTex2du4a) DescriptorSet 0 + Decorate 144(g_tTexcdf4a) DescriptorSet 0 + Decorate 147(g_tTexcdi4a) DescriptorSet 0 + Decorate 150(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -406,51 +413,53 @@ gl_FragCoord origin is upper left 97: 91(fvec4) ConstantComposite 96 96 96 96 98: TypePointer Function 91(fvec4) 100: 22(int) Constant 1 - 104: TypeImage 6(float) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3df4): 105(ptr) Variable UniformConstant - 107: TypeImage 22(int) 3D sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTex3di4): 108(ptr) Variable UniformConstant - 110: TypeImage 38(int) 3D sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTex3du4): 111(ptr) Variable UniformConstant - 113: TypeImage 6(float) Cube sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTexcdf4): 114(ptr) Variable UniformConstant - 116: TypeImage 22(int) Cube sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTexcdi4): 117(ptr) Variable UniformConstant - 119: TypeImage 38(int) Cube sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTexcdu4): 120(ptr) Variable UniformConstant - 122: TypeImage 6(float) 1D array sampled format:Unknown - 123: TypePointer UniformConstant 122 -124(g_tTex1df4a): 123(ptr) Variable UniformConstant - 125: TypeImage 22(int) 1D array sampled format:Unknown - 126: TypePointer UniformConstant 125 -127(g_tTex1di4a): 126(ptr) Variable UniformConstant - 128: TypeImage 38(int) 1D array sampled format:Unknown - 129: TypePointer UniformConstant 128 -130(g_tTex1du4a): 129(ptr) Variable UniformConstant - 131: TypeImage 6(float) 2D array sampled format:Unknown - 132: TypePointer UniformConstant 131 -133(g_tTex2df4a): 132(ptr) Variable UniformConstant - 134: TypeImage 22(int) 2D array sampled format:Unknown - 135: TypePointer UniformConstant 134 -136(g_tTex2di4a): 135(ptr) Variable UniformConstant - 137: TypeImage 38(int) 2D array sampled format:Unknown - 138: TypePointer UniformConstant 137 -139(g_tTex2du4a): 138(ptr) Variable UniformConstant - 140: TypeImage 6(float) Cube array sampled format:Unknown - 141: TypePointer UniformConstant 140 -142(g_tTexcdf4a): 141(ptr) Variable UniformConstant - 143: TypeImage 22(int) Cube array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTexcdi4a): 144(ptr) Variable UniformConstant - 146: TypeImage 38(int) Cube array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTexcdu4a): 147(ptr) Variable UniformConstant + 102: TypePointer Output 92(PS_OUTPUT) +103(@entryPointOutput): 102(ptr) Variable Output + 106: TypeImage 6(float) 3D sampled format:Unknown + 107: TypePointer UniformConstant 106 + 108(g_tTex3df4): 107(ptr) Variable UniformConstant + 109: TypeImage 22(int) 3D sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTex3di4): 110(ptr) Variable UniformConstant + 112: TypeImage 38(int) 3D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex3du4): 113(ptr) Variable UniformConstant + 115: TypeImage 6(float) Cube sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117(g_tTexcdf4): 116(ptr) Variable UniformConstant + 118: TypeImage 22(int) Cube sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTexcdi4): 119(ptr) Variable UniformConstant + 121: TypeImage 38(int) Cube sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTexcdu4): 122(ptr) Variable UniformConstant + 124: TypeImage 6(float) 1D array sampled format:Unknown + 125: TypePointer UniformConstant 124 +126(g_tTex1df4a): 125(ptr) Variable UniformConstant + 127: TypeImage 22(int) 1D array sampled format:Unknown + 128: TypePointer UniformConstant 127 +129(g_tTex1di4a): 128(ptr) Variable UniformConstant + 130: TypeImage 38(int) 1D array sampled format:Unknown + 131: TypePointer UniformConstant 130 +132(g_tTex1du4a): 131(ptr) Variable UniformConstant + 133: TypeImage 6(float) 2D array sampled format:Unknown + 134: TypePointer UniformConstant 133 +135(g_tTex2df4a): 134(ptr) Variable UniformConstant + 136: TypeImage 22(int) 2D array sampled format:Unknown + 137: TypePointer UniformConstant 136 +138(g_tTex2di4a): 137(ptr) Variable UniformConstant + 139: TypeImage 38(int) 2D array sampled format:Unknown + 140: TypePointer UniformConstant 139 +141(g_tTex2du4a): 140(ptr) Variable UniformConstant + 142: TypeImage 6(float) Cube array sampled format:Unknown + 143: TypePointer UniformConstant 142 +144(g_tTexcdf4a): 143(ptr) Variable UniformConstant + 145: TypeImage 22(int) Cube array sampled format:Unknown + 146: TypePointer UniformConstant 145 +147(g_tTexcdi4a): 146(ptr) Variable UniformConstant + 148: TypeImage 38(int) Cube array sampled format:Unknown + 149: TypePointer UniformConstant 148 +150(g_tTexcdu4a): 149(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r01): 7(ptr) Variable Function @@ -503,6 +512,7 @@ gl_FragCoord origin is upper left Store 99 97 101: 7(ptr) AccessChain 94(psout) 100 Store 101 96 - 102:92(PS_OUTPUT) Load 94(psout) - ReturnValue 102 + 104:92(PS_OUTPUT) Load 94(psout) + Store 103(@entryPointOutput) 104 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 643cef46..c2cdb4d6 100644 --- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -118,8 +118,11 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Branch: Return with expression -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Sequence +0:66 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -267,8 +270,11 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Branch: Return with expression -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Sequence +0:66 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -295,14 +301,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 155 +// Id's are bound by 157 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 109 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r11" @@ -322,21 +328,22 @@ gl_FragCoord origin is upper left MemberName 98(PS_OUTPUT) 0 "Color" MemberName 98(PS_OUTPUT) 1 "Depth" Name 100 "psout" - Name 112 "g_tTex1df4" - Name 115 "g_tTex1di4" - Name 118 "g_tTex1du4" - Name 121 "g_tTex2df4" - Name 124 "g_tTex2di4" - Name 127 "g_tTex2du4" - Name 130 "g_tTex3df4" - Name 133 "g_tTex3di4" - Name 136 "g_tTex3du4" - Name 139 "g_tTexcdf4" - Name 142 "g_tTexcdi4" - Name 145 "g_tTexcdu4" - Name 148 "g_tTexcdf4a" - Name 151 "g_tTexcdi4a" - Name 154 "g_tTexcdu4a" + Name 109 "@entryPointOutput" + Name 114 "g_tTex1df4" + Name 117 "g_tTex1di4" + Name 120 "g_tTex1du4" + Name 123 "g_tTex2df4" + Name 126 "g_tTex2di4" + Name 129 "g_tTex2du4" + Name 132 "g_tTex3df4" + Name 135 "g_tTex3di4" + Name 138 "g_tTex3du4" + Name 141 "g_tTexcdf4" + Name 144 "g_tTexcdi4" + Name 147 "g_tTexcdu4" + Name 150 "g_tTexcdf4a" + Name 153 "g_tTexcdi4a" + Name 156 "g_tTexcdu4a" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 @@ -346,22 +353,22 @@ gl_FragCoord origin is upper left Decorate 76(g_tTex2di4a) DescriptorSet 0 Decorate 88(g_tTex2du4a) DescriptorSet 0 MemberDecorate 98(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 112(g_tTex1df4) DescriptorSet 0 - Decorate 112(g_tTex1df4) Binding 0 - Decorate 115(g_tTex1di4) DescriptorSet 0 - Decorate 118(g_tTex1du4) DescriptorSet 0 - Decorate 121(g_tTex2df4) DescriptorSet 0 - Decorate 124(g_tTex2di4) DescriptorSet 0 - Decorate 127(g_tTex2du4) DescriptorSet 0 - Decorate 130(g_tTex3df4) DescriptorSet 0 - Decorate 133(g_tTex3di4) DescriptorSet 0 - Decorate 136(g_tTex3du4) DescriptorSet 0 - Decorate 139(g_tTexcdf4) DescriptorSet 0 - Decorate 142(g_tTexcdi4) DescriptorSet 0 - Decorate 145(g_tTexcdu4) DescriptorSet 0 - Decorate 148(g_tTexcdf4a) DescriptorSet 0 - Decorate 151(g_tTexcdi4a) DescriptorSet 0 - Decorate 154(g_tTexcdu4a) DescriptorSet 0 + Decorate 114(g_tTex1df4) DescriptorSet 0 + Decorate 114(g_tTex1df4) Binding 0 + Decorate 117(g_tTex1di4) DescriptorSet 0 + Decorate 120(g_tTex1du4) DescriptorSet 0 + Decorate 123(g_tTex2df4) DescriptorSet 0 + Decorate 126(g_tTex2di4) DescriptorSet 0 + Decorate 129(g_tTex2du4) DescriptorSet 0 + Decorate 132(g_tTex3df4) DescriptorSet 0 + Decorate 135(g_tTex3di4) DescriptorSet 0 + Decorate 138(g_tTex3du4) DescriptorSet 0 + Decorate 141(g_tTexcdf4) DescriptorSet 0 + Decorate 144(g_tTexcdi4) DescriptorSet 0 + Decorate 147(g_tTexcdu4) DescriptorSet 0 + Decorate 150(g_tTexcdf4a) DescriptorSet 0 + Decorate 153(g_tTexcdi4a) DescriptorSet 0 + Decorate 156(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -421,51 +428,53 @@ gl_FragCoord origin is upper left 103: 97(fvec4) ConstantComposite 102 102 102 102 104: TypePointer Function 97(fvec4) 106: 26(int) Constant 1 - 110: TypeImage 6(float) 1D sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTex1df4): 111(ptr) Variable UniformConstant - 113: TypeImage 26(int) 1D sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTex1di4): 114(ptr) Variable UniformConstant - 116: TypeImage 43(int) 1D sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTex1du4): 117(ptr) Variable UniformConstant - 119: TypeImage 6(float) 2D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex2df4): 120(ptr) Variable UniformConstant - 122: TypeImage 26(int) 2D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex2di4): 123(ptr) Variable UniformConstant - 125: TypeImage 43(int) 2D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex2du4): 126(ptr) Variable UniformConstant - 128: TypeImage 6(float) 3D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex3df4): 129(ptr) Variable UniformConstant - 131: TypeImage 26(int) 3D sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTex3di4): 132(ptr) Variable UniformConstant - 134: TypeImage 43(int) 3D sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTex3du4): 135(ptr) Variable UniformConstant - 137: TypeImage 6(float) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdf4): 138(ptr) Variable UniformConstant - 140: TypeImage 26(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdi4): 141(ptr) Variable UniformConstant - 143: TypeImage 43(int) Cube sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTexcdu4): 144(ptr) Variable UniformConstant - 146: TypeImage 6(float) Cube array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTexcdf4a): 147(ptr) Variable UniformConstant - 149: TypeImage 26(int) Cube array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTexcdi4a): 150(ptr) Variable UniformConstant - 152: TypeImage 43(int) Cube array sampled format:Unknown - 153: TypePointer UniformConstant 152 -154(g_tTexcdu4a): 153(ptr) Variable UniformConstant + 108: TypePointer Output 98(PS_OUTPUT) +109(@entryPointOutput): 108(ptr) Variable Output + 112: TypeImage 6(float) 1D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex1df4): 113(ptr) Variable UniformConstant + 115: TypeImage 26(int) 1D sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117(g_tTex1di4): 116(ptr) Variable UniformConstant + 118: TypeImage 43(int) 1D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex1du4): 119(ptr) Variable UniformConstant + 121: TypeImage 6(float) 2D sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTex2df4): 122(ptr) Variable UniformConstant + 124: TypeImage 26(int) 2D sampled format:Unknown + 125: TypePointer UniformConstant 124 + 126(g_tTex2di4): 125(ptr) Variable UniformConstant + 127: TypeImage 43(int) 2D sampled format:Unknown + 128: TypePointer UniformConstant 127 + 129(g_tTex2du4): 128(ptr) Variable UniformConstant + 130: TypeImage 6(float) 3D sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTex3df4): 131(ptr) Variable UniformConstant + 133: TypeImage 26(int) 3D sampled format:Unknown + 134: TypePointer UniformConstant 133 + 135(g_tTex3di4): 134(ptr) Variable UniformConstant + 136: TypeImage 43(int) 3D sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTex3du4): 137(ptr) Variable UniformConstant + 139: TypeImage 6(float) Cube sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTexcdf4): 140(ptr) Variable UniformConstant + 142: TypeImage 26(int) Cube sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTexcdi4): 143(ptr) Variable UniformConstant + 145: TypeImage 43(int) Cube sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTexcdu4): 146(ptr) Variable UniformConstant + 148: TypeImage 6(float) Cube array sampled format:Unknown + 149: TypePointer UniformConstant 148 +150(g_tTexcdf4a): 149(ptr) Variable UniformConstant + 151: TypeImage 26(int) Cube array sampled format:Unknown + 152: TypePointer UniformConstant 151 +153(g_tTexcdi4a): 152(ptr) Variable UniformConstant + 154: TypeImage 43(int) Cube array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTexcdu4a): 155(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r11): 7(ptr) Variable Function @@ -521,6 +530,7 @@ gl_FragCoord origin is upper left Store 105 103 107: 7(ptr) AccessChain 100(psout) 106 Store 107 102 - 108:98(PS_OUTPUT) Load 100(psout) - ReturnValue 108 + 110:98(PS_OUTPUT) Load 100(psout) + Store 109(@entryPointOutput) 110 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index a17e9743..5a7b7409 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -166,8 +166,11 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Branch: Return with expression -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Sequence +0:59 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -363,8 +366,11 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Branch: Return with expression -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Sequence +0:59 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:59 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -391,14 +397,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 178 +// Id's are bound by 180 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 141 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r10" @@ -424,18 +430,19 @@ gl_FragCoord origin is upper left MemberName 130(PS_OUTPUT) 0 "Color" MemberName 130(PS_OUTPUT) 1 "Depth" Name 132 "psout" - Name 144 "g_tTex1df4" - Name 147 "g_tTex1di4" - Name 150 "g_tTex1du4" - Name 153 "g_tTex2df4" - Name 156 "g_tTex2di4" - Name 159 "g_tTex2du4" - Name 162 "g_tTex3df4" - Name 165 "g_tTex3di4" - Name 168 "g_tTex3du4" - Name 171 "g_tTexcdf4" - Name 174 "g_tTexcdi4" - Name 177 "g_tTexcdu4" + Name 141 "@entryPointOutput" + Name 146 "g_tTex1df4" + Name 149 "g_tTex1di4" + Name 152 "g_tTex1du4" + Name 155 "g_tTex2df4" + Name 158 "g_tTex2di4" + Name 161 "g_tTex2du4" + Name 164 "g_tTex3df4" + Name 167 "g_tTex3di4" + Name 170 "g_tTex3du4" + Name 173 "g_tTexcdf4" + Name 176 "g_tTexcdi4" + Name 179 "g_tTexcdu4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 @@ -448,19 +455,19 @@ gl_FragCoord origin is upper left Decorate 111(g_tTexcdi4a) DescriptorSet 0 Decorate 122(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 130(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 144(g_tTex1df4) DescriptorSet 0 - Decorate 144(g_tTex1df4) Binding 0 - Decorate 147(g_tTex1di4) DescriptorSet 0 - Decorate 150(g_tTex1du4) DescriptorSet 0 - Decorate 153(g_tTex2df4) DescriptorSet 0 - Decorate 156(g_tTex2di4) DescriptorSet 0 - Decorate 159(g_tTex2du4) DescriptorSet 0 - Decorate 162(g_tTex3df4) DescriptorSet 0 - Decorate 165(g_tTex3di4) DescriptorSet 0 - Decorate 168(g_tTex3du4) DescriptorSet 0 - Decorate 171(g_tTexcdf4) DescriptorSet 0 - Decorate 174(g_tTexcdi4) DescriptorSet 0 - Decorate 177(g_tTexcdu4) DescriptorSet 0 + Decorate 146(g_tTex1df4) DescriptorSet 0 + Decorate 146(g_tTex1df4) Binding 0 + Decorate 149(g_tTex1di4) DescriptorSet 0 + Decorate 152(g_tTex1du4) DescriptorSet 0 + Decorate 155(g_tTex2df4) DescriptorSet 0 + Decorate 158(g_tTex2di4) DescriptorSet 0 + Decorate 161(g_tTex2du4) DescriptorSet 0 + Decorate 164(g_tTex3df4) DescriptorSet 0 + Decorate 167(g_tTex3di4) DescriptorSet 0 + Decorate 170(g_tTex3du4) DescriptorSet 0 + Decorate 173(g_tTexcdf4) DescriptorSet 0 + Decorate 176(g_tTexcdi4) DescriptorSet 0 + Decorate 179(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -534,42 +541,44 @@ gl_FragCoord origin is upper left 135: 103(fvec4) ConstantComposite 134 134 134 134 136: TypePointer Function 103(fvec4) 138: 30(int) Constant 1 - 142: TypeImage 6(float) 1D sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTex1df4): 143(ptr) Variable UniformConstant - 145: TypeImage 30(int) 1D sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTex1di4): 146(ptr) Variable UniformConstant - 148: TypeImage 43(int) 1D sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTex1du4): 149(ptr) Variable UniformConstant - 151: TypeImage 6(float) 2D sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTex2df4): 152(ptr) Variable UniformConstant - 154: TypeImage 30(int) 2D sampled format:Unknown - 155: TypePointer UniformConstant 154 - 156(g_tTex2di4): 155(ptr) Variable UniformConstant - 157: TypeImage 43(int) 2D sampled format:Unknown - 158: TypePointer UniformConstant 157 - 159(g_tTex2du4): 158(ptr) Variable UniformConstant - 160: TypeImage 6(float) 3D sampled format:Unknown - 161: TypePointer UniformConstant 160 - 162(g_tTex3df4): 161(ptr) Variable UniformConstant - 163: TypeImage 30(int) 3D sampled format:Unknown - 164: TypePointer UniformConstant 163 - 165(g_tTex3di4): 164(ptr) Variable UniformConstant - 166: TypeImage 43(int) 3D sampled format:Unknown - 167: TypePointer UniformConstant 166 - 168(g_tTex3du4): 167(ptr) Variable UniformConstant - 169: TypeImage 6(float) Cube sampled format:Unknown - 170: TypePointer UniformConstant 169 - 171(g_tTexcdf4): 170(ptr) Variable UniformConstant - 172: TypeImage 30(int) Cube sampled format:Unknown - 173: TypePointer UniformConstant 172 - 174(g_tTexcdi4): 173(ptr) Variable UniformConstant - 175: TypeImage 43(int) Cube sampled format:Unknown - 176: TypePointer UniformConstant 175 - 177(g_tTexcdu4): 176(ptr) Variable UniformConstant + 140: TypePointer Output 130(PS_OUTPUT) +141(@entryPointOutput): 140(ptr) Variable Output + 144: TypeImage 6(float) 1D sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTex1df4): 145(ptr) Variable UniformConstant + 147: TypeImage 30(int) 1D sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTex1di4): 148(ptr) Variable UniformConstant + 150: TypeImage 43(int) 1D sampled format:Unknown + 151: TypePointer UniformConstant 150 + 152(g_tTex1du4): 151(ptr) Variable UniformConstant + 153: TypeImage 6(float) 2D sampled format:Unknown + 154: TypePointer UniformConstant 153 + 155(g_tTex2df4): 154(ptr) Variable UniformConstant + 156: TypeImage 30(int) 2D sampled format:Unknown + 157: TypePointer UniformConstant 156 + 158(g_tTex2di4): 157(ptr) Variable UniformConstant + 159: TypeImage 43(int) 2D sampled format:Unknown + 160: TypePointer UniformConstant 159 + 161(g_tTex2du4): 160(ptr) Variable UniformConstant + 162: TypeImage 6(float) 3D sampled format:Unknown + 163: TypePointer UniformConstant 162 + 164(g_tTex3df4): 163(ptr) Variable UniformConstant + 165: TypeImage 30(int) 3D sampled format:Unknown + 166: TypePointer UniformConstant 165 + 167(g_tTex3di4): 166(ptr) Variable UniformConstant + 168: TypeImage 43(int) 3D sampled format:Unknown + 169: TypePointer UniformConstant 168 + 170(g_tTex3du4): 169(ptr) Variable UniformConstant + 171: TypeImage 6(float) Cube sampled format:Unknown + 172: TypePointer UniformConstant 171 + 173(g_tTexcdf4): 172(ptr) Variable UniformConstant + 174: TypeImage 30(int) Cube sampled format:Unknown + 175: TypePointer UniformConstant 174 + 176(g_tTexcdi4): 175(ptr) Variable UniformConstant + 177: TypeImage 43(int) Cube sampled format:Unknown + 178: TypePointer UniformConstant 177 + 179(g_tTexcdu4): 178(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r10): 7(ptr) Variable Function @@ -646,6 +655,7 @@ gl_FragCoord origin is upper left Store 137 135 139: 7(ptr) AccessChain 132(psout) 138 Store 139 134 - 140:130(PS_OUTPUT) Load 132(psout) - ReturnValue 140 + 142:130(PS_OUTPUT) Load 132(psout) + Store 141(@entryPointOutput) 142 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index 4d9f8369..ba84224d 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -157,8 +157,11 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Branch: Return with expression -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Sequence +0:60 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -345,8 +348,11 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Branch: Return with expression -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Sequence +0:60 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:60 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -373,14 +379,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 176 +// Id's are bound by 178 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 139 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r00" @@ -406,18 +412,19 @@ gl_FragCoord origin is upper left MemberName 128(PS_OUTPUT) 0 "Color" MemberName 128(PS_OUTPUT) 1 "Depth" Name 130 "psout" - Name 142 "g_tTex3df4" - Name 145 "g_tTex3di4" - Name 148 "g_tTex3du4" - Name 151 "g_tTex1df4a" - Name 154 "g_tTex1di4a" - Name 157 "g_tTex1du4a" - Name 160 "g_tTex2df4a" - Name 163 "g_tTex2di4a" - Name 166 "g_tTex2du4a" - Name 169 "g_tTexcdf4a" - Name 172 "g_tTexcdi4a" - Name 175 "g_tTexcdu4a" + Name 139 "@entryPointOutput" + Name 144 "g_tTex3df4" + Name 147 "g_tTex3di4" + Name 150 "g_tTex3du4" + Name 153 "g_tTex1df4a" + Name 156 "g_tTex1di4a" + Name 159 "g_tTex1du4a" + Name 162 "g_tTex2df4a" + Name 165 "g_tTex2di4a" + Name 168 "g_tTex2du4a" + Name 171 "g_tTexcdf4a" + Name 174 "g_tTexcdi4a" + Name 177 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 @@ -431,18 +438,18 @@ gl_FragCoord origin is upper left Decorate 106(g_tTexcdi4) DescriptorSet 0 Decorate 118(g_tTexcdu4) DescriptorSet 0 MemberDecorate 128(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 142(g_tTex3df4) DescriptorSet 0 - Decorate 145(g_tTex3di4) DescriptorSet 0 - Decorate 148(g_tTex3du4) DescriptorSet 0 - Decorate 151(g_tTex1df4a) DescriptorSet 0 - Decorate 154(g_tTex1di4a) DescriptorSet 0 - Decorate 157(g_tTex1du4a) DescriptorSet 0 - Decorate 160(g_tTex2df4a) DescriptorSet 0 - Decorate 163(g_tTex2di4a) DescriptorSet 0 - Decorate 166(g_tTex2du4a) DescriptorSet 0 - Decorate 169(g_tTexcdf4a) DescriptorSet 0 - Decorate 172(g_tTexcdi4a) DescriptorSet 0 - Decorate 175(g_tTexcdu4a) DescriptorSet 0 + Decorate 144(g_tTex3df4) DescriptorSet 0 + Decorate 147(g_tTex3di4) DescriptorSet 0 + Decorate 150(g_tTex3du4) DescriptorSet 0 + Decorate 153(g_tTex1df4a) DescriptorSet 0 + Decorate 156(g_tTex1di4a) DescriptorSet 0 + Decorate 159(g_tTex1du4a) DescriptorSet 0 + Decorate 162(g_tTex2df4a) DescriptorSet 0 + Decorate 165(g_tTex2di4a) DescriptorSet 0 + Decorate 168(g_tTex2du4a) DescriptorSet 0 + Decorate 171(g_tTexcdf4a) DescriptorSet 0 + Decorate 174(g_tTexcdi4a) DescriptorSet 0 + Decorate 177(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -514,42 +521,44 @@ gl_FragCoord origin is upper left 133: 127(fvec4) ConstantComposite 132 132 132 132 134: TypePointer Function 127(fvec4) 136: 26(int) Constant 1 - 140: TypeImage 6(float) 3D sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTex3df4): 141(ptr) Variable UniformConstant - 143: TypeImage 26(int) 3D sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTex3di4): 144(ptr) Variable UniformConstant - 146: TypeImage 38(int) 3D sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTex3du4): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) 1D array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTex1df4a): 150(ptr) Variable UniformConstant - 152: TypeImage 26(int) 1D array sampled format:Unknown - 153: TypePointer UniformConstant 152 -154(g_tTex1di4a): 153(ptr) Variable UniformConstant - 155: TypeImage 38(int) 1D array sampled format:Unknown - 156: TypePointer UniformConstant 155 -157(g_tTex1du4a): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) 2D array sampled format:Unknown - 159: TypePointer UniformConstant 158 -160(g_tTex2df4a): 159(ptr) Variable UniformConstant - 161: TypeImage 26(int) 2D array sampled format:Unknown - 162: TypePointer UniformConstant 161 -163(g_tTex2di4a): 162(ptr) Variable UniformConstant - 164: TypeImage 38(int) 2D array sampled format:Unknown - 165: TypePointer UniformConstant 164 -166(g_tTex2du4a): 165(ptr) Variable UniformConstant - 167: TypeImage 6(float) Cube array sampled format:Unknown - 168: TypePointer UniformConstant 167 -169(g_tTexcdf4a): 168(ptr) Variable UniformConstant - 170: TypeImage 26(int) Cube array sampled format:Unknown - 171: TypePointer UniformConstant 170 -172(g_tTexcdi4a): 171(ptr) Variable UniformConstant - 173: TypeImage 38(int) Cube array sampled format:Unknown - 174: TypePointer UniformConstant 173 -175(g_tTexcdu4a): 174(ptr) Variable UniformConstant + 138: TypePointer Output 128(PS_OUTPUT) +139(@entryPointOutput): 138(ptr) Variable Output + 142: TypeImage 6(float) 3D sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTex3df4): 143(ptr) Variable UniformConstant + 145: TypeImage 26(int) 3D sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTex3di4): 146(ptr) Variable UniformConstant + 148: TypeImage 38(int) 3D sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTex3du4): 149(ptr) Variable UniformConstant + 151: TypeImage 6(float) 1D array sampled format:Unknown + 152: TypePointer UniformConstant 151 +153(g_tTex1df4a): 152(ptr) Variable UniformConstant + 154: TypeImage 26(int) 1D array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTex1di4a): 155(ptr) Variable UniformConstant + 157: TypeImage 38(int) 1D array sampled format:Unknown + 158: TypePointer UniformConstant 157 +159(g_tTex1du4a): 158(ptr) Variable UniformConstant + 160: TypeImage 6(float) 2D array sampled format:Unknown + 161: TypePointer UniformConstant 160 +162(g_tTex2df4a): 161(ptr) Variable UniformConstant + 163: TypeImage 26(int) 2D array sampled format:Unknown + 164: TypePointer UniformConstant 163 +165(g_tTex2di4a): 164(ptr) Variable UniformConstant + 166: TypeImage 38(int) 2D array sampled format:Unknown + 167: TypePointer UniformConstant 166 +168(g_tTex2du4a): 167(ptr) Variable UniformConstant + 169: TypeImage 6(float) Cube array sampled format:Unknown + 170: TypePointer UniformConstant 169 +171(g_tTexcdf4a): 170(ptr) Variable UniformConstant + 172: TypeImage 26(int) Cube array sampled format:Unknown + 173: TypePointer UniformConstant 172 +174(g_tTexcdi4a): 173(ptr) Variable UniformConstant + 175: TypeImage 38(int) Cube array sampled format:Unknown + 176: TypePointer UniformConstant 175 +177(g_tTexcdu4a): 176(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function @@ -626,6 +635,7 @@ gl_FragCoord origin is upper left Store 135 133 137: 7(ptr) AccessChain 130(psout) 136 Store 137 132 - 138:128(PS_OUTPUT) Load 130(psout) - ReturnValue 138 + 140:128(PS_OUTPUT) Load 130(psout) + Store 139(@entryPointOutput) 140 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index f4072068..9bed7964 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -124,8 +124,11 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Branch: Return with expression -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Sequence +0:65 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -279,8 +282,11 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Branch: Return with expression -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Sequence +0:65 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:65 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -307,14 +313,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 150 +// Id's are bound by 152 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 104 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r01" @@ -334,21 +340,22 @@ gl_FragCoord origin is upper left MemberName 93(PS_OUTPUT) 0 "Color" MemberName 93(PS_OUTPUT) 1 "Depth" Name 95 "psout" - Name 107 "g_tTex3df4" - Name 110 "g_tTex3di4" - Name 113 "g_tTex3du4" - Name 116 "g_tTexcdf4" - Name 119 "g_tTexcdi4" - Name 122 "g_tTexcdu4" - Name 125 "g_tTex1df4a" - Name 128 "g_tTex1di4a" - Name 131 "g_tTex1du4a" - Name 134 "g_tTex2df4a" - Name 137 "g_tTex2di4a" - Name 140 "g_tTex2du4a" - Name 143 "g_tTexcdf4a" - Name 146 "g_tTexcdi4a" - Name 149 "g_tTexcdu4a" + Name 104 "@entryPointOutput" + Name 109 "g_tTex3df4" + Name 112 "g_tTex3di4" + Name 115 "g_tTex3du4" + Name 118 "g_tTexcdf4" + Name 121 "g_tTexcdi4" + Name 124 "g_tTexcdu4" + Name 127 "g_tTex1df4a" + Name 130 "g_tTex1di4a" + Name 133 "g_tTex1du4a" + Name 136 "g_tTex2df4a" + Name 139 "g_tTex2di4a" + Name 142 "g_tTex2du4a" + Name 145 "g_tTexcdf4a" + Name 148 "g_tTexcdi4a" + Name 151 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 @@ -359,21 +366,21 @@ gl_FragCoord origin is upper left Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) DescriptorSet 0 MemberDecorate 93(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 107(g_tTex3df4) DescriptorSet 0 - Decorate 110(g_tTex3di4) DescriptorSet 0 - Decorate 113(g_tTex3du4) DescriptorSet 0 - Decorate 116(g_tTexcdf4) DescriptorSet 0 - Decorate 119(g_tTexcdi4) DescriptorSet 0 - Decorate 122(g_tTexcdu4) DescriptorSet 0 - Decorate 125(g_tTex1df4a) DescriptorSet 0 - Decorate 128(g_tTex1di4a) DescriptorSet 0 - Decorate 131(g_tTex1du4a) DescriptorSet 0 - Decorate 134(g_tTex2df4a) DescriptorSet 0 - Decorate 137(g_tTex2di4a) DescriptorSet 0 - Decorate 140(g_tTex2du4a) DescriptorSet 0 - Decorate 143(g_tTexcdf4a) DescriptorSet 0 - Decorate 146(g_tTexcdi4a) DescriptorSet 0 - Decorate 149(g_tTexcdu4a) DescriptorSet 0 + Decorate 109(g_tTex3df4) DescriptorSet 0 + Decorate 112(g_tTex3di4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 118(g_tTexcdf4) DescriptorSet 0 + Decorate 121(g_tTexcdi4) DescriptorSet 0 + Decorate 124(g_tTexcdu4) DescriptorSet 0 + Decorate 127(g_tTex1df4a) DescriptorSet 0 + Decorate 130(g_tTex1di4a) DescriptorSet 0 + Decorate 133(g_tTex1du4a) DescriptorSet 0 + Decorate 136(g_tTex2df4a) DescriptorSet 0 + Decorate 139(g_tTex2di4a) DescriptorSet 0 + Decorate 142(g_tTex2du4a) DescriptorSet 0 + Decorate 145(g_tTexcdf4a) DescriptorSet 0 + Decorate 148(g_tTexcdi4a) DescriptorSet 0 + Decorate 151(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -431,51 +438,53 @@ gl_FragCoord origin is upper left 98: 92(fvec4) ConstantComposite 97 97 97 97 99: TypePointer Function 92(fvec4) 101: 23(int) Constant 1 - 105: TypeImage 6(float) 3D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex3df4): 106(ptr) Variable UniformConstant - 108: TypeImage 23(int) 3D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex3di4): 109(ptr) Variable UniformConstant - 111: TypeImage 39(int) 3D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex3du4): 112(ptr) Variable UniformConstant - 114: TypeImage 6(float) Cube sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTexcdf4): 115(ptr) Variable UniformConstant - 117: TypeImage 23(int) Cube sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTexcdi4): 118(ptr) Variable UniformConstant - 120: TypeImage 39(int) Cube sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTexcdu4): 121(ptr) Variable UniformConstant - 123: TypeImage 6(float) 1D array sampled format:Unknown - 124: TypePointer UniformConstant 123 -125(g_tTex1df4a): 124(ptr) Variable UniformConstant - 126: TypeImage 23(int) 1D array sampled format:Unknown - 127: TypePointer UniformConstant 126 -128(g_tTex1di4a): 127(ptr) Variable UniformConstant - 129: TypeImage 39(int) 1D array sampled format:Unknown - 130: TypePointer UniformConstant 129 -131(g_tTex1du4a): 130(ptr) Variable UniformConstant - 132: TypeImage 6(float) 2D array sampled format:Unknown - 133: TypePointer UniformConstant 132 -134(g_tTex2df4a): 133(ptr) Variable UniformConstant - 135: TypeImage 23(int) 2D array sampled format:Unknown - 136: TypePointer UniformConstant 135 -137(g_tTex2di4a): 136(ptr) Variable UniformConstant - 138: TypeImage 39(int) 2D array sampled format:Unknown - 139: TypePointer UniformConstant 138 -140(g_tTex2du4a): 139(ptr) Variable UniformConstant - 141: TypeImage 6(float) Cube array sampled format:Unknown - 142: TypePointer UniformConstant 141 -143(g_tTexcdf4a): 142(ptr) Variable UniformConstant - 144: TypeImage 23(int) Cube array sampled format:Unknown - 145: TypePointer UniformConstant 144 -146(g_tTexcdi4a): 145(ptr) Variable UniformConstant - 147: TypeImage 39(int) Cube array sampled format:Unknown - 148: TypePointer UniformConstant 147 -149(g_tTexcdu4a): 148(ptr) Variable UniformConstant + 103: TypePointer Output 93(PS_OUTPUT) +104(@entryPointOutput): 103(ptr) Variable Output + 107: TypeImage 6(float) 3D sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTex3df4): 108(ptr) Variable UniformConstant + 110: TypeImage 23(int) 3D sampled format:Unknown + 111: TypePointer UniformConstant 110 + 112(g_tTex3di4): 111(ptr) Variable UniformConstant + 113: TypeImage 39(int) 3D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex3du4): 114(ptr) Variable UniformConstant + 116: TypeImage 6(float) Cube sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTexcdf4): 117(ptr) Variable UniformConstant + 119: TypeImage 23(int) Cube sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTexcdi4): 120(ptr) Variable UniformConstant + 122: TypeImage 39(int) Cube sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTexcdu4): 123(ptr) Variable UniformConstant + 125: TypeImage 6(float) 1D array sampled format:Unknown + 126: TypePointer UniformConstant 125 +127(g_tTex1df4a): 126(ptr) Variable UniformConstant + 128: TypeImage 23(int) 1D array sampled format:Unknown + 129: TypePointer UniformConstant 128 +130(g_tTex1di4a): 129(ptr) Variable UniformConstant + 131: TypeImage 39(int) 1D array sampled format:Unknown + 132: TypePointer UniformConstant 131 +133(g_tTex1du4a): 132(ptr) Variable UniformConstant + 134: TypeImage 6(float) 2D array sampled format:Unknown + 135: TypePointer UniformConstant 134 +136(g_tTex2df4a): 135(ptr) Variable UniformConstant + 137: TypeImage 23(int) 2D array sampled format:Unknown + 138: TypePointer UniformConstant 137 +139(g_tTex2di4a): 138(ptr) Variable UniformConstant + 140: TypeImage 39(int) 2D array sampled format:Unknown + 141: TypePointer UniformConstant 140 +142(g_tTex2du4a): 141(ptr) Variable UniformConstant + 143: TypeImage 6(float) Cube array sampled format:Unknown + 144: TypePointer UniformConstant 143 +145(g_tTexcdf4a): 144(ptr) Variable UniformConstant + 146: TypeImage 23(int) Cube array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTexcdi4a): 147(ptr) Variable UniformConstant + 149: TypeImage 39(int) Cube array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTexcdu4a): 150(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r01): 7(ptr) Variable Function @@ -528,6 +537,7 @@ gl_FragCoord origin is upper left Store 100 98 102: 7(ptr) AccessChain 95(psout) 101 Store 102 97 - 103:93(PS_OUTPUT) Load 95(psout) - ReturnValue 103 + 105:93(PS_OUTPUT) Load 95(psout) + Store 104(@entryPointOutput) 105 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 81048321..b2dcaecc 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -130,8 +130,11 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Branch: Return with expression -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Sequence +0:66 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -291,8 +294,11 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Branch: Return with expression -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Sequence +0:66 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:66 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -319,14 +325,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 156 +// Id's are bound by 158 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 110 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r11" @@ -346,21 +352,22 @@ gl_FragCoord origin is upper left MemberName 99(PS_OUTPUT) 0 "Color" MemberName 99(PS_OUTPUT) 1 "Depth" Name 101 "psout" - Name 113 "g_tTex1df4" - Name 116 "g_tTex1di4" - Name 119 "g_tTex1du4" - Name 122 "g_tTex2df4" - Name 125 "g_tTex2di4" - Name 128 "g_tTex2du4" - Name 131 "g_tTex3df4" - Name 134 "g_tTex3di4" - Name 137 "g_tTex3du4" - Name 140 "g_tTexcdf4" - Name 143 "g_tTexcdi4" - Name 146 "g_tTexcdu4" - Name 149 "g_tTexcdf4a" - Name 152 "g_tTexcdi4a" - Name 155 "g_tTexcdu4a" + Name 110 "@entryPointOutput" + Name 115 "g_tTex1df4" + Name 118 "g_tTex1di4" + Name 121 "g_tTex1du4" + Name 124 "g_tTex2df4" + Name 127 "g_tTex2di4" + Name 130 "g_tTex2du4" + Name 133 "g_tTex3df4" + Name 136 "g_tTex3di4" + Name 139 "g_tTex3du4" + Name 142 "g_tTexcdf4" + Name 145 "g_tTexcdi4" + Name 148 "g_tTexcdu4" + Name 151 "g_tTexcdf4a" + Name 154 "g_tTexcdi4a" + Name 157 "g_tTexcdu4a" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 @@ -370,22 +377,22 @@ gl_FragCoord origin is upper left Decorate 77(g_tTex2di4a) DescriptorSet 0 Decorate 89(g_tTex2du4a) DescriptorSet 0 MemberDecorate 99(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 113(g_tTex1df4) DescriptorSet 0 - Decorate 113(g_tTex1df4) Binding 0 - Decorate 116(g_tTex1di4) DescriptorSet 0 - Decorate 119(g_tTex1du4) DescriptorSet 0 - Decorate 122(g_tTex2df4) DescriptorSet 0 - Decorate 125(g_tTex2di4) DescriptorSet 0 - Decorate 128(g_tTex2du4) DescriptorSet 0 - Decorate 131(g_tTex3df4) DescriptorSet 0 - Decorate 134(g_tTex3di4) DescriptorSet 0 - Decorate 137(g_tTex3du4) DescriptorSet 0 - Decorate 140(g_tTexcdf4) DescriptorSet 0 - Decorate 143(g_tTexcdi4) DescriptorSet 0 - Decorate 146(g_tTexcdu4) DescriptorSet 0 - Decorate 149(g_tTexcdf4a) DescriptorSet 0 - Decorate 152(g_tTexcdi4a) DescriptorSet 0 - Decorate 155(g_tTexcdu4a) DescriptorSet 0 + Decorate 115(g_tTex1df4) DescriptorSet 0 + Decorate 115(g_tTex1df4) Binding 0 + Decorate 118(g_tTex1di4) DescriptorSet 0 + Decorate 121(g_tTex1du4) DescriptorSet 0 + Decorate 124(g_tTex2df4) DescriptorSet 0 + Decorate 127(g_tTex2di4) DescriptorSet 0 + Decorate 130(g_tTex2du4) DescriptorSet 0 + Decorate 133(g_tTex3df4) DescriptorSet 0 + Decorate 136(g_tTex3di4) DescriptorSet 0 + Decorate 139(g_tTex3du4) DescriptorSet 0 + Decorate 142(g_tTexcdf4) DescriptorSet 0 + Decorate 145(g_tTexcdi4) DescriptorSet 0 + Decorate 148(g_tTexcdu4) DescriptorSet 0 + Decorate 151(g_tTexcdf4a) DescriptorSet 0 + Decorate 154(g_tTexcdi4a) DescriptorSet 0 + Decorate 157(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -446,51 +453,53 @@ gl_FragCoord origin is upper left 104: 98(fvec4) ConstantComposite 103 103 103 103 105: TypePointer Function 98(fvec4) 107: 27(int) Constant 1 - 111: TypeImage 6(float) 1D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex1df4): 112(ptr) Variable UniformConstant - 114: TypeImage 27(int) 1D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex1di4): 115(ptr) Variable UniformConstant - 117: TypeImage 44(int) 1D sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTex1du4): 118(ptr) Variable UniformConstant - 120: TypeImage 6(float) 2D sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTex2df4): 121(ptr) Variable UniformConstant - 123: TypeImage 27(int) 2D sampled format:Unknown - 124: TypePointer UniformConstant 123 - 125(g_tTex2di4): 124(ptr) Variable UniformConstant - 126: TypeImage 44(int) 2D sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTex2du4): 127(ptr) Variable UniformConstant - 129: TypeImage 6(float) 3D sampled format:Unknown - 130: TypePointer UniformConstant 129 - 131(g_tTex3df4): 130(ptr) Variable UniformConstant - 132: TypeImage 27(int) 3D sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134(g_tTex3di4): 133(ptr) Variable UniformConstant - 135: TypeImage 44(int) 3D sampled format:Unknown - 136: TypePointer UniformConstant 135 - 137(g_tTex3du4): 136(ptr) Variable UniformConstant - 138: TypeImage 6(float) Cube sampled format:Unknown - 139: TypePointer UniformConstant 138 - 140(g_tTexcdf4): 139(ptr) Variable UniformConstant - 141: TypeImage 27(int) Cube sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTexcdi4): 142(ptr) Variable UniformConstant - 144: TypeImage 44(int) Cube sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTexcdu4): 145(ptr) Variable UniformConstant - 147: TypeImage 6(float) Cube array sampled format:Unknown - 148: TypePointer UniformConstant 147 -149(g_tTexcdf4a): 148(ptr) Variable UniformConstant - 150: TypeImage 27(int) Cube array sampled format:Unknown - 151: TypePointer UniformConstant 150 -152(g_tTexcdi4a): 151(ptr) Variable UniformConstant - 153: TypeImage 44(int) Cube array sampled format:Unknown - 154: TypePointer UniformConstant 153 -155(g_tTexcdu4a): 154(ptr) Variable UniformConstant + 109: TypePointer Output 99(PS_OUTPUT) +110(@entryPointOutput): 109(ptr) Variable Output + 113: TypeImage 6(float) 1D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex1df4): 114(ptr) Variable UniformConstant + 116: TypeImage 27(int) 1D sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTex1di4): 117(ptr) Variable UniformConstant + 119: TypeImage 44(int) 1D sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTex1du4): 120(ptr) Variable UniformConstant + 122: TypeImage 6(float) 2D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex2df4): 123(ptr) Variable UniformConstant + 125: TypeImage 27(int) 2D sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTex2di4): 126(ptr) Variable UniformConstant + 128: TypeImage 44(int) 2D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex2du4): 129(ptr) Variable UniformConstant + 131: TypeImage 6(float) 3D sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTex3df4): 132(ptr) Variable UniformConstant + 134: TypeImage 27(int) 3D sampled format:Unknown + 135: TypePointer UniformConstant 134 + 136(g_tTex3di4): 135(ptr) Variable UniformConstant + 137: TypeImage 44(int) 3D sampled format:Unknown + 138: TypePointer UniformConstant 137 + 139(g_tTex3du4): 138(ptr) Variable UniformConstant + 140: TypeImage 6(float) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdf4): 141(ptr) Variable UniformConstant + 143: TypeImage 27(int) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdi4): 144(ptr) Variable UniformConstant + 146: TypeImage 44(int) Cube sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTexcdu4): 147(ptr) Variable UniformConstant + 149: TypeImage 6(float) Cube array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTexcdf4a): 150(ptr) Variable UniformConstant + 152: TypeImage 27(int) Cube array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTexcdi4a): 153(ptr) Variable UniformConstant + 155: TypeImage 44(int) Cube array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTexcdu4a): 156(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r11): 7(ptr) Variable Function @@ -546,6 +555,7 @@ gl_FragCoord origin is upper left Store 106 104 108: 7(ptr) AccessChain 101(psout) 107 Store 108 103 - 109:99(PS_OUTPUT) Load 101(psout) - ReturnValue 109 + 111:99(PS_OUTPUT) Load 101(psout) + Store 110(@entryPointOutput) 111 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index 375dfb96..f42074b8 100644 --- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -175,8 +175,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -370,8 +373,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -387,14 +393,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 126 +// Id's are bound by 128 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 124 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -420,7 +426,8 @@ gl_FragCoord origin is upper left MemberName 113(PS_OUTPUT) 0 "Color" MemberName 113(PS_OUTPUT) 1 "Depth" Name 115 "psout" - Name 125 "g_tTex1df4a" + Name 124 "@entryPointOutput" + Name 127 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -434,8 +441,8 @@ gl_FragCoord origin is upper left Decorate 98(g_tTexcdi4) DescriptorSet 0 Decorate 107(g_tTexcdu4) DescriptorSet 0 MemberDecorate 113(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 125(g_tTex1df4a) DescriptorSet 0 - Decorate 125(g_tTex1df4a) Binding 1 + Decorate 127(g_tTex1df4a) DescriptorSet 0 + Decorate 127(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -507,7 +514,9 @@ gl_FragCoord origin is upper left 118: 7(fvec4) ConstantComposite 117 117 117 117 120: 27(int) Constant 1 121: TypePointer Function 6(float) -125(g_tTex1df4a): 11(ptr) Variable UniformConstant + 123: TypePointer Output 113(PS_OUTPUT) +124(@entryPointOutput): 123(ptr) Variable Output +127(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -569,6 +578,7 @@ gl_FragCoord origin is upper left Store 119 118 122: 121(ptr) AccessChain 115(psout) 120 Store 122 117 - 123:113(PS_OUTPUT) Load 115(psout) - ReturnValue 123 + 125:113(PS_OUTPUT) Load 115(psout) + Store 124(@entryPointOutput) 125 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index 30c4c7d7..403bfca1 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -223,8 +223,11 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Branch: Return with expression -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Sequence +0:50 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -469,8 +472,11 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Branch: Return with expression -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Sequence +0:50 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:50 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -489,13 +495,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 161 +// Id's are bound by 163 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 159 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -527,7 +533,8 @@ gl_FragCoord origin is upper left MemberName 148(PS_OUTPUT) 0 "Color" MemberName 148(PS_OUTPUT) 1 "Depth" Name 150 "psout" - Name 160 "g_tTex1df4a" + Name 159 "@entryPointOutput" + Name 162 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -544,8 +551,8 @@ gl_FragCoord origin is upper left Decorate 133(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_tTexcdu4) DescriptorSet 0 MemberDecorate 148(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 160(g_tTex1df4a) DescriptorSet 0 - Decorate 160(g_tTex1df4a) Binding 1 + Decorate 162(g_tTex1df4a) DescriptorSet 0 + Decorate 162(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -637,7 +644,9 @@ gl_FragCoord origin is upper left 153: 7(fvec4) ConstantComposite 152 152 152 152 155: 24(int) Constant 1 156: TypePointer Function 6(float) -160(g_tTex1df4a): 11(ptr) Variable UniformConstant + 158: TypePointer Output 148(PS_OUTPUT) +159(@entryPointOutput): 158(ptr) Variable Output +162(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -717,6 +726,7 @@ gl_FragCoord origin is upper left Store 154 153 157: 156(ptr) AccessChain 150(psout) 155 Store 157 152 - 158:148(PS_OUTPUT) Load 150(psout) - ReturnValue 158 + 160:148(PS_OUTPUT) Load 150(psout) + Store 159(@entryPointOutput) 160 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out index 7e7f4561..54874f1a 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out @@ -215,8 +215,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Branch: Return with expression -0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -453,8 +456,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Branch: Return with expression -0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -473,13 +479,13 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 158 +// Id's are bound by 160 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" + EntryPoint Vertex 4 "main" 156 Name 4 "main" Name 9 "txval10" Name 12 "g_tTex1df4" @@ -509,7 +515,8 @@ Shader version: 450 Name 148 "VS_OUTPUT" MemberName 148(VS_OUTPUT) 0 "Pos" Name 150 "vsout" - Name 157 "g_tTex1df4a" + Name 156 "@entryPointOutput" + Name 159 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -526,8 +533,8 @@ Shader version: 450 Decorate 133(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_tTexcdu4) DescriptorSet 0 MemberDecorate 148(VS_OUTPUT) 0 BuiltIn FragCoord - Decorate 157(g_tTex1df4a) DescriptorSet 0 - Decorate 157(g_tTex1df4a) Binding 1 + Decorate 159(g_tTex1df4a) DescriptorSet 0 + Decorate 159(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -617,7 +624,9 @@ Shader version: 450 151: 24(int) Constant 0 152: 6(float) Constant 0 153: 7(fvec4) ConstantComposite 152 152 152 152 -157(g_tTex1df4a): 11(ptr) Variable UniformConstant + 155: TypePointer Output 148(VS_OUTPUT) +156(@entryPointOutput): 155(ptr) Variable Output +159(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -695,6 +704,7 @@ Shader version: 450 Store 139(txval42) 147 154: 8(ptr) AccessChain 150(vsout) 151 Store 154 153 - 155:148(VS_OUTPUT) Load 150(vsout) - ReturnValue 155 + 157:148(VS_OUTPUT) Load 150(vsout) + Store 156(@entryPointOutput) 157 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index be5b7a03..f73d8cf6 100644 --- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -193,8 +193,11 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Branch: Return with expression -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -409,8 +412,11 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Branch: Return with expression -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -429,13 +435,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 152 +// Id's are bound by 154 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 141 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -461,10 +467,11 @@ gl_FragCoord origin is upper left MemberName 132(PS_OUTPUT) 0 "Color" MemberName 132(PS_OUTPUT) 1 "Depth" Name 134 "psout" - Name 142 "g_tTex1df4a" - Name 145 "g_tTexcdf4" - Name 148 "g_tTexcdi4" - Name 151 "g_tTexcdu4" + Name 141 "@entryPointOutput" + Name 144 "g_tTex1df4a" + Name 147 "g_tTexcdf4" + Name 150 "g_tTexcdi4" + Name 153 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -478,11 +485,11 @@ gl_FragCoord origin is upper left Decorate 110(g_tTex3di4) DescriptorSet 0 Decorate 121(g_tTex3du4) DescriptorSet 0 MemberDecorate 132(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 142(g_tTex1df4a) DescriptorSet 0 - Decorate 142(g_tTex1df4a) Binding 1 - Decorate 145(g_tTexcdf4) DescriptorSet 0 - Decorate 148(g_tTexcdi4) DescriptorSet 0 - Decorate 151(g_tTexcdu4) DescriptorSet 0 + Decorate 144(g_tTex1df4a) DescriptorSet 0 + Decorate 144(g_tTex1df4a) Binding 1 + Decorate 147(g_tTexcdf4) DescriptorSet 0 + Decorate 150(g_tTexcdi4) DescriptorSet 0 + Decorate 153(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -571,16 +578,18 @@ gl_FragCoord origin is upper left 135: 6(float) Constant 1065353216 136: 7(fvec4) ConstantComposite 135 135 135 135 138: TypePointer Function 6(float) -142(g_tTex1df4a): 11(ptr) Variable UniformConstant - 143: TypeImage 6(float) Cube sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTexcdf4): 144(ptr) Variable UniformConstant - 146: TypeImage 23(int) Cube sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTexcdi4): 147(ptr) Variable UniformConstant - 149: TypeImage 38(int) Cube sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTexcdu4): 150(ptr) Variable UniformConstant + 140: TypePointer Output 132(PS_OUTPUT) +141(@entryPointOutput): 140(ptr) Variable Output +144(g_tTex1df4a): 11(ptr) Variable UniformConstant + 145: TypeImage 6(float) Cube sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTexcdf4): 146(ptr) Variable UniformConstant + 148: TypeImage 23(int) Cube sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTexcdi4): 149(ptr) Variable UniformConstant + 151: TypeImage 38(int) Cube sampled format:Unknown + 152: TypePointer UniformConstant 151 + 153(g_tTexcdu4): 152(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -642,6 +651,7 @@ gl_FragCoord origin is upper left Store 137 136 139: 138(ptr) AccessChain 134(psout) 24 Store 139 135 - 140:132(PS_OUTPUT) Load 134(psout) - ReturnValue 140 + 142:132(PS_OUTPUT) Load 134(psout) + Store 141(@entryPointOutput) 142 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index a152cb77..d6bc7643 100644 --- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -130,8 +130,11 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Constant: 0:36 1.000000 -0:38 Branch: Return with expression -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -280,8 +283,11 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Constant: 0:36 1.000000 -0:38 Branch: Return with expression -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Sequence +0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:38 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -297,14 +303,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 106 +// Id's are bound by 108 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 95 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -324,10 +330,11 @@ gl_FragCoord origin is upper left MemberName 86(PS_OUTPUT) 0 "Color" MemberName 86(PS_OUTPUT) 1 "Depth" Name 88 "psout" - Name 96 "g_tTex1df4a" - Name 99 "g_tTexcdf4" - Name 102 "g_tTexcdi4" - Name 105 "g_tTexcdu4" + Name 95 "@entryPointOutput" + Name 98 "g_tTex1df4a" + Name 101 "g_tTexcdf4" + Name 104 "g_tTexcdi4" + Name 107 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -338,11 +345,11 @@ gl_FragCoord origin is upper left Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 80(g_tTex2du4) DescriptorSet 0 MemberDecorate 86(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 96(g_tTex1df4a) DescriptorSet 0 - Decorate 96(g_tTex1df4a) Binding 1 - Decorate 99(g_tTexcdf4) DescriptorSet 0 - Decorate 102(g_tTexcdi4) DescriptorSet 0 - Decorate 105(g_tTexcdu4) DescriptorSet 0 + Decorate 98(g_tTex1df4a) DescriptorSet 0 + Decorate 98(g_tTex1df4a) Binding 1 + Decorate 101(g_tTexcdf4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 107(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -400,16 +407,18 @@ gl_FragCoord origin is upper left 89: 6(float) Constant 1065353216 90: 7(fvec4) ConstantComposite 89 89 89 89 92: TypePointer Function 6(float) - 96(g_tTex1df4a): 11(ptr) Variable UniformConstant - 97: TypeImage 6(float) Cube array sampled format:Unknown - 98: TypePointer UniformConstant 97 - 99(g_tTexcdf4): 98(ptr) Variable UniformConstant - 100: TypeImage 26(int) Cube array sampled format:Unknown - 101: TypePointer UniformConstant 100 - 102(g_tTexcdi4): 101(ptr) Variable UniformConstant - 103: TypeImage 40(int) Cube array sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTexcdu4): 104(ptr) Variable UniformConstant + 94: TypePointer Output 86(PS_OUTPUT) +95(@entryPointOutput): 94(ptr) Variable Output + 98(g_tTex1df4a): 11(ptr) Variable UniformConstant + 99: TypeImage 6(float) Cube array sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTexcdf4): 100(ptr) Variable UniformConstant + 102: TypeImage 26(int) Cube array sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTexcdi4): 103(ptr) Variable UniformConstant + 105: TypeImage 40(int) Cube array sampled format:Unknown + 106: TypePointer UniformConstant 105 + 107(g_tTexcdu4): 106(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -453,6 +462,7 @@ gl_FragCoord origin is upper left Store 91 90 93: 92(ptr) AccessChain 88(psout) 27 Store 93 89 - 94:86(PS_OUTPUT) Load 88(psout) - ReturnValue 94 + 96:86(PS_OUTPUT) Load 88(psout) + Store 95(@entryPointOutput) 96 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index 1b675b22..9ed0650f 100644 --- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -139,8 +139,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -298,8 +301,11 @@ gl_FragCoord origin is upper left 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Branch: Return with expression -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Sequence +0:42 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:42 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -315,14 +321,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 133 +// Id's are bound by 135 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 131 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -348,7 +354,8 @@ gl_FragCoord origin is upper left MemberName 121(PS_OUTPUT) 0 "Color" MemberName 121(PS_OUTPUT) 1 "Depth" Name 123 "psout" - Name 132 "g_tTex1df4" + Name 131 "@entryPointOutput" + Name 134 "g_tTex1df4" Decorate 12(g_tTex1df4a) DescriptorSet 0 Decorate 12(g_tTex1df4a) Binding 1 Decorate 16(g_sSamp) DescriptorSet 0 @@ -362,8 +369,8 @@ gl_FragCoord origin is upper left Decorate 101(g_tTexcdi4a) DescriptorSet 0 Decorate 111(g_tTexcdu4a) DescriptorSet 0 MemberDecorate 121(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 132(g_tTex1df4) DescriptorSet 0 - Decorate 132(g_tTex1df4) Binding 0 + Decorate 134(g_tTex1df4) DescriptorSet 0 + Decorate 134(g_tTex1df4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -442,7 +449,9 @@ gl_FragCoord origin is upper left 125: 7(fvec4) ConstantComposite 118 118 118 118 127: 26(int) Constant 1 128: TypePointer Function 6(float) - 132(g_tTex1df4): 11(ptr) Variable UniformConstant + 130: TypePointer Output 121(PS_OUTPUT) +131(@entryPointOutput): 130(ptr) Variable Output + 134(g_tTex1df4): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -504,6 +513,7 @@ gl_FragCoord origin is upper left Store 126 125 129: 128(ptr) AccessChain 123(psout) 127 Store 129 118 - 130:121(PS_OUTPUT) Load 123(psout) - ReturnValue 130 + 132:121(PS_OUTPUT) Load 123(psout) + Store 131(@entryPointOutput) 132 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index dbdc7778..38676721 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -169,8 +169,11 @@ gl_FragCoord origin is upper left 0:49 1 (const int) 0:49 Constant: 0:49 1.000000 -0:51 Branch: Return with expression -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 Sequence +0:51 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -362,8 +365,11 @@ gl_FragCoord origin is upper left 0:49 1 (const int) 0:49 Constant: 0:49 1.000000 -0:51 Branch: Return with expression -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 Sequence +0:51 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:51 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) @@ -383,13 +389,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 158 +// Id's are bound by 160 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 155 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -421,8 +427,9 @@ gl_FragCoord origin is upper left MemberName 144(PS_OUTPUT) 0 "Color" MemberName 144(PS_OUTPUT) 1 "Depth" Name 146 "psout" - Name 156 "g_sSamp2d" - Name 157 "g_tTex1df4a" + Name 155 "@entryPointOutput" + Name 158 "g_sSamp2d" + Name 159 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -439,9 +446,9 @@ gl_FragCoord origin is upper left Decorate 129(g_tTexcdi4) DescriptorSet 0 Decorate 138(g_tTexcdu4) DescriptorSet 0 MemberDecorate 144(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 156(g_sSamp2d) DescriptorSet 0 - Decorate 157(g_tTex1df4a) DescriptorSet 0 - Decorate 157(g_tTex1df4a) Binding 1 + Decorate 158(g_sSamp2d) DescriptorSet 0 + Decorate 159(g_tTex1df4a) DescriptorSet 0 + Decorate 159(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -529,8 +536,10 @@ gl_FragCoord origin is upper left 149: 7(fvec4) ConstantComposite 148 148 148 148 151: 23(int) Constant 1 152: TypePointer Function 6(float) - 156(g_sSamp2d): 15(ptr) Variable UniformConstant -157(g_tTex1df4a): 11(ptr) Variable UniformConstant + 154: TypePointer Output 144(PS_OUTPUT) +155(@entryPointOutput): 154(ptr) Variable Output + 158(g_sSamp2d): 15(ptr) Variable UniformConstant +159(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -610,6 +619,7 @@ gl_FragCoord origin is upper left Store 150 149 153: 152(ptr) AccessChain 146(psout) 151 Store 153 148 - 154:144(PS_OUTPUT) Load 146(psout) - ReturnValue 154 + 156:144(PS_OUTPUT) Load 146(psout) + Store 155(@entryPointOutput) 156 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out index 0a55d855..aafcb825 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out @@ -161,8 +161,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Branch: Return with expression -0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -345,8 +348,11 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Branch: Return with expression -0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float FragCoord Pos}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float FragCoord Pos}) +0:48 'vsout' (temp structure{temp 4-component vector of float FragCoord Pos}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -365,13 +371,13 @@ Shader version: 450 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 154 +// Id's are bound by 156 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" + EntryPoint Vertex 4 "main" 152 Name 4 "main" Name 9 "txval10" Name 12 "g_tTex1df4" @@ -401,7 +407,8 @@ Shader version: 450 Name 144 "VS_OUTPUT" MemberName 144(VS_OUTPUT) 0 "Pos" Name 146 "vsout" - Name 153 "g_tTex1df4a" + Name 152 "@entryPointOutput" + Name 155 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -418,8 +425,8 @@ Shader version: 450 Decorate 129(g_tTexcdi4) DescriptorSet 0 Decorate 138(g_tTexcdu4) DescriptorSet 0 MemberDecorate 144(VS_OUTPUT) 0 BuiltIn FragCoord - Decorate 153(g_tTex1df4a) DescriptorSet 0 - Decorate 153(g_tTex1df4a) Binding 1 + Decorate 155(g_tTex1df4a) DescriptorSet 0 + Decorate 155(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -505,7 +512,9 @@ Shader version: 450 147: 23(int) Constant 0 148: 6(float) Constant 0 149: 7(fvec4) ConstantComposite 148 148 148 148 -153(g_tTex1df4a): 11(ptr) Variable UniformConstant + 151: TypePointer Output 144(VS_OUTPUT) +152(@entryPointOutput): 151(ptr) Variable Output +155(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -583,6 +592,7 @@ Shader version: 450 Store 135(txval42) 143 150: 8(ptr) AccessChain 146(vsout) 147 Store 150 149 - 151:144(VS_OUTPUT) Load 146(vsout) - ReturnValue 151 + 153:144(VS_OUTPUT) Load 146(vsout) + Store 152(@entryPointOutput) 153 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index a7b54f99..2dc61c75 100644 --- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -157,8 +157,11 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Branch: Return with expression -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -337,8 +340,11 @@ gl_FragCoord origin is upper left 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Branch: Return with expression -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Sequence +0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:48 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -357,13 +363,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 148 +// Id's are bound by 150 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 137 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -389,10 +395,11 @@ gl_FragCoord origin is upper left MemberName 128(PS_OUTPUT) 0 "Color" MemberName 128(PS_OUTPUT) 1 "Depth" Name 130 "psout" - Name 138 "g_tTex1df4a" - Name 141 "g_tTexcdf4" - Name 144 "g_tTexcdi4" - Name 147 "g_tTexcdu4" + Name 137 "@entryPointOutput" + Name 140 "g_tTex1df4a" + Name 143 "g_tTexcdf4" + Name 146 "g_tTexcdi4" + Name 149 "g_tTexcdu4" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -406,11 +413,11 @@ gl_FragCoord origin is upper left Decorate 106(g_tTex3di4) DescriptorSet 0 Decorate 117(g_tTex3du4) DescriptorSet 0 MemberDecorate 128(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 138(g_tTex1df4a) DescriptorSet 0 - Decorate 138(g_tTex1df4a) Binding 1 - Decorate 141(g_tTexcdf4) DescriptorSet 0 - Decorate 144(g_tTexcdi4) DescriptorSet 0 - Decorate 147(g_tTexcdu4) DescriptorSet 0 + Decorate 140(g_tTex1df4a) DescriptorSet 0 + Decorate 140(g_tTex1df4a) Binding 1 + Decorate 143(g_tTexcdf4) DescriptorSet 0 + Decorate 146(g_tTexcdi4) DescriptorSet 0 + Decorate 149(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -495,16 +502,18 @@ gl_FragCoord origin is upper left 131: 6(float) Constant 1065353216 132: 7(fvec4) ConstantComposite 131 131 131 131 134: TypePointer Function 6(float) -138(g_tTex1df4a): 11(ptr) Variable UniformConstant - 139: TypeImage 6(float) Cube sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTexcdf4): 140(ptr) Variable UniformConstant - 142: TypeImage 22(int) Cube sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTexcdi4): 143(ptr) Variable UniformConstant - 145: TypeImage 37(int) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdu4): 146(ptr) Variable UniformConstant + 136: TypePointer Output 128(PS_OUTPUT) +137(@entryPointOutput): 136(ptr) Variable Output +140(g_tTex1df4a): 11(ptr) Variable UniformConstant + 141: TypeImage 6(float) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdf4): 142(ptr) Variable UniformConstant + 144: TypeImage 22(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdi4): 145(ptr) Variable UniformConstant + 147: TypeImage 37(int) Cube sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTexcdu4): 148(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -566,6 +575,7 @@ gl_FragCoord origin is upper left Store 133 132 135: 134(ptr) AccessChain 130(psout) 23 Store 135 131 - 136:128(PS_OUTPUT) Load 130(psout) - ReturnValue 136 + 138:128(PS_OUTPUT) Load 130(psout) + Store 137(@entryPointOutput) 138 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index b37c00c7..bc3c4ae2 100644 --- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -112,8 +112,11 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Branch: Return with expression -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Sequence +0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -241,8 +244,11 @@ gl_FragCoord origin is upper left 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Branch: Return with expression -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Sequence +0:36 move second child to first child (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth}) +0:36 Branch: Return 0:? Linker Objects 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) @@ -255,13 +261,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 105 +// Id's are bound by 107 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 103 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "txval10" @@ -281,7 +287,8 @@ gl_FragCoord origin is upper left MemberName 94(PS_OUTPUT) 0 "Color" MemberName 94(PS_OUTPUT) 1 "Depth" Name 96 "psout" - Name 104 "g_tTex1df4a" + Name 103 "@entryPointOutput" + Name 106 "g_tTex1df4a" Decorate 12(g_tTex1df4) DescriptorSet 0 Decorate 12(g_tTex1df4) Binding 0 Decorate 16(g_sSamp) DescriptorSet 0 @@ -292,8 +299,8 @@ gl_FragCoord origin is upper left Decorate 73(g_tTex2di4) DescriptorSet 0 Decorate 84(g_tTex2du4) DescriptorSet 0 MemberDecorate 94(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 104(g_tTex1df4a) DescriptorSet 0 - Decorate 104(g_tTex1df4a) Binding 1 + Decorate 106(g_tTex1df4a) DescriptorSet 0 + Decorate 106(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -359,7 +366,9 @@ gl_FragCoord origin is upper left 97: 6(float) Constant 1065353216 98: 7(fvec4) ConstantComposite 97 97 97 97 100: TypePointer Function 6(float) -104(g_tTex1df4a): 11(ptr) Variable UniformConstant + 102: TypePointer Output 94(PS_OUTPUT) +103(@entryPointOutput): 102(ptr) Variable Output +106(g_tTex1df4a): 11(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(txval10): 8(ptr) Variable Function @@ -403,6 +412,7 @@ gl_FragCoord origin is upper left Store 99 98 101: 100(ptr) AccessChain 96(psout) 40 Store 101 97 - 102:94(PS_OUTPUT) Load 96(psout) - ReturnValue 102 + 104:94(PS_OUTPUT) Load 96(psout) + Store 103(@entryPointOutput) 104 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.semicolons.frag.out b/Test/baseResults/hlsl.semicolons.frag.out index 58ec350a..470556ed 100644 --- a/Test/baseResults/hlsl.semicolons.frag.out +++ b/Test/baseResults/hlsl.semicolons.frag.out @@ -19,8 +19,11 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Branch: Return with expression -0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:17 Sequence +0:17 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) +0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:17 Branch: Return 0:? Linker Objects @@ -47,18 +50,21 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Branch: Return with expression -0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:17 Sequence +0:17 move second child to first child (temp structure{temp 4-component vector of float color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float color}) +0:17 'ps_output' (temp structure{temp 4-component vector of float color}) +0:17 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 23 +// Id's are bound by 25 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 22 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "MyFunc(" @@ -66,6 +72,7 @@ gl_FragCoord origin is upper left Name 12 "PS_OUTPUT" MemberName 12(PS_OUTPUT) 0 "color" Name 14 "ps_output" + Name 22 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 @@ -77,13 +84,16 @@ gl_FragCoord origin is upper left 17: 10(float) Constant 1065353216 18: 11(fvec4) ConstantComposite 17 17 17 17 19: TypePointer Function 11(fvec4) + 21: TypePointer Output 12(PS_OUTPUT) +22(@entryPointOutput): 21(ptr) Variable Output 4(main): 2 Function None 3 5: Label 14(ps_output): 13(ptr) Variable Function 20: 19(ptr) AccessChain 14(ps_output) 16 Store 20 18 - 21:12(PS_OUTPUT) Load 14(ps_output) - ReturnValue 21 + 23:12(PS_OUTPUT) Load 14(ps_output) + Store 22(@entryPointOutput) 23 + Return FunctionEnd 6(MyFunc(): 2 Function None 3 7: Label diff --git a/Test/baseResults/hlsl.sin.frag.out b/Test/baseResults/hlsl.sin.frag.out index db8e3112..d4309427 100755 --- a/Test/baseResults/hlsl.sin.frag.out +++ b/Test/baseResults/hlsl.sin.frag.out @@ -6,9 +6,12 @@ gl_FragCoord origin is upper left 0:2 Function Parameters: 0:2 'input' (in 4-component vector of float) 0:? Sequence -0:3 Branch: Return with expression -0:3 sine (global 4-component vector of float) -0:3 'input' (in 4-component vector of float) +0:3 Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:3 sine (global 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 Branch: Return 0:? Linker Objects @@ -22,31 +25,38 @@ gl_FragCoord origin is upper left 0:2 Function Parameters: 0:2 'input' (in 4-component vector of float) 0:? Sequence -0:3 Branch: Return with expression -0:3 sine (global 4-component vector of float) -0:3 'input' (in 4-component vector of float) +0:3 Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:3 sine (global 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 13 +// Id's are bound by 15 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 + EntryPoint Fragment 4 "PixelShaderFunction" 9 11 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "input" + Name 9 "@entryPointOutput" + Name 11 "input" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(input): 8(ptr) Variable Input + 8: TypePointer Output 7(fvec4) +9(@entryPointOutput): 8(ptr) Variable Output + 10: TypePointer Input 7(fvec4) + 11(input): 10(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 10: 7(fvec4) Load 9(input) - 11: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 10 - ReturnValue 11 + 12: 7(fvec4) Load 11(input) + 13: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 12 + Store 9(@entryPointOutput) 13 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out index cb2a4913..e5fbf654 100644 --- a/Test/baseResults/hlsl.stringtoken.frag.out +++ b/Test/baseResults/hlsl.stringtoken.frag.out @@ -15,8 +15,11 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:19 Branch: Return with expression -0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:19 Sequence +0:19 move second child to first child (temp structure{temp 4-component vector of float Color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) +0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:19 Branch: Return 0:? Linker Objects 0:? 'TestTexture' (uniform texture2D) 0:? 'TestUF' (uniform 4-component vector of float) @@ -41,28 +44,32 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:19 Branch: Return with expression -0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:19 Sequence +0:19 move second child to first child (temp structure{temp 4-component vector of float Color}) +0:? '@entryPointOutput' (out structure{temp 4-component vector of float Color}) +0:19 'psout' (temp structure{temp 4-component vector of float Color}) +0:19 Branch: Return 0:? Linker Objects 0:? 'TestTexture' (uniform texture2D) 0:? 'TestUF' (uniform 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 25 +// Id's are bound by 27 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 19 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" Name 10 "psout" - Name 22 "TestTexture" - Name 24 "TestUF" - Decorate 22(TestTexture) DescriptorSet 0 + Name 19 "@entryPointOutput" + Name 24 "TestTexture" + Name 26 "TestUF" + Decorate 24(TestTexture) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -75,16 +82,19 @@ gl_FragCoord origin is upper left 14: 6(float) Constant 1065353216 15: 7(fvec4) ConstantComposite 13 13 13 14 16: TypePointer Function 7(fvec4) - 20: TypeImage 6(float) 2D sampled format:Unknown - 21: TypePointer UniformConstant 20 - 22(TestTexture): 21(ptr) Variable UniformConstant - 23: TypePointer UniformConstant 7(fvec4) - 24(TestUF): 23(ptr) Variable UniformConstant + 18: TypePointer Output 8(PS_OUTPUT) +19(@entryPointOutput): 18(ptr) Variable Output + 22: TypeImage 6(float) 2D sampled format:Unknown + 23: TypePointer UniformConstant 22 + 24(TestTexture): 23(ptr) Variable UniformConstant + 25: TypePointer UniformConstant 7(fvec4) + 26(TestUF): 25(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 10(psout): 9(ptr) Variable Function 17: 16(ptr) AccessChain 10(psout) 12 Store 17 15 - 18:8(PS_OUTPUT) Load 10(psout) - ReturnValue 18 + 20:8(PS_OUTPUT) Load 10(psout) + Store 19(@entryPointOutput) 20 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out index a4cd170b..fed3a893 100755 --- a/Test/baseResults/hlsl.struct.frag.out +++ b/Test/baseResults/hlsl.struct.frag.out @@ -22,8 +22,11 @@ gl_FragCoord origin is upper left 0:40 's4' (global structure{smooth in 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 FragCoord ff4}) 0:40 Constant: 0:40 7 (const int) -0:42 Branch: Return with expression -0:42 'input' (in 4-component vector of float) +0:42 Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:42 'input' (in 4-component vector of float) +0:42 Branch: Return 0:? Linker Objects 0:? 's1' (global structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d}) 0:? 's2' (global structure{temp 4-component vector of float i}) @@ -54,8 +57,11 @@ gl_FragCoord origin is upper left 0:40 's4' (global structure{smooth in 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 FragCoord ff4}) 0:40 Constant: 0:40 7 (const int) -0:42 Branch: Return with expression -0:42 'input' (in 4-component vector of float) +0:42 Sequence +0:42 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:42 'input' (in 4-component vector of float) +0:42 Branch: Return 0:? Linker Objects 0:? 's1' (global structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d}) 0:? 's2' (global structure{temp 4-component vector of float i}) @@ -65,12 +71,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 44 +// Id's are bound by 46 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 34 + EntryPoint Fragment 4 "PixelShaderFunction" 34 36 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 8 "FS" @@ -89,21 +95,22 @@ gl_FragCoord origin is upper left MemberName 25 6 "ff3" MemberName 25 7 "ff4" Name 27 "s4" - Name 34 "input" - Name 37 "myS" - MemberName 37(myS) 0 "b" - MemberName 37(myS) 1 "c" - MemberName 37(myS) 2 "a" - MemberName 37(myS) 3 "d" - Name 39 "s1" - Name 42 "ff5" - Name 43 "ff6" + Name 34 "@entryPointOutput" + Name 36 "input" + Name 39 "myS" + MemberName 39(myS) 0 "b" + MemberName 39(myS) 1 "c" + MemberName 39(myS) 2 "a" + MemberName 39(myS) 3 "d" + Name 41 "s1" + Name 44 "ff5" + Name 45 "ff6" MemberDecorate 25 4 BuiltIn FrontFacing MemberDecorate 25 7 BuiltIn FragCoord - Decorate 42(ff5) Offset 20 - Decorate 42(ff5) Binding 5 - Decorate 43(ff6) Offset 36 - Decorate 43(ff6) Binding 8 + Decorate 44(ff5) Offset 20 + Decorate 44(ff5) Binding 5 + Decorate 45(ff6) Offset 36 + Decorate 45(ff6) Binding 8 2: TypeVoid 3: TypeFunction 2 6: TypeBool @@ -123,15 +130,17 @@ gl_FragCoord origin is upper left 27(s4): 26(ptr) Variable Private 28: 22(int) Constant 7 29: TypePointer Private 18(fvec4) - 33: TypePointer Input 18(fvec4) - 34(input): 33(ptr) Variable Input - 37(myS): TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4) - 38: TypePointer Private 37(myS) - 39(s1): 38(ptr) Variable Private - 40: TypeVector 17(float) 3 - 41: TypePointer Private 40(fvec3) - 42(ff5): 41(ptr) Variable Private - 43(ff6): 41(ptr) Variable Private + 33: TypePointer Output 18(fvec4) +34(@entryPointOutput): 33(ptr) Variable Output + 35: TypePointer Input 18(fvec4) + 36(input): 35(ptr) Variable Input + 39(myS): TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4) + 40: TypePointer Private 39(myS) + 41(s1): 40(ptr) Variable Private + 42: TypeVector 17(float) 3 + 43: TypePointer Private 42(fvec3) + 44(ff5): 43(ptr) Variable Private + 45(ff6): 43(ptr) Variable Private 4(PixelShaderFunction): 2 Function None 3 5: Label 10(s3): 9(ptr) Variable Function @@ -145,6 +154,7 @@ gl_FragCoord origin is upper left 31: 18(fvec4) Load 30 32: 29(ptr) AccessChain 21(s2) 23 Store 32 31 - 35: 18(fvec4) Load 34(input) - ReturnValue 35 + 37: 18(fvec4) Load 36(input) + Store 34(@entryPointOutput) 37 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.switch.frag.out b/Test/baseResults/hlsl.switch.frag.out index 7c54f9c3..ba5ce50d 100755 --- a/Test/baseResults/hlsl.switch.frag.out +++ b/Test/baseResults/hlsl.switch.frag.out @@ -119,8 +119,11 @@ gl_FragCoord origin is upper left 0:? Sequence 0:51 Pre-Decrement (temp 4-component vector of float) 0:51 'input' (in 4-component vector of float) -0:54 Branch: Return with expression -0:54 'input' (in 4-component vector of float) +0:54 Sequence +0:54 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:54 'input' (in 4-component vector of float) +0:54 Branch: Return 0:? Linker Objects @@ -247,23 +250,27 @@ gl_FragCoord origin is upper left 0:? Sequence 0:51 Pre-Decrement (temp 4-component vector of float) 0:51 'input' (in 4-component vector of float) -0:54 Branch: Return with expression -0:54 'input' (in 4-component vector of float) +0:54 Sequence +0:54 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:54 'input' (in 4-component vector of float) +0:54 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 82 +// Id's are bound by 84 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 21 41 + EntryPoint Fragment 4 "PixelShaderFunction" 8 21 41 81 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 8 "c" Name 21 "input" Name 41 "d" + Name 81 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -278,6 +285,8 @@ gl_FragCoord origin is upper left 46: 18(float) Constant 1073741824 51: 18(float) Constant 1077936128 58: 18(float) Constant 1082130432 + 80: TypePointer Output 19(fvec4) +81(@entryPointOutput): 80(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label 9: 6(int) Load 8(c) @@ -370,6 +379,7 @@ gl_FragCoord origin is upper left Store 21(input) 78 Branch 71 71: Label - 80: 19(fvec4) Load 21(input) - ReturnValue 80 + 82: 19(fvec4) Load 21(input) + Store 81(@entryPointOutput) 82 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.templatetypes.frag.out b/Test/baseResults/hlsl.templatetypes.frag.out index 74611993..e3c8baad 100644 --- a/Test/baseResults/hlsl.templatetypes.frag.out +++ b/Test/baseResults/hlsl.templatetypes.frag.out @@ -239,9 +239,12 @@ gl_FragCoord origin is upper left 0:? 10.000000 0:? 11.000000 0:? 12.000000 -0:45 Branch: Return with expression -0:45 Constant: -0:45 0.000000 +0:45 Sequence +0:45 move second child to first child (temp float) +0:? '@entryPointOutput' (out float) +0:45 Constant: +0:45 0.000000 +0:45 Branch: Return 0:? Linker Objects @@ -488,20 +491,23 @@ gl_FragCoord origin is upper left 0:? 10.000000 0:? 11.000000 0:? 12.000000 -0:45 Branch: Return with expression -0:45 Constant: -0:45 0.000000 +0:45 Sequence +0:45 move second child to first child (temp float) +0:? '@entryPointOutput' (out float) +0:45 Constant: +0:45 0.000000 +0:45 Branch: Return 0:? Linker Objects // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 145 +// Id's are bound by 147 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" + EntryPoint Fragment 4 "PixelShaderFunction" 145 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 9 "r00" @@ -532,6 +538,7 @@ gl_FragCoord origin is upper left Name 131 "r62" Name 136 "r65" Name 141 "r66" + Name 145 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -644,6 +651,8 @@ gl_FragCoord origin is upper left 140: TypePointer Function 139 142: 7(fvec4) ConstantComposite 112 113 114 116 143: 139 ConstantComposite 14 137 142 + 144: TypePointer Output 6(float) +145(@entryPointOutput): 144(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label 9(r00): 8(ptr) Variable Function @@ -702,5 +711,6 @@ gl_FragCoord origin is upper left Store 131(r62) 133 Store 136(r65) 138 Store 141(r66) 143 - ReturnValue 106 + Store 145(@entryPointOutput) 106 + Return FunctionEnd diff --git a/Test/baseResults/hlsl.whileLoop.frag.out b/Test/baseResults/hlsl.whileLoop.frag.out index 08488cea..3d2ba925 100755 --- a/Test/baseResults/hlsl.whileLoop.frag.out +++ b/Test/baseResults/hlsl.whileLoop.frag.out @@ -13,8 +13,11 @@ gl_FragCoord origin is upper left 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 Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 Branch: Return 0:4 Loop with condition tested first 0:4 Loop Condition 0:4 Constant: @@ -50,8 +53,11 @@ gl_FragCoord origin is upper left 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 Sequence +0:3 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (out 4-component vector of float) +0:3 'input' (in 4-component vector of float) +0:3 Branch: Return 0:4 Loop with condition tested first 0:4 Loop Condition 0:4 Constant: @@ -71,15 +77,16 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 41 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 14 + EntryPoint Fragment 4 "PixelShaderFunction" 14 22 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 14 "input" + Name 22 "@entryPointOutput" 2: TypeVoid 3: TypeFunction 2 11: TypeFloat 32 @@ -88,7 +95,9 @@ gl_FragCoord origin is upper left 14(input): 13(ptr) Variable Input 17: TypeBool 18: TypeVector 17(bool) 4 - 28: 17(bool) ConstantFalse + 21: TypePointer Output 12(fvec4) +22(@entryPointOutput): 21(ptr) Variable Output + 30: 17(bool) ConstantFalse 4(PixelShaderFunction): 2 Function None 3 5: Label Branch 6 @@ -102,43 +111,44 @@ gl_FragCoord origin is upper left 20: 17(bool) Any 19 BranchConditional 20 7 8 7: Label - 21: 12(fvec4) Load 14(input) - ReturnValue 21 + 23: 12(fvec4) Load 14(input) + Store 22(@entryPointOutput) 23 + Return 9: Label Branch 6 8: Label - Branch 23 - 23: Label - LoopMerge 25 26 None - Branch 27 - 27: Label - BranchConditional 28 24 25 - 24: Label - Branch 26 - 26: Label - Branch 23 + Branch 25 25: Label + LoopMerge 27 28 None Branch 29 29: Label - LoopMerge 31 32 None - Branch 33 - 33: Label - BranchConditional 28 30 31 - 30: Label - Branch 32 - 32: Label - Branch 29 + BranchConditional 30 26 27 + 26: Label + Branch 28 + 28: Label + Branch 25 + 27: Label + Branch 31 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 33 34 None + Branch 35 + 35: Label + BranchConditional 30 32 33 + 32: Label Branch 34 + 34: Label + Branch 31 + 33: Label + Branch 36 36: Label + LoopMerge 38 39 None + Branch 40 + 40: Label + BranchConditional 30 37 38 + 37: Label + Branch 39 + 39: Label + Branch 36 + 38: Label Return FunctionEnd diff --git a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out index 2347ace5..297730e9 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out @@ -13,7 +13,7 @@ Linked fragment stage: Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 5663 "main" + EntryPoint Fragment 5663 "main" 4045 ExecutionMode 5663 OriginUpperLeft Decorate 4727 DescriptorSet 0 Decorate 4727 Binding 0 @@ -128,6 +128,8 @@ Linked fragment stage: 138: 13(float) Constant 1065353216 1284: 29(fvec4) ConstantComposite 138 138 138 138 650: TypePointer Function 13(float) + 1670: TypePointer Output 1032(struct) + 4045: 1670(ptr) Variable Output 5663: 8 Function None 1282 24915: Label 5830: 1972(ptr) Variable Function @@ -208,6 +210,7 @@ Linked fragment stage: Store 20158 1284 19657: 650(ptr) AccessChain 5072 2574 Store 19657 138 - 21536:1032(struct) Load 5072 - ReturnValue 21536 + 17934:1032(struct) Load 5072 + Store 4045 17934 + Return FunctionEnd diff --git a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out index 3c1e9e92..fe4d1b05 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out @@ -7,13 +7,13 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 183 +// Id's are bound by 185 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 180 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 7 "MemberTest" @@ -59,9 +59,10 @@ Linked fragment stage: MemberName 171(PS_OUTPUT) 0 "Color" MemberName 171(PS_OUTPUT) 1 "Depth" Name 173 "psout" - Name 180 "g_sSamp2d" - Name 181 "g_sSamp2D_b" - Name 182 "g_tTex1df4a" + Name 180 "@entryPointOutput" + Name 182 "g_sSamp2d" + Name 183 "g_sSamp2D_b" + Name 184 "g_tTex1df4a" Decorate 41(g_tTex1df4) DescriptorSet 0 Decorate 41(g_tTex1df4) Binding 0 Decorate 45(g_sSamp) DescriptorSet 0 @@ -78,10 +79,10 @@ Linked fragment stage: Decorate 156(g_tTexcdi4) DescriptorSet 0 Decorate 165(g_tTexcdu4) DescriptorSet 0 MemberDecorate 171(PS_OUTPUT) 1 BuiltIn FragDepth - Decorate 180(g_sSamp2d) DescriptorSet 0 - Decorate 181(g_sSamp2D_b) DescriptorSet 0 - Decorate 182(g_tTex1df4a) DescriptorSet 0 - Decorate 182(g_tTex1df4a) Binding 1 + Decorate 182(g_sSamp2d) DescriptorSet 0 + Decorate 183(g_sSamp2D_b) DescriptorSet 0 + Decorate 184(g_tTex1df4a) DescriptorSet 0 + Decorate 184(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -181,9 +182,11 @@ Linked fragment stage: 174: 35(float) Constant 1065353216 175: 36(fvec4) ConstantComposite 174 174 174 174 177: TypePointer Function 35(float) - 180(g_sSamp2d): 44(ptr) Variable UniformConstant -181(g_sSamp2D_b): 44(ptr) Variable UniformConstant -182(g_tTex1df4a): 40(ptr) Variable UniformConstant + 179: TypePointer Output 171(PS_OUTPUT) +180(@entryPointOutput): 179(ptr) Variable Output + 182(g_sSamp2d): 44(ptr) Variable UniformConstant +183(g_sSamp2D_b): 44(ptr) Variable UniformConstant +184(g_tTex1df4a): 40(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 9(mtest): 8(ptr) Variable Function @@ -288,6 +291,7 @@ Linked fragment stage: Store 176 175 178: 177(ptr) AccessChain 173(psout) 10 Store 178 174 - 179:171(PS_OUTPUT) Load 173(psout) - ReturnValue 179 + 181:171(PS_OUTPUT) Load 173(psout) + Store 180(@entryPointOutput) 181 + Return FunctionEnd diff --git a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out index a0f896c3..d7f3003e 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out @@ -7,13 +7,13 @@ Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 183 +// Id's are bound by 185 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" + EntryPoint Fragment 4 "main" 180 ExecutionMode 4 OriginUpperLeft Decorate 41 DescriptorSet 0 Decorate 41 Binding 0 @@ -31,10 +31,10 @@ Linked fragment stage: Decorate 156 DescriptorSet 0 Decorate 165 DescriptorSet 0 MemberDecorate 171 1 BuiltIn FragDepth - Decorate 180 DescriptorSet 0 - Decorate 181 DescriptorSet 0 Decorate 182 DescriptorSet 0 - Decorate 182 Binding 1 + Decorate 183 DescriptorSet 0 + Decorate 184 DescriptorSet 0 + Decorate 184 Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -134,9 +134,11 @@ Linked fragment stage: 174: 35(float) Constant 1065353216 175: 36(fvec4) ConstantComposite 174 174 174 174 177: TypePointer Function 35(float) - 180: 44(ptr) Variable UniformConstant - 181: 44(ptr) Variable UniformConstant - 182: 40(ptr) Variable UniformConstant + 179: TypePointer Output 171(struct) + 180: 179(ptr) Variable Output + 182: 44(ptr) Variable UniformConstant + 183: 44(ptr) Variable UniformConstant + 184: 40(ptr) Variable UniformConstant 4: 2 Function None 3 5: Label 9: 8(ptr) Variable Function @@ -241,6 +243,7 @@ Linked fragment stage: Store 176 175 178: 177(ptr) AccessChain 173 10 Store 178 174 - 179: 171(struct) Load 173 - ReturnValue 179 + 181: 171(struct) Load 173 + Store 180 181 + Return FunctionEnd diff --git a/Test/hlsl.entry-out.frag b/Test/hlsl.entry-out.frag new file mode 100644 index 00000000..72389914 --- /dev/null +++ b/Test/hlsl.entry-out.frag @@ -0,0 +1,12 @@ +struct OutParam { + float2 v; + int2 i; +}; + +float4 PixelShaderFunction(float4 input, out float4 out1, out OutParam out2) : COLOR0 +{ + out1 = input; + out2.v = 2.0; + out2.i = 3; + return out1; +} diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index 070089c5..516f434a 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "Overload400-PrecQual.1442" -#define GLSLANG_DATE "26-Aug-2016" +#define GLSLANG_REVISION "Overload400-PrecQual.1444" +#define GLSLANG_DATE "28-Aug-2016" diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index 2e51bb48..8c9b5558 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -83,6 +83,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.constructexpr.frag", "main"}, {"hlsl.discard.frag", "PixelShaderFunction"}, {"hlsl.doLoop.frag", "PixelShaderFunction"}, + {"hlsl.entry-out.frag", "PixelShaderFunction"}, {"hlsl.float1.frag", "PixelShaderFunction"}, {"hlsl.float4.frag", "PixelShaderFunction"}, {"hlsl.forLoop.frag", "PixelShaderFunction"}, diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index 2b5d6c0f..7ca93d07 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -55,7 +55,8 @@ HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& int contextPragma(true, false), loopNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), postMainReturn(false), limits(resources.limits), - afterEOF(false) + afterEOF(false), + entryPointOutput(nullptr) { // ensure we always have a linkage node, even if empty, to simplify tree topology algorithms linkage = new TIntermAggregate; @@ -754,9 +755,20 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l inEntrypoint = (function.getName() == intermediate.getEntryPoint().c_str()); if (inEntrypoint) { - // parameters are actually shader-level inputs - for (int i = 0; i < function.getParamCount(); i++) - function[i].type->getQualifier().storage = EvqVaryingIn; + // in parameters are actually shader-scoped inputs (in) + for (int i = 0; i < function.getParamCount(); i++) { + if (function[i].type->getQualifier().storage == EvqIn || + function[i].type->getQualifier().storage == EvqConstReadOnly) + function[i].type->getQualifier().storage = EvqVaryingIn; + else + function[i].type->getQualifier().storage = EvqVaryingOut; + } + + // return value is actually shader-scoped output (out) + if (function.getType().getBasicType() != EbtVoid) { + entryPointOutput = makeInternalVariable("@entryPointOutput", function.getType()); + entryPointOutput->getWritableType().getQualifier().storage = EvqVaryingOut; + } } // @@ -805,17 +817,36 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l // if necessary. TIntermNode* HlslParseContext::handleReturnValue(const TSourceLoc& loc, TIntermTyped* value) { + TIntermTyped* converted = value; + if (currentFunctionType->getBasicType() == EbtVoid) { error(loc, "void function cannot return a value", "return", ""); return intermediate.addBranch(EOpReturn, loc); } else if (*currentFunctionType != value->getType()) { - TIntermTyped* converted = intermediate.addConversion(EOpReturn, *currentFunctionType, value); + converted = intermediate.addConversion(EOpReturn, *currentFunctionType, value); if (converted) { return intermediate.addBranch(EOpReturn, converted, loc); } else { error(loc, "type does not match, or is not convertible to, the function's return type", "return", ""); - return intermediate.addBranch(EOpReturn, value, loc); + converted = value; } + } + + // The entry point needs to send any return value to the entry-point output instead. + // So, a subtree is built up, as a two-part sequence, with the first part being an + // assignment subtree, and the second part being a return with no value. + // + // Otherwise, for a non entry point, just return a return statement. + if (inEntrypoint) { + assert(entryPointOutput != nullptr); // should have been error tested at the beginning + TIntermSymbol* left = new TIntermSymbol(entryPointOutput->getUniqueId(), entryPointOutput->getName(), + entryPointOutput->getType()); + TIntermNode* returnSequence = intermediate.addAssign(EOpAssign, left, converted, loc); + returnSequence = intermediate.makeAggregate(returnSequence); + returnSequence = intermediate.growAggregate(returnSequence, intermediate.addBranch(EOpReturn, loc)); + returnSequence->getAsAggregate()->setOperator(EOpSequence); + + return returnSequence; } else return intermediate.addBranch(EOpReturn, value, loc); } diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h index 659ec4a7..4f8a2e9a 100755 --- a/hlsl/hlslParseHelper.h +++ b/hlsl/hlslParseHelper.h @@ -196,6 +196,7 @@ protected: TString currentCaller; // name of last function body entered (not valid when at global scope) TIdSetType inductiveLoopIds; TVector needsIndexLimitationChecking; + TVariable* entryPointOutput; // // Geometry shader input arrays: