Mesa (master): main: fix return GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL value
Iago Toral Quiroga
itoral at kemper.freedesktop.org
Tue Jan 13 11:20:27 UTC 2015
Module: Mesa
Branch: master
Commit: 8e49a3e028b9526d2ab7662a9f6683a72b6b6787
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e49a3e028b9526d2ab7662a9f6683a72b6b6787
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date: Thu Dec 11 23:34:13 2014 +0100
main: fix return GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL value
Return the proper value for two-dimensional array texture and three-dimensional
textures.
>From OpenGL ES 3.0 spec, chapter 6.1.13 "Framebuffer Object Queries",
page 234:
"If pname is FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER and the texture
object named FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a layer of a
three-dimensional texture or a two-dimensional array texture, then params
will contain the number of the texture layer which contains the attached im-
age. Otherwise params will contain the value zero."
Furthermore, FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is an alias of
FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT.
This patch fixes dEQP test:
dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_texture_layer
Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
---
src/mesa/main/fbobject.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index cb26681..d3e941d 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -2889,7 +2889,8 @@ _mesa_GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment,
_mesa_error(ctx, err,
"glGetFramebufferAttachmentParameteriv(pname)");
} else if (att->Type == GL_TEXTURE) {
- if (att->Texture && att->Texture->Target == GL_TEXTURE_3D) {
+ if (att->Texture && (att->Texture->Target == GL_TEXTURE_3D ||
+ att->Texture->Target == GL_TEXTURE_2D_ARRAY)) {
*params = att->Zoffset;
}
else {
More information about the mesa-commit
mailing list