mesa: Identify packed depth/stencil buffers using the Format field.
authorNick Bowler <nbowler@draconx.ca>
Thu, 26 Aug 2010 14:26:21 +0000 (07:26 -0700)
committerBrian Paul <brianp@vmware.com>
Thu, 26 Aug 2010 14:42:24 +0000 (08:42 -0600)
commite71a9042cb5e046072d2ea8fbd22a01de625bf8a
tree1720fb74c8d66035439b77fcd335bd9698a63ceb
parentbda941e1b895547d680b68eaf28ae2db11e6149f
mesa: Identify packed depth/stencil buffers using the Format field.

Intel sometimes uses packed depth/stencil buffers even when only a depth
buffer or only a stencil buffer was requested.  Common code currently
uses the _BaseFormat field to determine whether a depth/stencil wrapper
is necessary.  But unless the user explicitly requested a packed
depth/stencil buffer, the _BaseFormat field does not encode this
information, and the required wrappers are not created.

The problem was introduced by commit 45e76d2665b38b ("mesa: remove a
bunch of gl_renderbuffer fields"), which killed off the _ActualFormat
field upon which the decision to create a wrapper used to be made.  This
patch changes the logic to use the Format field instead, which is more
like the old code.

Fixes fdo bug 27590.

Signed-off-by: Nick Bowler <nbowler@draconx.ca>
Signed-off-by: Brian Paul <brianp@vmware.com>
src/mesa/main/formats.c
src/mesa/main/formats.h
src/mesa/main/framebuffer.c