i965: Fix format of private renderbuffers
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 24 Apr 2014 11:11:44 +0000 (14:11 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 1 May 2014 20:56:34 +0000 (23:56 +0300)
commiteb502c31a0ed994258fca0c9d2fef6810dc64233
treec40aca7376f9b8d4e4f0376d6d8ef1675ec557a3
parentc1d4d4999303f9167b20f4e0674b9436e6295cf7
i965: Fix format of private renderbuffers

intel_alloc_renderbuffer_storage() will clobber rb->Format which was
already set up by intel_create_renderbuffer(). This causes the driver
to potentially create the depth buffer in the wrong format.

In practice this makes the depth buffer Z24 even if the visual has
depthBits==16.

The incorrect depth buffer format doesn't seem to cause any actual
problems in i965, but it seems like we should fix it anyway. I see
Z16 has been more or less deprecated in the driver except the for
the depthBits==16 case. But if we want to use Z24 even in that
case (not sure it's really legal?) it would look better if the
code made that decision explicitly rather than relying on the
format to get magically overwritten by the renderbuffer code.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
src/mesa/drivers/dri/i965/intel_fbo.c