st/mesa: fix accum buffer allocation in st_renderbuffer_alloc_storage()
authorBrian Paul <brianp@vmware.com>
Mon, 21 Nov 2011 20:59:35 +0000 (13:59 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 22 Nov 2011 13:39:41 +0000 (06:39 -0700)
commitc87d1a3c3d24924f8af082e47c18a6d535419089
treefb46de78d26f804c79eaebce3fa9c05acc8e21e5
parent0fe14178dbd5b350082a06c7488b6077362a85e3
st/mesa: fix accum buffer allocation in st_renderbuffer_alloc_storage()

If the gallium driver doesn't support PIPE_FORMAT_R16G16B16A16_SNORM
the call to st_choose_renderbuffer_format() would fail and we'd generate
an GL_OUT_OF_MEMORY error.  We'd never get to the subsequent code that
handles software/malloc-based renderbuffers.

Add a special-case check for PIPE_FORMAT_R16G16B16A16_SNORM which is used
for software-based accum buffers.  This could be fixed in other ways but
it would be a much larger patch.  st_renderbuffer_alloc_storage() could
be reorganized in the future.

This fixes accum buffer allocation for the svga driver.

Note: This is a candidate for the 7.11 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
src/mesa/state_tracker/st_cb_fbo.c