mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
intel: Fix false positives in checking for non-packed depth/stencil RB.
The wine d3d9 visual.c testcase was tripping over this and failing. Presumably it's binding a packed depth/stencil texture to both stencil and depth attachment points, and we make a new renderbuffer wrapper for each in that case.
This commit is contained in:
parent
089144e4e5
commit
a099644755
1 changed files with 14 additions and 7 deletions
|
|
@ -592,13 +592,20 @@ intel_validate_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb)
|
|||
int i;
|
||||
|
||||
if (depthRb && stencilRb && stencilRb != depthRb) {
|
||||
/* we only support combined depth/stencil buffers, not separate
|
||||
* stencil buffers.
|
||||
*/
|
||||
DBG("Only supports combined depth/stencil (found %s, %s)\n",
|
||||
depthRb ? _mesa_get_format_name(depthRb->Base.Format): "NULL",
|
||||
stencilRb ? _mesa_get_format_name(stencilRb->Base.Format): "NULL");
|
||||
fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT;
|
||||
if (ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Type == GL_TEXTURE &&
|
||||
ctx->DrawBuffer->Attachment[BUFFER_STENCIL].Type == GL_TEXTURE &&
|
||||
(ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Texture->Name ==
|
||||
ctx->DrawBuffer->Attachment[BUFFER_STENCIL].Texture->Name)) {
|
||||
/* OK */
|
||||
} else {
|
||||
/* we only support combined depth/stencil buffers, not separate
|
||||
* stencil buffers.
|
||||
*/
|
||||
DBG("Only supports combined depth/stencil (found %s, %s)\n",
|
||||
depthRb ? _mesa_get_format_name(depthRb->Base.Format): "NULL",
|
||||
stencilRb ? _mesa_get_format_name(stencilRb->Base.Format): "NULL");
|
||||
fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue