diff options
author | Eugeni Dodonov <eugeni@dodonov.net> | 2011-08-23 15:29:14 -0300 |
---|---|---|
committer | Eugeni Dodonov <eugeni@dodonov.net> | 2011-08-23 15:29:14 -0300 |
commit | 4a7ed6944e493320b645553cd1aa677026d7a67d (patch) | |
tree | b7ea7cd76ed87723597d50739502bf923f05c7d5 | |
parent | 7c2fee2b649ba6a39e6fa18ddf60eaca0706da4b (diff) |
More mapping and binding tests
-rw-r--r-- | tests/spec/ext_transform_feedback/ext_transform_feedback-api.c | 36 |
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; |