Browse Source

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.
tags/mesa-7.9-rc1
Luca Barbieri 15 years ago
parent
commit
9f0e302cc7
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      src/mesa/state_tracker/st_manager.c

+ 3
- 3
src/mesa/state_tracker/st_manager.c 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) {

Loading…
Cancel
Save