st/mesa: make st_manager.c set have[Stencil|Depth]Buffer only if bits > 0

Fixes a segfault when clearing a non-existent stencil buffer.
This commit is contained in:
Luca Barbieri 2010-03-23 17:40:42 +01:00
parent fff86eb0aa
commit 9f0e302cc7
1 changed files with 3 additions and 3 deletions

View File

@ -333,15 +333,15 @@ st_visual_to_context_mode(const struct st_visual *visual,
}
if (visual->depth_stencil_format != PIPE_FORMAT_NONE) {
mode->haveDepthBuffer = GL_TRUE;
mode->haveStencilBuffer = GL_TRUE;
mode->depthBits =
util_format_get_component_bits(visual->depth_stencil_format,
UTIL_FORMAT_COLORSPACE_ZS, 0);
mode->stencilBits =
util_format_get_component_bits(visual->depth_stencil_format,
UTIL_FORMAT_COLORSPACE_ZS, 1);
mode->haveDepthBuffer = mode->depthBits > 0;
mode->haveStencilBuffer = mode->stencilBits > 0;
}
if (visual->accum_format != PIPE_FORMAT_NONE) {