[Mesa-dev] [PATCH] mesa: check fbo completeness based on internal format, not driver format
Ilia Mirkin
imirkin at alum.mit.edu
Thu Feb 18 01:35:49 UTC 2016
The underlying format can be anything. Specifically in the stencil-only
case, it might be a depth/stencil format. However we still want to
refuse such an attachment when bound to GL_DEPTH, so we must check the
base format that the texture was created with, rather than backed out
from the driver-supplied underlying format.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: Brian Paul <brianp at vmware.com>
---
Brian, this is the patch I was alluding to in https://lists.freedesktop.org/archives/mesa-dev/2016-February/108009.html . It fixes the dEQP tests in question.
src/mesa/main/fbobject.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 1b9b692..1f10050 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -811,7 +811,7 @@ test_attachment_completeness(const struct gl_context *ctx, GLenum format,
break;
}
- baseFormat = _mesa_get_format_base_format(texImage->TexFormat);
+ baseFormat = texImage->_BaseFormat;
if (format == GL_COLOR) {
if (!_mesa_is_legal_color_format(ctx, baseFormat)) {
@@ -868,8 +868,7 @@ test_attachment_completeness(const struct gl_context *ctx, GLenum format,
}
}
else if (att->Type == GL_RENDERBUFFER_EXT) {
- const GLenum baseFormat =
- _mesa_get_format_base_format(att->Renderbuffer->Format);
+ const GLenum baseFormat = att->Renderbuffer->_BaseFormat;
assert(att->Renderbuffer);
if (!att->Renderbuffer->InternalFormat ||
--
2.4.10
More information about the mesa-dev
mailing list