summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugeni Dodonov <eugeni@dodonov.net>2011-08-23 15:29:14 -0300
committerEugeni Dodonov <eugeni@dodonov.net>2011-08-23 15:29:14 -0300
commit4a7ed6944e493320b645553cd1aa677026d7a67d (patch)
treeb7ea7cd76ed87723597d50739502bf923f05c7d5
parent7c2fee2b649ba6a39e6fa18ddf60eaca0706da4b (diff)
More mapping and binding tests
-rw-r--r--tests/spec/ext_transform_feedback/ext_transform_feedback-api.c36
1 files changed, 28 insertions, 8 deletions
diff --git a/tests/spec/ext_transform_feedback/ext_transform_feedback-api.c b/tests/spec/ext_transform_feedback/ext_transform_feedback-api.c
index dcd44526..567cc2ac 100644
--- a/tests/spec/ext_transform_feedback/ext_transform_feedback-api.c
+++ b/tests/spec/ext_transform_feedback/ext_transform_feedback-api.c
@@ -53,7 +53,13 @@ test_new_tokens_feedback_buffer_ext()
GLuint buffer;
void *data;
GLenum valid_target = GL_TRANSFORM_FEEDBACK_BUFFER_EXT;
+ GLenum valid_accesses[] = {
+ GL_READ,
+ GL_WRITE,
+ GL_READ_WRITE
+ };
GLenum error;
+ int i;
glGenBuffers(1, &buffer);
/* BindBuffer test */
@@ -63,21 +69,35 @@ test_new_tokens_feedback_buffer_ext()
pass = false;
}
- /* MapBuffer */
- data = glMapBuffer(buffer, GL_READ_WRITE);
- /* TODO: check if data is set correctly - perhaps for operational test */
- error = glGetError();
- if (error == GL_INVALID_ENUM) {
- pass = false;
+ /* Test MapBuffer/UnmapBuffer with all kind of accesses */
+ for (i=0; i < sizeof(valid_accesses) / sizeof(valid_accesses[0]); i++) {
+ data = glMapBuffer(buffer, valid_accesses[i]);
+ /* TODO: check if data is set correctly - perhaps for operational test */
+ error = glGetError();
+ if (error == GL_INVALID_ENUM) {
+ pass = false;
+ }
+
+ /* UnmapBuffer */
+ glUnmapBuffer(buffer);
+ error = glGetError();
+ if (error == GL_INVALID_ENUM) {
+ pass = false;
+ }
}
- /* UnmapBuffer */
- glUnmapBuffer(buffer);
+ /* Test GetBufferSubData */
+ glGetBufferSubData(valid_target, 0, 0, data);
error = glGetError();
if (error == GL_INVALID_ENUM) {
pass = false;
}
+ /* TODO: test GetBufferPointerv */
+ /* TODO: test GetBindBufferRangeEXT */
+ /* TODO: test GetBindBufferOffsetEXT */
+ /* TODO: test GetBindBufferBaseEXT */
+
glDeleteBuffers(1, &buffer);
return pass;