9 #ifndef ANGLE_TESTS_GL_RAII_H_ 10 #define ANGLE_TESTS_GL_RAII_H_ 25 template <GLGen GenF, GLDelete DeleteF>
54 : mHandle(0), mVertexShader(vertexShader), mFragmentShader(fragmentShader)
66 if (!mComputeShader.empty())
85 #define ANGLE_GL_PROGRAM(name, vertex, fragment) \ 86 GLProgram name(vertex, fragment); \ 87 ASSERT_NE(0u, name.get()); 89 #define ANGLE_GL_COMPUTE_PROGRAM(name, compute) \ 90 GLProgram name(compute); \ 91 ASSERT_NE(0u, name.get()); 95 #endif // ANGLE_TESTS_GL_RAII_H_ GLWrapper()
Definition: gl_raii.h:29
~GLWrapper()
Definition: gl_raii.h:30
void GL_APIENTRY glGenBuffers(GLsizei n, GLuint *buffers)
Definition: libGLESv2.cpp:264
void GL_APIENTRY glDeleteProgram(GLuint program)
Definition: libGLESv2.cpp:169
GLuint CompileComputeProgram(const std::string &csSource, bool outputErrorMessages)
Definition: shader_utils.cpp:175
GLuint CompileProgram(const std::string &vsSource, const std::string &fsSource)
Definition: shader_utils.cpp:157
Definition: Platform.h:33
unsigned int GLuint
Definition: gl2.h:70
decltype(glGenBuffers) GLGen
Definition: gl_raii.h:22
GLProgram(const std::string &vertexShader, const std::string &fragmentShader)
Definition: gl_raii.h:53
GLsizei const GLchar *const * string
Definition: gl2.h:479
~GLProgram()
Definition: gl_raii.h:60
GLProgram(const std::string &computeShader)
Definition: gl_raii.h:58
decltype(glDeleteBuffers) GLDelete
Definition: gl_raii.h:23
void GL_APIENTRY glDeleteBuffers(GLsizei n, const GLuint *buffers)
Definition: libGLESv2.cpp:159