summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-02-14 22:32:36 +0200
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-02-18 13:27:35 +0200
commit69112a2a09404cc0ee7089a9f1f81ff1feac586f (patch)
tree16690f31bb94725cd932ac30a693513b3978ffd7 /test
parent93cfca4d4e3294e777d0654d5b7812a35a9ab064 (diff)
downloadqtlocation-mapboxgl-69112a2a09404cc0ee7089a9f1f81ff1feac586f.tar.gz
[gl] Updated CustomLayer tests
Diffstat (limited to 'test')
-rw-r--r--test/api/custom_layer.cpp50
1 files changed, 24 insertions, 26 deletions
diff --git a/test/api/custom_layer.cpp b/test/api/custom_layer.cpp
index 73258534d9..2a831b50d9 100644
--- a/test/api/custom_layer.cpp
+++ b/test/api/custom_layer.cpp
@@ -7,6 +7,7 @@
#include <mbgl/layer/custom_layer.hpp>
#include <mbgl/util/io.hpp>
#include <mbgl/util/mat4.hpp>
+#include <mbgl/gl/gl_object_store.hpp>
using namespace mbgl;
@@ -17,38 +18,35 @@ class TestLayer {
public:
~TestLayer() {
if (program) {
- MBGL_CHECK_ERROR(glDeleteBuffers(1, &buffer));
- MBGL_CHECK_ERROR(glDetachShader(program, vertexShader));
- MBGL_CHECK_ERROR(glDetachShader(program, fragmentShader));
- MBGL_CHECK_ERROR(glDeleteShader(vertexShader));
- MBGL_CHECK_ERROR(glDeleteShader(fragmentShader));
- MBGL_CHECK_ERROR(glDeleteProgram(program));
+ MBGL_CHECK_ERROR(glDetachShader(program.getID(), vertexShader.getID()));
+ MBGL_CHECK_ERROR(glDetachShader(program.getID(), fragmentShader.getID()));
}
}
void initialize() {
- program = MBGL_CHECK_ERROR(glCreateProgram());
- vertexShader = MBGL_CHECK_ERROR(glCreateShader(GL_VERTEX_SHADER));
- fragmentShader = MBGL_CHECK_ERROR(glCreateShader(GL_FRAGMENT_SHADER));
+ program.create();
+ vertexShader.create();
+ fragmentShader.create();
- MBGL_CHECK_ERROR(glShaderSource(vertexShader, 1, &vertexShaderSource, nullptr));
- MBGL_CHECK_ERROR(glCompileShader(vertexShader));
- MBGL_CHECK_ERROR(glAttachShader(program, vertexShader));
- MBGL_CHECK_ERROR(glShaderSource(fragmentShader, 1, &fragmentShaderSource, nullptr));
- MBGL_CHECK_ERROR(glCompileShader(fragmentShader));
- MBGL_CHECK_ERROR(glAttachShader(program, fragmentShader));
- MBGL_CHECK_ERROR(glLinkProgram(program));
- a_pos = glGetAttribLocation(program, "a_pos");
+ MBGL_CHECK_ERROR(glShaderSource(vertexShader.getID(), 1, &vertexShaderSource, nullptr));
+ MBGL_CHECK_ERROR(glCompileShader(vertexShader.getID()));
+ MBGL_CHECK_ERROR(glAttachShader(program.getID(), vertexShader.getID()));
+ MBGL_CHECK_ERROR(glShaderSource(fragmentShader.getID(), 1, &fragmentShaderSource, nullptr));
+ MBGL_CHECK_ERROR(glCompileShader(fragmentShader.getID()));
+ MBGL_CHECK_ERROR(glAttachShader(program.getID(), fragmentShader.getID()));
+ MBGL_CHECK_ERROR(glLinkProgram(program.getID()));
+ a_pos = glGetAttribLocation(program.getID(), "a_pos");
- GLfloat background[] = { -1,-1, 1,-1, -1,1, 1,1 };
- MBGL_CHECK_ERROR(glGenBuffers(1, &buffer));
- MBGL_CHECK_ERROR(glBindBuffer(GL_ARRAY_BUFFER, buffer));
+ buffer.create();
+ MBGL_CHECK_ERROR(glBindBuffer(GL_ARRAY_BUFFER, buffer.getID()));
+
+ GLfloat background[] = { -1,-1, 1,-1,-1, 1, 1, 1 };
MBGL_CHECK_ERROR(glBufferData(GL_ARRAY_BUFFER, 8 * sizeof(GLfloat), background, GL_STATIC_DRAW));
}
void render() {
- MBGL_CHECK_ERROR(glUseProgram(program));
- MBGL_CHECK_ERROR(glBindBuffer(GL_ARRAY_BUFFER, buffer));
+ MBGL_CHECK_ERROR(glUseProgram(program.getID()));
+ MBGL_CHECK_ERROR(glBindBuffer(GL_ARRAY_BUFFER, buffer.getID()));
MBGL_CHECK_ERROR(glEnableVertexAttribArray(a_pos));
MBGL_CHECK_ERROR(glVertexAttribPointer(a_pos, 2, GL_FLOAT, GL_FALSE, 0, NULL));
MBGL_CHECK_ERROR(glDisable(GL_STENCIL_TEST));
@@ -56,10 +54,10 @@ public:
MBGL_CHECK_ERROR(glDrawArrays(GL_TRIANGLE_STRIP, 0, 4));
}
- GLuint program = 0;
- GLuint vertexShader = 0;
- GLuint fragmentShader = 0;
- GLuint buffer = 0;
+ gl::ProgramHolder program;
+ gl::ShaderHolder vertexShader = { GL_VERTEX_SHADER };
+ gl::ShaderHolder fragmentShader = { GL_FRAGMENT_SHADER };
+ gl::BufferHolder buffer;
GLuint a_pos = 0;
};