[Piglit] [PATCH] util: fix broken depth/stencil FBO setup
Brian Paul
brianp at vmware.com
Thu Jun 14 13:46:50 PDT 2012
The call to glTexImage2D(internalFormat=GL_DEPTH_STENCIL, format=GL_RGBA,
type=GL_UNSIGNED_BYTE) generated in invalid operation error since the
formats disagreed. The subsquent glFramebufferTexture2D() calls failed
too. And Mesa hit a failed assertion (ex: piglit drawpix-z -fbo).
Fixed by passing the correct format/type values to glTexImage2D.
Also, GL_DEPTH_STENCIL and GL_DEPTH_STENCIL_OES have the same value so
remove the compile-time #if/#else.
---
tests/util/piglit-framework-fbo.c | 15 +++++----------
1 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/tests/util/piglit-framework-fbo.c b/tests/util/piglit-framework-fbo.c
index 37411e3..0444c37 100644
--- a/tests/util/piglit-framework-fbo.c
+++ b/tests/util/piglit-framework-fbo.c
@@ -256,19 +256,14 @@ piglit_framework_fbo_gl_init()
0);
if (piglit_window_mode & (GLUT_DEPTH | GLUT_STENCIL)) {
- GLenum depth_stencil;
-
-#ifdef USE_OPENGL
- depth_stencil = GL_DEPTH_STENCIL;
-#else
- depth_stencil = GL_DEPTH_STENCIL_OES;
-#endif
-
+ /* Create a combined depth+stencil texture and attach it
+ * to the depth and stencil attachment points.
+ */
glGenTextures(1, &depth);
glBindTexture(GL_TEXTURE_2D, depth);
- glTexImage2D(GL_TEXTURE_2D, 0, depth_stencil,
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_STENCIL,
piglit_width, piglit_height, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+ GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, NULL);
glFramebufferTexture2D(GL_FRAMEBUFFER,
GL_DEPTH_ATTACHMENT,
GL_TEXTURE_2D,
--
1.7.3.4
More information about the Piglit
mailing list