void piglit_init(int argc, char **argv) { GLuint id; piglit_require_gl_version(15); piglit_require_GLSL(); piglit_require_extension("GL_EXT_transform_feedback"); piglit_require_extension("GL_ARB_transform_feedback2"); glGenTransformFeedbacks(1, &id); if (glIsTransformFeedback(id)) { fprintf(stderr, "id recognized incorrectly as a transform feedback object.\n"); piglit_report_result(PIGLIT_FAIL); } glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, id); if (!glIsTransformFeedback(id)) { fprintf(stderr, "id not recognized correctly as a transform feedback object.\n"); piglit_report_result(PIGLIT_FAIL); } piglit_report_result(PIGLIT_PASS); }
enum piglit_result piglit_display(void) { bool pass = true; GLuint ids[10]; /* Throw some invalid inputs at glCreateTransformFeedbacks. */ /* n is negative */ glCreateTransformFeedbacks(-1, ids); SUBTEST(GL_INVALID_VALUE, pass, "n < 0"); /* Throw some valid inputs at glCreateTransformFeedbacks. */ /* n is zero */ glCreateTransformFeedbacks(0, NULL); SUBTEST(GL_NO_ERROR, pass, "n == 0"); /* n is more than 1 */ glCreateTransformFeedbacks(10, ids); SUBTEST(GL_NO_ERROR, pass, "n > 1"); SUBTESTCONDITION(glIsTransformFeedback(ids[2]), pass, "IsTransformFeedback()"); /* the default state is tested in the following piglit test: * arb_direct_state_access-gettransformfeedback */ return pass ? PIGLIT_PASS : PIGLIT_FAIL; }
bool do_query_gl(void) { if(!does_have_ARB_transform_feedback2()) { return false; } GLuint x = 0; glGenTransformFeedbacks(1, &x); if(glGetError() != GL_NO_ERROR) { return false; } glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, x); if(glGetError() != GL_NO_ERROR) { return false; } if(glIsTransformFeedback(x) != GL_TRUE) { return false; } if(glGetError() != GL_NO_ERROR) { return false; } glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, 0); if(glGetError() != GL_NO_ERROR) { return false; } glDeleteTransformFeedbacks(1, &x); if(glGetError() != GL_NO_ERROR) { return false; } return true; }
JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL40_nglIsTransformFeedback(JNIEnv *__env, jclass clazz, jint id, jlong __functionAddress) { glIsTransformFeedbackPROC glIsTransformFeedback = (glIsTransformFeedbackPROC)(intptr_t)__functionAddress; UNUSED_PARAMS(__env, clazz) return (jboolean)glIsTransformFeedback(id); }