diff --git a/libraries/gpu/src/gpu/Batch.h b/libraries/gpu/src/gpu/Batch.h index b369c05646..b91dea6b05 100644 --- a/libraries/gpu/src/gpu/Batch.h +++ b/libraries/gpu/src/gpu/Batch.h @@ -143,7 +143,8 @@ public: void _glBindTexture(GLenum target, GLuint texture); void _glActiveTexture(GLenum texture); - + void _glTexParameteri(GLenum target, GLenum pname, GLint param); + void _glDrawBuffers(GLsizei n, const GLenum* bufs); void _glUseProgram(GLuint program); @@ -201,6 +202,7 @@ public: COMMAND_glBindTexture, COMMAND_glActiveTexture, + COMMAND_glTexParameteri, COMMAND_glDrawBuffers, diff --git a/libraries/gpu/src/gpu/GLBackend.cpp b/libraries/gpu/src/gpu/GLBackend.cpp index a84af10a82..0dde9699f2 100644 --- a/libraries/gpu/src/gpu/GLBackend.cpp +++ b/libraries/gpu/src/gpu/GLBackend.cpp @@ -54,6 +54,7 @@ GLBackend::CommandCall GLBackend::_commandCalls[Batch::NUM_COMMANDS] = (&::gpu::GLBackend::do_glBindTexture), (&::gpu::GLBackend::do_glActiveTexture), + (&::gpu::GLBackend::do_glTexParameteri), (&::gpu::GLBackend::do_glDrawBuffers), @@ -381,6 +382,22 @@ void GLBackend::do_glActiveTexture(Batch& batch, uint32 paramOffset) { (void) CHECK_GL_ERROR(); } +void Batch::_glTexParameteri(GLenum target, GLenum pname, GLint param) { + ADD_COMMAND_GL(glTexParameteri); + + _params.push_back(param); + _params.push_back(pname); + _params.push_back(target); + + DO_IT_NOW(glTexParameteri, 3); +} +void GLBackend::do_glTexParameteri(Batch& batch, uint32 paramOffset) { + glTexParameteri(batch._params[paramOffset + 2]._uint, + batch._params[paramOffset + 1]._uint, + batch._params[paramOffset + 0]._int); + (void) CHECK_GL_ERROR(); +} + void Batch::_glDrawBuffers(GLsizei n, const GLenum* bufs) { ADD_COMMAND_GL(glDrawBuffers); diff --git a/libraries/gpu/src/gpu/GLBackend.h b/libraries/gpu/src/gpu/GLBackend.h index 22266079bc..6c70502458 100644 --- a/libraries/gpu/src/gpu/GLBackend.h +++ b/libraries/gpu/src/gpu/GLBackend.h @@ -358,6 +358,7 @@ protected: void do_glBindTexture(Batch& batch, uint32 paramOffset); void do_glActiveTexture(Batch& batch, uint32 paramOffset); + void do_glTexParameteri(Batch& batch, uint32 paramOffset); void do_glDrawBuffers(Batch& batch, uint32 paramOffset);