void
piglit_init(int argc, char **argv)
{
	bool pass = true;
	GLint64 data = -2;
	int i = 0;

	int stuff[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
	int size = sizeof(stuff);
	int offset = 1;
	int range = 5;

	GLuint buff = 0;
	glGenBuffers(1, &buff);

	for (i = 0; i < ARRAY_SIZE(buffers); i++) {
		glBindBuffer(buffers[i], buff);
		glBufferData(buffers[i], size, stuff, GL_STATIC_READ);
		glMapBufferRange(buffers[i], offset, range, GL_MAP_READ_BIT);

		glGetBufferParameteri64v(buffers[i], GL_BUFFER_SIZE, &data);
		if(data != size) {
			printf("GL_BUFFER_SIZE for %s expected %d, but %d "
				"was returned.\n",
				piglit_get_gl_enum_name(buffers[i]),
				size, (int)data);
			pass = false;
		}
		pass = piglit_check_gl_error(GL_NO_ERROR) && pass;

		glGetBufferParameteri64v(buffers[i], GL_BUFFER_MAP_OFFSET, &data);
		if(data != offset) {
			printf("GL_BUFFER_MAP_OFFSET for %s expected %d, but "
				"%d was returned.\n",
				piglit_get_gl_enum_name(buffers[i]),
				offset, (int)data);
			pass = false;
		}
		pass = piglit_check_gl_error(GL_NO_ERROR) && pass;

		glGetBufferParameteri64v(buffers[i], GL_BUFFER_MAP_LENGTH, &data);
		if(data != range) {
			printf("GL_BUFFER_MAP_LENGTH for %s expected %d, but "
				"%d was returned.\n",
				piglit_get_gl_enum_name(buffers[i]),
				range, (int)data);
			pass = false;
		}
		glUnmapBuffer(buffers[i]);
		pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
	}

	pass = piglit_check_gl_error(GL_NO_ERROR) && pass;

	piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
}
Example #2
0
EXTERN_C_ENTER

JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL32C_nglGetBufferParameteri64v__IIJ(JNIEnv *__env, jclass clazz, jint target, jint pname, jlong paramsAddress) {
    glGetBufferParameteri64vPROC glGetBufferParameteri64v = (glGetBufferParameteri64vPROC)tlsGetFunction(647);
    intptr_t params = (intptr_t)paramsAddress;
    UNUSED_PARAM(clazz)
    glGetBufferParameteri64v(target, pname, params);
}
Example #3
0
/*-------------------------------------
 * Query a buffer's size on the GPU.
-------------------------------------*/
GLint64 draw::get_buffer_size(const buffer_use_t bufferType) {
    GLint64 size = 0;
    glGetBufferParameteri64v(bufferType, GL_BUFFER_SIZE, &size);
    return size;
}
Example #4
0
/*-------------------------------------
 * Query the offset from the start of a mapped buffer.
-------------------------------------*/
GLint64 draw::get_buffer_map_offset(const buffer_use_t bufferType) {
    GLint64 offset = 0;
    glGetBufferParameteri64v(bufferType, GL_BUFFER_MAP_OFFSET, &offset);
    return offset;
}
Example #5
0
/*-------------------------------------
 * Get the amount of bytes that have been mapped from the GPU to CPU.
-------------------------------------*/
GLint64 draw::get_buffer_map_length(const buffer_use_t bufferType) {
    GLint64 mapLen = 0;
    glGetBufferParameteri64v(bufferType, GL_BUFFER_MAP_LENGTH, &mapLen);
    return mapLen;
}