Fix #809: smear scalar condition in OpSelect for selecting vector operands.

This commit is contained in:
John Kessenich 2017-03-30 10:09:28 -06:00
parent 4dc835c369
commit e434ad923e
6 changed files with 72 additions and 56 deletions

View file

@ -3,7 +3,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 374
// Id's are bound by 376
Capability Shader
Capability SampledRect
@ -16,7 +16,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
Capability StorageImageWriteWithoutFormat
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 132 142 152 248 362 373
EntryPoint Fragment 4 "main" 132 142 152 248 362 375
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
@ -42,7 +42,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
Name 248 "value"
Name 357 "wo2D"
Name 362 "fragData"
Name 373 "ic4D"
Name 375 "ic4D"
Decorate 15(i1D) DescriptorSet 0
Decorate 15(i1D) Binding 0
Decorate 27(i2D) DescriptorSet 0
@ -76,7 +76,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
Decorate 357(wo2D) DescriptorSet 0
Decorate 357(wo2D) Binding 1
Decorate 357(wo2D) NonReadable
Decorate 373(ic4D) Flat
Decorate 375(ic4D) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -164,9 +164,10 @@ Warning, version 450 is not yet complete; most version-specific features are pre
361: TypePointer Output 125(fvec4)
362(fragData): 361(ptr) Variable Output
367: TypeBool
371: TypeVector 6(int) 4
372: TypePointer Input 371(ivec4)
373(ic4D): 372(ptr) Variable Input
370: TypeVector 367(bool) 4
373: TypeVector 6(int) 4
374: TypePointer Input 373(ivec4)
375(ic4D): 374(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(iv): 8(ptr) Variable Function
@ -503,7 +504,8 @@ Warning, version 450 is not yet complete; most version-specific features are pre
366: 18(int) Bitcast 365
368: 367(bool) INotEqual 363 366
369: 125(fvec4) Load 127(v)
370: 125(fvec4) Select 368 369 129
Store 362(fragData) 370
371: 370(bvec4) CompositeConstruct 368 368 368 368
372: 125(fvec4) Select 371 369 129
Store 362(fragData) 372
Return
FunctionEnd