freedreno/a3xx/compiler: highp frag shader
authorRob Clark <robclark@freedesktop.org>
Thu, 31 Oct 2013 13:59:49 +0000 (09:59 -0400)
committerRob Clark <robclark@freedesktop.org>
Sat, 2 Nov 2013 00:19:42 +0000 (20:19 -0400)
commita53fe2221c3d48b3b1c8bdf4c2da33fe91ad7cda
tree4c0f7114b174a80b9bd7b10aeb3a922df8ab8956
parent310fd5839cd5f221680de8a80ae97e099e0116b7
freedreno/a3xx/compiler: highp frag shader

Fixes use of full-precision in fragment shader (ie. don't clobber r0.x
since that can be used by future bary instructions for varying fetch).
And makes use of full-precision the default in fragment shader (but can
be overriden via FD_MESA_DEBUG=fraghalf).

Seems like half precision is often not enough for texture coordinates.
The blob compiler is clever enough to keep texture coords in full
precision registers while using half precision for everything else.  But
we aren't quite that clever yet, so better to default to full precision.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/a3xx/fd3_compiler.c
src/gallium/drivers/freedreno/a3xx/fd3_program.c
src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/freedreno/freedreno_util.h