glsl: Clean up apply_implicit_conversion
authorChris Forbes <chrisf@ijw.co.nz>
Sun, 4 May 2014 08:23:54 +0000 (20:23 +1200)
committerChris Forbes <chrisf@ijw.co.nz>
Wed, 4 Jun 2014 07:35:47 +0000 (19:35 +1200)
commit1ace51f0918822a1453cc5e661494bcd7dba9ee9
treec80416c87632ce9daacc134d3ac9410f4d3819d1
parent9578bb21d07e2b2143120f34690a75f01f429127
glsl: Clean up apply_implicit_conversion

We're about to add new implicit conversions, first for ARB_gpu_shader5,
and then later for ARB_gpu_shader_fp64. Pull out the opcode
determination into its own function, and get rid of the bool -> float
case that could never be hit anyway [since it fails the is_numeric()
check].

V2: Retain the vector width mangling. It turns out this is necessary for
the conversions done (and then thrown away) when determining the return
type of arithmetic operators.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/ast_to_hir.cpp