vtn: Fix atan2 for non-scalars.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 27 Jan 2016 23:07:18 +0000 (15:07 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 27 Jan 2016 23:07:42 +0000 (15:07 -0800)
commit9f954310e82a1500a7b1370e95b60670f8a84ac0
treec8d39ef024ee87923ae300e450beb1ee299d7060
parentf92a35d831cf54f2244d5510932fd17c97b02ce4
vtn: Fix atan2 for non-scalars.

The if/then/else block was bogus, as it can only take a scalar
condition, and we need to select component-wise.  The GLSL IR
implementation of atan2 handles this by looping over components,
but I decided to try and do it vector-wise, and messed up.

For now, just bcsel.  It means that we do the atan1 math even if
all components hit the quick case, but it works, and presumably
at least one component will hit the expensive path anyway.
src/glsl/nir/spirv/vtn_glsl450.c