[intel] Initialize a depth buffer if the visual has depth 24 but no stencil.
This commit is contained in:
@@ -655,21 +655,34 @@ intelCreateBuffer(__DRIscreenPrivate * driScrnPriv,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mesaVis->depthBits == 24 && mesaVis->stencilBits == 8) {
|
if (mesaVis->depthBits == 24) {
|
||||||
/* combined depth/stencil buffer */
|
if (mesaVis->stencilBits == 8) {
|
||||||
struct intel_renderbuffer *depthStencilRb
|
/* combined depth/stencil buffer */
|
||||||
= intel_create_renderbuffer(GL_DEPTH24_STENCIL8_EXT,
|
struct intel_renderbuffer *depthStencilRb
|
||||||
screen->width, screen->height,
|
= intel_create_renderbuffer(GL_DEPTH24_STENCIL8_EXT,
|
||||||
screen->depth.offset,
|
screen->width, screen->height,
|
||||||
screen->depth.pitch,
|
screen->depth.offset,
|
||||||
screen->cpp, /* 4! */
|
screen->depth.pitch,
|
||||||
screen->depth.map);
|
screen->cpp, /* 4! */
|
||||||
intel_set_span_functions(&depthStencilRb->Base);
|
screen->depth.map);
|
||||||
/* note: bind RB to two attachment points */
|
intel_set_span_functions(&depthStencilRb->Base);
|
||||||
_mesa_add_renderbuffer(&intel_fb->Base, BUFFER_DEPTH,
|
/* note: bind RB to two attachment points */
|
||||||
&depthStencilRb->Base);
|
_mesa_add_renderbuffer(&intel_fb->Base, BUFFER_DEPTH,
|
||||||
_mesa_add_renderbuffer(&intel_fb->Base, BUFFER_STENCIL,
|
&depthStencilRb->Base);
|
||||||
&depthStencilRb->Base);
|
_mesa_add_renderbuffer(&intel_fb->Base, BUFFER_STENCIL,
|
||||||
|
&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 */
|
||||||
|
Reference in New Issue
Block a user