HLSL: Fix #1192: when bool operands are converted to ints, convert result type.
This commit is contained in:
parent
35682b5926
commit
070aaeafcd
@ -16,84 +16,74 @@ Shader version: 500
|
|||||||
0:4 0 (const int)
|
0:4 0 (const int)
|
||||||
0:6 add second child into first child ( temp int)
|
0:6 add second child into first child ( temp int)
|
||||||
0:6 'r' ( temp int)
|
0:6 'r' ( temp int)
|
||||||
0:6 Convert bool to int ( temp int)
|
0:6 add ( temp int)
|
||||||
0:6 add ( temp bool)
|
0:6 Convert bool to int ( temp int)
|
||||||
0:6 Convert bool to int ( temp int)
|
0:6 'a' ( global bool)
|
||||||
0:6 'a' ( global bool)
|
0:6 Convert bool to int ( temp int)
|
||||||
0:6 Convert bool to int ( temp int)
|
0:6 'b' ( global bool)
|
||||||
0:6 'b' ( global bool)
|
|
||||||
0:7 add second child into first child ( temp int)
|
0:7 add second child into first child ( temp int)
|
||||||
0:7 'r' ( temp int)
|
0:7 'r' ( temp int)
|
||||||
0:7 Convert bool to int ( temp int)
|
0:7 subtract ( temp int)
|
||||||
0:7 subtract ( temp bool)
|
0:7 Convert bool to int ( temp int)
|
||||||
0:7 Convert bool to int ( temp int)
|
0:7 'a' ( global bool)
|
||||||
0:7 'a' ( global bool)
|
0:7 Convert bool to int ( temp int)
|
||||||
0:7 Convert bool to int ( temp int)
|
0:7 'b' ( global bool)
|
||||||
0:7 'b' ( global bool)
|
|
||||||
0:8 add second child into first child ( temp int)
|
0:8 add second child into first child ( temp int)
|
||||||
0:8 'r' ( temp int)
|
0:8 'r' ( temp int)
|
||||||
0:8 Convert bool to int ( temp int)
|
0:8 component-wise multiply ( temp int)
|
||||||
0:8 component-wise multiply ( temp bool)
|
0:8 Convert bool to int ( temp int)
|
||||||
0:8 Convert bool to int ( temp int)
|
0:8 'a' ( global bool)
|
||||||
0:8 'a' ( global bool)
|
0:8 Convert bool to int ( temp int)
|
||||||
0:8 Convert bool to int ( temp int)
|
0:8 'b' ( global bool)
|
||||||
0:8 'b' ( global bool)
|
|
||||||
0:9 add second child into first child ( temp int)
|
0:9 add second child into first child ( temp int)
|
||||||
0:9 'r' ( temp int)
|
0:9 'r' ( temp int)
|
||||||
0:9 Convert bool to int ( temp int)
|
0:9 divide ( temp int)
|
||||||
0:9 divide ( temp bool)
|
0:9 Convert bool to int ( temp int)
|
||||||
0:9 Convert bool to int ( temp int)
|
0:9 'a' ( global bool)
|
||||||
0:9 'a' ( global bool)
|
0:9 Convert bool to int ( temp int)
|
||||||
0:9 Convert bool to int ( temp int)
|
0:9 'b' ( global bool)
|
||||||
0:9 'b' ( global bool)
|
|
||||||
0:10 add second child into first child ( temp int)
|
0:10 add second child into first child ( temp int)
|
||||||
0:10 'r' ( temp int)
|
0:10 'r' ( temp int)
|
||||||
0:10 Convert bool to int ( temp int)
|
0:10 mod ( temp int)
|
||||||
0:10 mod ( temp bool)
|
0:10 Convert bool to int ( temp int)
|
||||||
0:10 Convert bool to int ( temp int)
|
0:10 'a' ( global bool)
|
||||||
0:10 'a' ( global bool)
|
0:10 Convert bool to int ( temp int)
|
||||||
0:10 Convert bool to int ( temp int)
|
0:10 'b' ( global bool)
|
||||||
0:10 'b' ( global bool)
|
|
||||||
0:12 add second child into first child ( temp int)
|
0:12 add second child into first child ( temp int)
|
||||||
0:12 'r' ( temp int)
|
0:12 'r' ( temp int)
|
||||||
0:12 Convert bool to int ( temp int)
|
0:12 bitwise and ( temp int)
|
||||||
0:12 bitwise and ( temp bool)
|
0:12 Convert bool to int ( temp int)
|
||||||
0:12 Convert bool to int ( temp int)
|
0:12 'a' ( global bool)
|
||||||
0:12 'a' ( global bool)
|
0:12 Convert bool to int ( temp int)
|
||||||
0:12 Convert bool to int ( temp int)
|
0:12 'b' ( global bool)
|
||||||
0:12 'b' ( global bool)
|
|
||||||
0:13 add second child into first child ( temp int)
|
0:13 add second child into first child ( temp int)
|
||||||
0:13 'r' ( temp int)
|
0:13 'r' ( temp int)
|
||||||
0:13 Convert bool to int ( temp int)
|
0:13 inclusive-or ( temp int)
|
||||||
0:13 inclusive-or ( temp bool)
|
0:13 Convert bool to int ( temp int)
|
||||||
0:13 Convert bool to int ( temp int)
|
0:13 'a' ( global bool)
|
||||||
0:13 'a' ( global bool)
|
0:13 Convert bool to int ( temp int)
|
||||||
0:13 Convert bool to int ( temp int)
|
0:13 'b' ( global bool)
|
||||||
0:13 'b' ( global bool)
|
|
||||||
0:14 add second child into first child ( temp int)
|
0:14 add second child into first child ( temp int)
|
||||||
0:14 'r' ( temp int)
|
0:14 'r' ( temp int)
|
||||||
0:14 Convert bool to int ( temp int)
|
0:14 exclusive-or ( temp int)
|
||||||
0:14 exclusive-or ( temp bool)
|
0:14 Convert bool to int ( temp int)
|
||||||
0:14 Convert bool to int ( temp int)
|
0:14 'a' ( global bool)
|
||||||
0:14 'a' ( global bool)
|
0:14 Convert bool to int ( temp int)
|
||||||
0:14 Convert bool to int ( temp int)
|
0:14 'b' ( global bool)
|
||||||
0:14 'b' ( global bool)
|
|
||||||
0:16 add second child into first child ( temp int)
|
0:16 add second child into first child ( temp int)
|
||||||
0:16 'r' ( temp int)
|
0:16 'r' ( temp int)
|
||||||
0:16 Convert bool to int ( temp int)
|
0:16 left-shift ( temp int)
|
||||||
0:16 left-shift ( temp bool)
|
0:16 Convert bool to int ( temp int)
|
||||||
0:16 Convert bool to int ( temp int)
|
0:16 'a' ( global bool)
|
||||||
0:16 'a' ( global bool)
|
0:16 Convert bool to int ( temp int)
|
||||||
0:16 Convert bool to int ( temp int)
|
0:16 'b' ( global bool)
|
||||||
0:16 'b' ( global bool)
|
|
||||||
0:17 add second child into first child ( temp int)
|
0:17 add second child into first child ( temp int)
|
||||||
0:17 'r' ( temp int)
|
0:17 'r' ( temp int)
|
||||||
0:17 Convert bool to int ( temp int)
|
0:17 right-shift ( temp int)
|
||||||
0:17 right-shift ( temp bool)
|
0:17 Convert bool to int ( temp int)
|
||||||
0:17 Convert bool to int ( temp int)
|
0:17 'a' ( global bool)
|
||||||
0:17 'a' ( global bool)
|
0:17 Convert bool to int ( temp int)
|
||||||
0:17 Convert bool to int ( temp int)
|
0:17 'b' ( global bool)
|
||||||
0:17 'b' ( global bool)
|
|
||||||
0:19 Branch: Return with expression
|
0:19 Branch: Return with expression
|
||||||
0:19 Construct vec4 ( temp 4-component vector of float)
|
0:19 Construct vec4 ( temp 4-component vector of float)
|
||||||
0:19 Convert int to float ( temp float)
|
0:19 Convert int to float ( temp float)
|
||||||
@ -130,84 +120,74 @@ Shader version: 500
|
|||||||
0:4 0 (const int)
|
0:4 0 (const int)
|
||||||
0:6 add second child into first child ( temp int)
|
0:6 add second child into first child ( temp int)
|
||||||
0:6 'r' ( temp int)
|
0:6 'r' ( temp int)
|
||||||
0:6 Convert bool to int ( temp int)
|
0:6 add ( temp int)
|
||||||
0:6 add ( temp bool)
|
0:6 Convert bool to int ( temp int)
|
||||||
0:6 Convert bool to int ( temp int)
|
0:6 'a' ( global bool)
|
||||||
0:6 'a' ( global bool)
|
0:6 Convert bool to int ( temp int)
|
||||||
0:6 Convert bool to int ( temp int)
|
0:6 'b' ( global bool)
|
||||||
0:6 'b' ( global bool)
|
|
||||||
0:7 add second child into first child ( temp int)
|
0:7 add second child into first child ( temp int)
|
||||||
0:7 'r' ( temp int)
|
0:7 'r' ( temp int)
|
||||||
0:7 Convert bool to int ( temp int)
|
0:7 subtract ( temp int)
|
||||||
0:7 subtract ( temp bool)
|
0:7 Convert bool to int ( temp int)
|
||||||
0:7 Convert bool to int ( temp int)
|
0:7 'a' ( global bool)
|
||||||
0:7 'a' ( global bool)
|
0:7 Convert bool to int ( temp int)
|
||||||
0:7 Convert bool to int ( temp int)
|
0:7 'b' ( global bool)
|
||||||
0:7 'b' ( global bool)
|
|
||||||
0:8 add second child into first child ( temp int)
|
0:8 add second child into first child ( temp int)
|
||||||
0:8 'r' ( temp int)
|
0:8 'r' ( temp int)
|
||||||
0:8 Convert bool to int ( temp int)
|
0:8 component-wise multiply ( temp int)
|
||||||
0:8 component-wise multiply ( temp bool)
|
0:8 Convert bool to int ( temp int)
|
||||||
0:8 Convert bool to int ( temp int)
|
0:8 'a' ( global bool)
|
||||||
0:8 'a' ( global bool)
|
0:8 Convert bool to int ( temp int)
|
||||||
0:8 Convert bool to int ( temp int)
|
0:8 'b' ( global bool)
|
||||||
0:8 'b' ( global bool)
|
|
||||||
0:9 add second child into first child ( temp int)
|
0:9 add second child into first child ( temp int)
|
||||||
0:9 'r' ( temp int)
|
0:9 'r' ( temp int)
|
||||||
0:9 Convert bool to int ( temp int)
|
0:9 divide ( temp int)
|
||||||
0:9 divide ( temp bool)
|
0:9 Convert bool to int ( temp int)
|
||||||
0:9 Convert bool to int ( temp int)
|
0:9 'a' ( global bool)
|
||||||
0:9 'a' ( global bool)
|
0:9 Convert bool to int ( temp int)
|
||||||
0:9 Convert bool to int ( temp int)
|
0:9 'b' ( global bool)
|
||||||
0:9 'b' ( global bool)
|
|
||||||
0:10 add second child into first child ( temp int)
|
0:10 add second child into first child ( temp int)
|
||||||
0:10 'r' ( temp int)
|
0:10 'r' ( temp int)
|
||||||
0:10 Convert bool to int ( temp int)
|
0:10 mod ( temp int)
|
||||||
0:10 mod ( temp bool)
|
0:10 Convert bool to int ( temp int)
|
||||||
0:10 Convert bool to int ( temp int)
|
0:10 'a' ( global bool)
|
||||||
0:10 'a' ( global bool)
|
0:10 Convert bool to int ( temp int)
|
||||||
0:10 Convert bool to int ( temp int)
|
0:10 'b' ( global bool)
|
||||||
0:10 'b' ( global bool)
|
|
||||||
0:12 add second child into first child ( temp int)
|
0:12 add second child into first child ( temp int)
|
||||||
0:12 'r' ( temp int)
|
0:12 'r' ( temp int)
|
||||||
0:12 Convert bool to int ( temp int)
|
0:12 bitwise and ( temp int)
|
||||||
0:12 bitwise and ( temp bool)
|
0:12 Convert bool to int ( temp int)
|
||||||
0:12 Convert bool to int ( temp int)
|
0:12 'a' ( global bool)
|
||||||
0:12 'a' ( global bool)
|
0:12 Convert bool to int ( temp int)
|
||||||
0:12 Convert bool to int ( temp int)
|
0:12 'b' ( global bool)
|
||||||
0:12 'b' ( global bool)
|
|
||||||
0:13 add second child into first child ( temp int)
|
0:13 add second child into first child ( temp int)
|
||||||
0:13 'r' ( temp int)
|
0:13 'r' ( temp int)
|
||||||
0:13 Convert bool to int ( temp int)
|
0:13 inclusive-or ( temp int)
|
||||||
0:13 inclusive-or ( temp bool)
|
0:13 Convert bool to int ( temp int)
|
||||||
0:13 Convert bool to int ( temp int)
|
0:13 'a' ( global bool)
|
||||||
0:13 'a' ( global bool)
|
0:13 Convert bool to int ( temp int)
|
||||||
0:13 Convert bool to int ( temp int)
|
0:13 'b' ( global bool)
|
||||||
0:13 'b' ( global bool)
|
|
||||||
0:14 add second child into first child ( temp int)
|
0:14 add second child into first child ( temp int)
|
||||||
0:14 'r' ( temp int)
|
0:14 'r' ( temp int)
|
||||||
0:14 Convert bool to int ( temp int)
|
0:14 exclusive-or ( temp int)
|
||||||
0:14 exclusive-or ( temp bool)
|
0:14 Convert bool to int ( temp int)
|
||||||
0:14 Convert bool to int ( temp int)
|
0:14 'a' ( global bool)
|
||||||
0:14 'a' ( global bool)
|
0:14 Convert bool to int ( temp int)
|
||||||
0:14 Convert bool to int ( temp int)
|
0:14 'b' ( global bool)
|
||||||
0:14 'b' ( global bool)
|
|
||||||
0:16 add second child into first child ( temp int)
|
0:16 add second child into first child ( temp int)
|
||||||
0:16 'r' ( temp int)
|
0:16 'r' ( temp int)
|
||||||
0:16 Convert bool to int ( temp int)
|
0:16 left-shift ( temp int)
|
||||||
0:16 left-shift ( temp bool)
|
0:16 Convert bool to int ( temp int)
|
||||||
0:16 Convert bool to int ( temp int)
|
0:16 'a' ( global bool)
|
||||||
0:16 'a' ( global bool)
|
0:16 Convert bool to int ( temp int)
|
||||||
0:16 Convert bool to int ( temp int)
|
0:16 'b' ( global bool)
|
||||||
0:16 'b' ( global bool)
|
|
||||||
0:17 add second child into first child ( temp int)
|
0:17 add second child into first child ( temp int)
|
||||||
0:17 'r' ( temp int)
|
0:17 'r' ( temp int)
|
||||||
0:17 Convert bool to int ( temp int)
|
0:17 right-shift ( temp int)
|
||||||
0:17 right-shift ( temp bool)
|
0:17 Convert bool to int ( temp int)
|
||||||
0:17 Convert bool to int ( temp int)
|
0:17 'a' ( global bool)
|
||||||
0:17 'a' ( global bool)
|
0:17 Convert bool to int ( temp int)
|
||||||
0:17 Convert bool to int ( temp int)
|
0:17 'b' ( global bool)
|
||||||
0:17 'b' ( global bool)
|
|
||||||
0:19 Branch: Return with expression
|
0:19 Branch: Return with expression
|
||||||
0:19 Construct vec4 ( temp 4-component vector of float)
|
0:19 Construct vec4 ( temp 4-component vector of float)
|
||||||
0:19 Convert int to float ( temp float)
|
0:19 Convert int to float ( temp float)
|
||||||
@ -225,20 +205,20 @@ Shader version: 500
|
|||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80002
|
// Generated by (magic number): 80002
|
||||||
// Id's are bound by 109
|
// Id's are bound by 99
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Vertex 4 "main" 107
|
EntryPoint Vertex 4 "main" 97
|
||||||
Source HLSL 500
|
Source HLSL 500
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "@main("
|
Name 9 "@main("
|
||||||
Name 13 "b"
|
Name 13 "b"
|
||||||
Name 17 "r"
|
Name 17 "r"
|
||||||
Name 19 "a"
|
Name 19 "a"
|
||||||
Name 107 "@entryPointOutput"
|
Name 97 "@entryPointOutput"
|
||||||
Decorate 107(@entryPointOutput) BuiltIn Position
|
Decorate 97(@entryPointOutput) BuiltIn Position
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -253,13 +233,13 @@ Shader version: 500
|
|||||||
18: 15(int) Constant 0
|
18: 15(int) Constant 0
|
||||||
19(a): 12(ptr) Variable Private
|
19(a): 12(ptr) Variable Private
|
||||||
21: 15(int) Constant 1
|
21: 15(int) Constant 1
|
||||||
106: TypePointer Output 7(fvec4)
|
96: TypePointer Output 7(fvec4)
|
||||||
107(@entryPointOutput): 106(ptr) Variable Output
|
97(@entryPointOutput): 96(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
Store 13(b) 14
|
Store 13(b) 14
|
||||||
108: 7(fvec4) FunctionCall 9(@main()
|
98: 7(fvec4) FunctionCall 9(@main()
|
||||||
Store 107(@entryPointOutput) 108
|
Store 97(@entryPointOutput) 98
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
9(@main(): 7(fvec4) Function None 8
|
9(@main(): 7(fvec4) Function None 8
|
||||||
@ -270,62 +250,63 @@ Shader version: 500
|
|||||||
22: 15(int) Select 20 21 18
|
22: 15(int) Select 20 21 18
|
||||||
23: 11(bool) Load 13(b)
|
23: 11(bool) Load 13(b)
|
||||||
24: 15(int) Select 23 21 18
|
24: 15(int) Select 23 21 18
|
||||||
25: 11(bool) IAdd 22 24
|
25: 15(int) IAdd 22 24
|
||||||
26: 15(int) Select 25 21 18
|
26: 15(int) Load 17(r)
|
||||||
27: 15(int) Load 17(r)
|
27: 15(int) IAdd 26 25
|
||||||
28: 15(int) IAdd 27 26
|
Store 17(r) 27
|
||||||
Store 17(r) 28
|
28: 11(bool) Load 19(a)
|
||||||
29: 11(bool) Load 19(a)
|
29: 15(int) Select 28 21 18
|
||||||
30: 15(int) Select 29 21 18
|
30: 11(bool) Load 13(b)
|
||||||
31: 11(bool) Load 13(b)
|
31: 15(int) Select 30 21 18
|
||||||
32: 15(int) Select 31 21 18
|
32: 15(int) ISub 29 31
|
||||||
33: 11(bool) ISub 30 32
|
33: 15(int) Load 17(r)
|
||||||
34: 15(int) Select 33 21 18
|
34: 15(int) IAdd 33 32
|
||||||
35: 15(int) Load 17(r)
|
Store 17(r) 34
|
||||||
36: 15(int) IAdd 35 34
|
35: 11(bool) Load 19(a)
|
||||||
Store 17(r) 36
|
36: 15(int) Select 35 21 18
|
||||||
37: 11(bool) Load 19(a)
|
37: 11(bool) Load 13(b)
|
||||||
38: 15(int) Select 37 21 18
|
38: 15(int) Select 37 21 18
|
||||||
39: 11(bool) Load 13(b)
|
39: 15(int) IMul 36 38
|
||||||
40: 15(int) Select 39 21 18
|
40: 15(int) Load 17(r)
|
||||||
41: 11(bool) IMul 38 40
|
41: 15(int) IAdd 40 39
|
||||||
42: 15(int) Select 41 21 18
|
Store 17(r) 41
|
||||||
43: 15(int) Load 17(r)
|
42: 11(bool) Load 19(a)
|
||||||
44: 15(int) IAdd 43 42
|
43: 15(int) Select 42 21 18
|
||||||
Store 17(r) 44
|
44: 11(bool) Load 13(b)
|
||||||
45: 11(bool) Load 19(a)
|
45: 15(int) Select 44 21 18
|
||||||
46: 15(int) Select 45 21 18
|
46: 15(int) SDiv 43 45
|
||||||
47: 11(bool) Load 13(b)
|
47: 15(int) Load 17(r)
|
||||||
48: 15(int) Select 47 21 18
|
48: 15(int) IAdd 47 46
|
||||||
49: 11(bool) SDiv 46 48
|
Store 17(r) 48
|
||||||
|
49: 11(bool) Load 19(a)
|
||||||
50: 15(int) Select 49 21 18
|
50: 15(int) Select 49 21 18
|
||||||
51: 15(int) Load 17(r)
|
51: 11(bool) Load 13(b)
|
||||||
52: 15(int) IAdd 51 50
|
52: 15(int) Select 51 21 18
|
||||||
Store 17(r) 52
|
53: 15(int) SMod 50 52
|
||||||
53: 11(bool) Load 19(a)
|
54: 15(int) Load 17(r)
|
||||||
54: 15(int) Select 53 21 18
|
55: 15(int) IAdd 54 53
|
||||||
55: 11(bool) Load 13(b)
|
Store 17(r) 55
|
||||||
56: 15(int) Select 55 21 18
|
56: 11(bool) Load 19(a)
|
||||||
57: 11(bool) SMod 54 56
|
57: 15(int) Select 56 21 18
|
||||||
58: 15(int) Select 57 21 18
|
58: 11(bool) Load 13(b)
|
||||||
59: 15(int) Load 17(r)
|
59: 15(int) Select 58 21 18
|
||||||
60: 15(int) IAdd 59 58
|
60: 15(int) BitwiseAnd 57 59
|
||||||
Store 17(r) 60
|
61: 15(int) Load 17(r)
|
||||||
61: 11(bool) Load 19(a)
|
62: 15(int) IAdd 61 60
|
||||||
62: 15(int) Select 61 21 18
|
Store 17(r) 62
|
||||||
63: 11(bool) Load 13(b)
|
63: 11(bool) Load 19(a)
|
||||||
64: 15(int) Select 63 21 18
|
64: 15(int) Select 63 21 18
|
||||||
65: 11(bool) BitwiseAnd 62 64
|
65: 11(bool) Load 13(b)
|
||||||
66: 15(int) Select 65 21 18
|
66: 15(int) Select 65 21 18
|
||||||
67: 15(int) Load 17(r)
|
67: 15(int) BitwiseOr 64 66
|
||||||
68: 15(int) IAdd 67 66
|
68: 15(int) Load 17(r)
|
||||||
Store 17(r) 68
|
69: 15(int) IAdd 68 67
|
||||||
69: 11(bool) Load 19(a)
|
Store 17(r) 69
|
||||||
70: 15(int) Select 69 21 18
|
70: 11(bool) Load 19(a)
|
||||||
71: 11(bool) Load 13(b)
|
71: 15(int) Select 70 21 18
|
||||||
72: 15(int) Select 71 21 18
|
72: 11(bool) Load 13(b)
|
||||||
73: 11(bool) BitwiseOr 70 72
|
73: 15(int) Select 72 21 18
|
||||||
74: 15(int) Select 73 21 18
|
74: 15(int) BitwiseXor 71 73
|
||||||
75: 15(int) Load 17(r)
|
75: 15(int) Load 17(r)
|
||||||
76: 15(int) IAdd 75 74
|
76: 15(int) IAdd 75 74
|
||||||
Store 17(r) 76
|
Store 17(r) 76
|
||||||
@ -333,31 +314,20 @@ Shader version: 500
|
|||||||
78: 15(int) Select 77 21 18
|
78: 15(int) Select 77 21 18
|
||||||
79: 11(bool) Load 13(b)
|
79: 11(bool) Load 13(b)
|
||||||
80: 15(int) Select 79 21 18
|
80: 15(int) Select 79 21 18
|
||||||
81: 11(bool) BitwiseXor 78 80
|
81: 15(int) ShiftLeftLogical 78 80
|
||||||
82: 15(int) Select 81 21 18
|
82: 15(int) Load 17(r)
|
||||||
83: 15(int) Load 17(r)
|
83: 15(int) IAdd 82 81
|
||||||
84: 15(int) IAdd 83 82
|
Store 17(r) 83
|
||||||
Store 17(r) 84
|
84: 11(bool) Load 19(a)
|
||||||
85: 11(bool) Load 19(a)
|
85: 15(int) Select 84 21 18
|
||||||
86: 15(int) Select 85 21 18
|
86: 11(bool) Load 13(b)
|
||||||
87: 11(bool) Load 13(b)
|
87: 15(int) Select 86 21 18
|
||||||
88: 15(int) Select 87 21 18
|
88: 15(int) ShiftRightArithmetic 85 87
|
||||||
89: 11(bool) ShiftLeftLogical 86 88
|
89: 15(int) Load 17(r)
|
||||||
90: 15(int) Select 89 21 18
|
90: 15(int) IAdd 89 88
|
||||||
|
Store 17(r) 90
|
||||||
91: 15(int) Load 17(r)
|
91: 15(int) Load 17(r)
|
||||||
92: 15(int) IAdd 91 90
|
92: 6(float) ConvertSToF 91
|
||||||
Store 17(r) 92
|
93: 7(fvec4) CompositeConstruct 92 92 92 92
|
||||||
93: 11(bool) Load 19(a)
|
ReturnValue 93
|
||||||
94: 15(int) Select 93 21 18
|
|
||||||
95: 11(bool) Load 13(b)
|
|
||||||
96: 15(int) Select 95 21 18
|
|
||||||
97: 11(bool) ShiftRightArithmetic 94 96
|
|
||||||
98: 15(int) Select 97 21 18
|
|
||||||
99: 15(int) Load 17(r)
|
|
||||||
100: 15(int) IAdd 99 98
|
|
||||||
Store 17(r) 100
|
|
||||||
101: 15(int) Load 17(r)
|
|
||||||
102: 6(float) ConvertSToF 101
|
|
||||||
103: 7(fvec4) CompositeConstruct 102 102 102 102
|
|
||||||
ReturnValue 103
|
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|||||||
@ -2474,6 +2474,11 @@ bool TIntermediate::promoteBinary(TIntermBinary& node)
|
|||||||
return false;
|
return false;
|
||||||
node.setLeft(left);
|
node.setLeft(left);
|
||||||
node.setRight(right);
|
node.setRight(right);
|
||||||
|
|
||||||
|
// Update the original base assumption on result type..
|
||||||
|
node.setType(left->getType());
|
||||||
|
node.getWritableType().getQualifier().clear();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user