OSDN Git Service

i915: Use L8A8 instead of I8 to simulate A8 on gen2
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 7 Aug 2014 08:14:35 +0000 (11:14 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 13 Nov 2014 17:13:27 +0000 (19:13 +0200)
commit40a08e0d6a57cc79ee72a62aeedec20cae774ed5
tree5f70ae36404d229f028b9b10309c44e7272bad94
parent7988ff2fd1f56b2c78809937eaa663de02a144bc
i915: Use L8A8 instead of I8 to simulate A8 on gen2

Gen2 doesn't support the A8 texture format. Currently the driver
substitutes it with I8, but that results in incorrect RGB values.
Use A8L8 instead. We end up wasting a bit of memory, but at least
we should get the correct results.

v2: Handle the fallback in _mesa_choose_tex_format() and also
    do it for all alpha formats that currently accept A8

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72819
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80050
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38873
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
src/mesa/drivers/dri/i915/i830_texstate.c
src/mesa/drivers/dri/i915/i915_context.c
src/mesa/main/texformat.c