SPV: Create more access chains addressing a few swizzling issues.

- Fixes #1233
- Treats local bools like anything else
- more consistently deals with a dynamic component selection
This commit is contained in:
John Kessenich
2018-02-05 14:44:14 -07:00
parent 2651ccaec8
commit 5c3eed542d
8 changed files with 764 additions and 716 deletions

View File

@@ -1368,18 +1368,18 @@ spv.400.frag
997: 10(float) Select 995 996 21
998: 39(float) FConvert 997
999: 39(float) FAdd 994 998
1000: 437(bvec2) Load 439(bvec2v)
1001: 428(bool) CompositeExtract 1000 0
1000: 429(ptr) AccessChain 439(bvec2v) 33
1001: 428(bool) Load 1000
1002: 10(float) Select 1001 996 21
1003: 39(float) FConvert 1002
1004: 39(float) FAdd 999 1003
1005: 446(bvec3) Load 448(bvec3v)
1006: 428(bool) CompositeExtract 1005 0
1005: 429(ptr) AccessChain 448(bvec3v) 33
1006: 428(bool) Load 1005
1007: 10(float) Select 1006 996 21
1008: 39(float) FConvert 1007
1009: 39(float) FAdd 1004 1008
1010: 455(bvec4) Load 457(bvec4v)
1011: 428(bool) CompositeExtract 1010 0
1010: 429(ptr) AccessChain 457(bvec4v) 33
1011: 428(bool) Load 1010
1012: 10(float) Select 1011 996 21
1013: 39(float) FConvert 1012
1014: 39(float) FAdd 1009 1013