[intel] Initialize a depth buffer if the visual has depth 24 but no stencil.

This commit is contained in:
Eric Anholt
2007-11-08 14:49:37 -08:00
parent 77a5bcaff4
commit 38c616260a

View File

@@ -655,7 +655,8 @@ intelCreateBuffer(__DRIscreenPrivate * driScrnPriv,
} }
} }
if (mesaVis->depthBits == 24 && mesaVis->stencilBits == 8) { if (mesaVis->depthBits == 24) {
if (mesaVis->stencilBits == 8) {
/* combined depth/stencil buffer */ /* combined depth/stencil buffer */
struct intel_renderbuffer *depthStencilRb struct intel_renderbuffer *depthStencilRb
= intel_create_renderbuffer(GL_DEPTH24_STENCIL8_EXT, = intel_create_renderbuffer(GL_DEPTH24_STENCIL8_EXT,
@@ -670,6 +671,18 @@ intelCreateBuffer(__DRIscreenPrivate * driScrnPriv,
&depthStencilRb->Base); &depthStencilRb->Base);
_mesa_add_renderbuffer(&intel_fb->Base, BUFFER_STENCIL, _mesa_add_renderbuffer(&intel_fb->Base, BUFFER_STENCIL,
&depthStencilRb->Base); &depthStencilRb->Base);
} else {
struct intel_renderbuffer *depthRb
= intel_create_renderbuffer(GL_DEPTH_COMPONENT24,
screen->width, screen->height,
screen->depth.offset,
screen->depth.pitch,
screen->cpp, /* 4! */
screen->depth.map);
intel_set_span_functions(&depthRb->Base);
_mesa_add_renderbuffer(&intel_fb->Base, BUFFER_DEPTH,
&depthRb->Base);
}
} }
else if (mesaVis->depthBits == 16) { else if (mesaVis->depthBits == 16) {
/* just 16-bit depth buffer, no hw stencil */ /* just 16-bit depth buffer, no hw stencil */