void piglit_init(int argc, char **argv) { bool pass = true; GLuint fb; GLuint rb; piglit_require_extension("GL_ARB_framebuffer_object"); glGenRenderbuffers(1, &rb); glGenFramebuffers(1, &fb); glBindRenderbuffer(GL_RENDERBUFFER, rb); glBindFramebuffer(GL_FRAMEBUFFER, fb); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_STENCIL, 200, 200); glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, rb); pass = piglit_check_gl_error(0) && pass; pass = check_attachment(GL_DEPTH_ATTACHMENT, rb) && pass; pass = check_attachment(GL_STENCIL_ATTACHMENT, rb) && pass; pass = check_attachment(GL_DEPTH_STENCIL_ATTACHMENT, rb) && pass; pass = piglit_check_gl_error(0) && pass; piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL); }
void piglit_init(int argc, char **argv) { bool pass = true; GLuint fb; GLuint tex; piglit_require_extension("GL_ARB_framebuffer_object"); glGenTextures(1, &tex); glGenFramebuffers(1, &fb); glBindTexture(GL_TEXTURE_2D, tex); glBindFramebuffer(GL_FRAMEBUFFER, fb); glTexImage2D(GL_TEXTURE_2D, 0, /*level*/ GL_DEPTH_STENCIL, 200, 200, /*width, height*/ 0, /*border*/ GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, NULL); glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_TEXTURE_2D, tex, 0); /*level*/ pass = piglit_check_gl_error(0) && pass; pass = check_attachment(GL_DEPTH_ATTACHMENT, tex) && pass; pass = check_attachment(GL_STENCIL_ATTACHMENT, tex) && pass; pass = check_attachment(GL_DEPTH_STENCIL_ATTACHMENT, tex) && pass; pass = piglit_check_gl_error(0) && pass; piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL); }