Преглед изворни кода

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 година
родитељ
комит
9f0e302cc7
1 измењених фајлова са 3 додато и 3 уклоњено
  1. 3
    3
      src/mesa/state_tracker/st_manager.c

+ 3
- 3
src/mesa/state_tracker/st_manager.c Прегледај датотеку

@@ -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…
Откажи
Сачувај