Пример #1
0
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);
}