EXTERN_C_ENTER

JNIEXPORT void JNICALL Java_org_lwjgl_opengles_EXTDrawBuffers_nglDrawBuffersEXT__IJ(JNIEnv *__env, jclass clazz, jint n, jlong bufsAddress) {
    glDrawBuffersEXTPROC glDrawBuffersEXT = (glDrawBuffersEXTPROC)tlsGetFunction(410);
    intptr_t bufs = (intptr_t)bufsAddress;
    UNUSED_PARAM(clazz)
    glDrawBuffersEXT(n, bufs);
}
void AbstractFramebuffer::drawBuffersImplementationEXT(GLsizei count, const GLenum* buffers) {
    bindInternal(FramebufferTarget::Draw);

    #ifndef CORRADE_TARGET_NACL
    glDrawBuffersEXT(count, buffers);
    #else
    static_cast<void>(count);
    static_cast<void>(buffers);
    CORRADE_ASSERT_UNREACHABLE();
    #endif
}
Пример #3
0
static GLboolean
run_test(void)
{
	const GLenum back = GL_BACK;
	const GLenum att0 = GL_COLOR_ATTACHMENT0;
	GLuint fbo;
	GLint max_buffers;

	glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);

	/* Error cases when default framebuffer is bound. */
	glDrawBuffersEXT(0, &back);
	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
		return false;

	glDrawBuffersEXT(2, &back);
	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
		return false;

	glDrawBuffersEXT(3, &att0);
	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
		return false;

	/* Positive case with default framebuffer. */
	glDrawBuffersEXT(1, &back);
	if (!piglit_check_gl_error(GL_NO_ERROR))
		return false;

	/* Create user fbo for rest of the tests. */
	fbo = create_fbo();
	if (!fbo || !piglit_check_gl_error(GL_NO_ERROR))
		return false;

	/* Error cases when user framebuffer is bound. */
	glBindFramebuffer(GL_FRAMEBUFFER, fbo);

	glDrawBuffersEXT(3, invalid_buffer_list);
	if (!piglit_check_gl_error(GL_INVALID_OPERATION))
		return false;

	glGetIntegerv(GL_MAX_DRAW_BUFFERS_EXT, &max_buffers);
	if (!piglit_check_gl_error(GL_NO_ERROR))
		return false;

	glDrawBuffersEXT(max_buffers + 1, valid_buffer_list);
	if (!piglit_check_gl_error(GL_INVALID_VALUE))
		return false;

	/* Positive case with user framebuffer. */
	glDrawBuffersEXT(TEXTURE_AMOUNT, valid_buffer_list);
	if (!piglit_check_gl_error(GL_NO_ERROR))
		return false;

	return true;
}