From caa5732e0629beb05bf88619623663e675735919 Mon Sep 17 00:00:00 2001 From: samcake Date: Mon, 3 Aug 2015 14:51:57 -0700 Subject: [PATCH] Remove completely GL transform legacy support --- libraries/gpu/src/gpu/Config.slh | 3 -- libraries/gpu/src/gpu/GLBackend.h | 14 ----- libraries/gpu/src/gpu/GLBackendPipeline.cpp | 32 ----------- libraries/gpu/src/gpu/GLBackendTransform.cpp | 56 +------------------- libraries/gpu/src/gpu/GPUConfig.h | 3 -- 5 files changed, 2 insertions(+), 106 deletions(-) diff --git a/libraries/gpu/src/gpu/Config.slh b/libraries/gpu/src/gpu/Config.slh index d412901f59..3da92df7c1 100644 --- a/libraries/gpu/src/gpu/Config.slh +++ b/libraries/gpu/src/gpu/Config.slh @@ -13,14 +13,11 @@ <@if GLPROFILE == PC_GL @> <@def GPU_FEATURE_PROFILE GPU_CORE@> - <@def GPU_TRANSFORM_PROFILE GPU_CORE@> <@def VERSION_HEADER #version 410 core@> <@elif GLPROFILE == MAC_GL @> <@def GPU_FEATURE_PROFILE GPU_CORE@> - <@def GPU_TRANSFORM_PROFILE GPU_CORE@> <@def VERSION_HEADER #version 410 core@> <@else@> <@def GPU_FEATURE_PROFILE GPU_CORE@> - <@def GPU_TRANSFORM_PROFILE GPU_CORE@> <@def VERSION_HEADER #version 410 core@> <@endif@> diff --git a/libraries/gpu/src/gpu/GLBackend.h b/libraries/gpu/src/gpu/GLBackend.h index ccfbf4af85..1f1763e79d 100644 --- a/libraries/gpu/src/gpu/GLBackend.h +++ b/libraries/gpu/src/gpu/GLBackend.h @@ -93,13 +93,6 @@ public: GLint _transformCameraSlot = -1; GLint _transformObjectSlot = -1; -#if (GPU_TRANSFORM_PROFILE == GPU_CORE) -#else - GLint _transformObject_model = -1; - GLint _transformCamera_viewInverse = -1; - GLint _transformCamera_viewport = -1; -#endif - GLShader(); ~GLShader(); }; @@ -389,13 +382,6 @@ protected: GLuint _program; bool _invalidProgram; -#if (GPU_TRANSFORM_PROFILE == GPU_CORE) -#else - GLint _program_transformObject_model = -1; - GLint _program_transformCamera_viewInverse = -1; - GLint _program_transformCamera_viewport = -1; -#endif - State::Data _stateCache; State::Signature _stateSignatureCache; diff --git a/libraries/gpu/src/gpu/GLBackendPipeline.cpp b/libraries/gpu/src/gpu/GLBackendPipeline.cpp index 090dd4ad31..a1245cf961 100755 --- a/libraries/gpu/src/gpu/GLBackendPipeline.cpp +++ b/libraries/gpu/src/gpu/GLBackendPipeline.cpp @@ -71,13 +71,6 @@ void GLBackend::do_setPipeline(Batch& batch, uint32 paramOffset) { _pipeline._program = 0; _pipeline._invalidProgram = true; -#if (GPU_TRANSFORM_PROFILE == GPU_CORE) -#else - _pipeline._program_transformObject_model = -1; - _pipeline._program_transformCamera_viewInverse = -1; - _pipeline._program_transformCamera_viewport = -1; -#endif - _pipeline._state = nullptr; _pipeline._invalidState = true; } else { @@ -90,13 +83,6 @@ void GLBackend::do_setPipeline(Batch& batch, uint32 paramOffset) { if (_pipeline._program != pipelineObject->_program->_program) { _pipeline._program = pipelineObject->_program->_program; _pipeline._invalidProgram = true; - -#if (GPU_TRANSFORM_PROFILE == GPU_CORE) -#else - _pipeline._program_transformObject_model = pipelineObject->_program->_transformObject_model; - _pipeline._program_transformCamera_viewInverse = pipelineObject->_program->_transformCamera_viewInverse; - _pipeline._program_transformCamera_viewport = pipelineObject->_program->_transformCamera_viewport; -#endif } // Now for the state @@ -144,24 +130,6 @@ void GLBackend::updatePipeline() { } _pipeline._invalidState = false; } - -#if (GPU_TRANSFORM_PROFILE == GPU_CORE) -#else - // If shader program needs the model we need to provide it - if (_pipeline._program_transformObject_model >= 0) { - glUniformMatrix4fv(_pipeline._program_transformObject_model, 1, false, (const GLfloat*) &_transform._transformObject._model); - } - - // If shader program needs the inverseView we need to provide it - if (_pipeline._program_transformCamera_viewInverse >= 0) { - glUniformMatrix4fv(_pipeline._program_transformCamera_viewInverse, 1, false, (const GLfloat*) &_transform._transformCamera._viewInverse); - } - - // If shader program needs the viewport we need to provide it - if (_pipeline._program_transformCamera_viewport >= 0) { - glUniform4fv(_pipeline._program_transformCamera_viewport, 1, (const GLfloat*) &_transform._transformCamera._viewport); - } -#endif } void GLBackend::resetPipelineStage() { diff --git a/libraries/gpu/src/gpu/GLBackendTransform.cpp b/libraries/gpu/src/gpu/GLBackendTransform.cpp index 735f9a6b34..5099e3ed2a 100755 --- a/libraries/gpu/src/gpu/GLBackendTransform.cpp +++ b/libraries/gpu/src/gpu/GLBackendTransform.cpp @@ -41,7 +41,6 @@ void GLBackend::do_setViewportTransform(Batch& batch, uint32 paramOffset) { } void GLBackend::initTransform() { - #if (GPU_TRANSFORM_PROFILE == GPU_CORE) glGenBuffers(1, &_transform._transformObjectBuffer); glGenBuffers(1, &_transform._transformCameraBuffer); @@ -51,18 +50,12 @@ void GLBackend::initTransform() { glBindBuffer(GL_UNIFORM_BUFFER, _transform._transformCameraBuffer); glBufferData(GL_UNIFORM_BUFFER, sizeof(_transform._transformCamera), (const void*) &_transform._transformCamera, GL_DYNAMIC_DRAW); - glBindBuffer(GL_UNIFORM_BUFFER, 0); -#else -#endif } void GLBackend::killTransform() { - #if (GPU_TRANSFORM_PROFILE == GPU_CORE) glDeleteBuffers(1, &_transform._transformObjectBuffer); glDeleteBuffers(1, &_transform._transformCameraBuffer); -#else -#endif } void GLBackend::syncTransformStateCache() { @@ -106,7 +99,8 @@ void GLBackend::updateTransform() { _transform._transformCamera._projectionViewUntranslated = _transform._transformCamera._projection * viewUntranslated; } - #if (GPU_TRANSFORM_PROFILE == GPU_CORE) + // TODO: WE need a ring buffer to do effcient dynamic updates here + // FOr now let's just do that bind and update sequence if (_transform._invalidView || _transform._invalidProj || _transform._invalidViewport) { glBindBufferBase(GL_UNIFORM_BUFFER, TRANSFORM_CAMERA_SLOT, 0); glBindBuffer(GL_ARRAY_BUFFER, _transform._transformCameraBuffer); @@ -126,52 +120,6 @@ void GLBackend::updateTransform() { glBindBufferBase(GL_UNIFORM_BUFFER, TRANSFORM_OBJECT_SLOT, _transform._transformObjectBuffer); glBindBufferBase(GL_UNIFORM_BUFFER, TRANSFORM_CAMERA_SLOT, _transform._transformCameraBuffer); CHECK_GL_ERROR(); -#endif - - -#if (GPU_TRANSFORM_PROFILE == GPU_LEGACY) - // Do it again for fixed pipeline until we can get rid of it - GLint originalMatrixMode; - glGetIntegerv(GL_MATRIX_MODE, &originalMatrixMode); - - if (_transform._invalidProj) { - if (_transform._lastMode != GL_PROJECTION) { - glMatrixMode(GL_PROJECTION); - _transform._lastMode = GL_PROJECTION; - } - glLoadMatrixf(reinterpret_cast< const GLfloat* >(&_transform._projection)); - - (void) CHECK_GL_ERROR(); - } - - - if (_transform._invalidModel || _transform._invalidView) { - if (_transform._lastMode != GL_MODELVIEW) { - glMatrixMode(GL_MODELVIEW); - _transform._lastMode = GL_MODELVIEW; - } - if (!_transform._model.isIdentity()) { - Transform::Mat4 modelView; - if (!_transform._view.isIdentity()) { - Transform mvx; - Transform::inverseMult(mvx, _transform._view, _transform._model); - mvx.getMatrix(modelView); - } else { - _transform._model.getMatrix(modelView); - } - glLoadMatrixf(reinterpret_cast< const GLfloat* >(&modelView)); - } else if (!_transform._view.isIdentity()) { - Transform::Mat4 modelView; - _transform._view.getInverseMatrix(modelView); - glLoadMatrixf(reinterpret_cast< const GLfloat* >(&modelView)); - } else { - glLoadIdentity(); - } - (void) CHECK_GL_ERROR(); - } - - glMatrixMode(originalMatrixMode); -#endif // Flags are clean _transform._invalidView = _transform._invalidProj = _transform._invalidModel = _transform._invalidViewport = false; diff --git a/libraries/gpu/src/gpu/GPUConfig.h b/libraries/gpu/src/gpu/GPUConfig.h index 5ef17f3aeb..f63474e13d 100644 --- a/libraries/gpu/src/gpu/GPUConfig.h +++ b/libraries/gpu/src/gpu/GPUConfig.h @@ -22,7 +22,6 @@ #include "../GL/glew.h" #define GPU_FEATURE_PROFILE GPU_CORE -#define GPU_TRANSFORM_PROFILE GPU_CORE #define GPU_INPUT_PROFILE GPU_CORE_41 #elif defined(WIN32) @@ -30,7 +29,6 @@ #include "../GL/wglew.h" #define GPU_FEATURE_PROFILE GPU_CORE -#define GPU_TRANSFORM_PROFILE GPU_CORE #define GPU_INPUT_PROFILE GPU_CORE_41 #elif defined(ANDROID) @@ -40,7 +38,6 @@ #include "../GL/glew.h" #define GPU_FEATURE_PROFILE GPU_CORE -#define GPU_TRANSFORM_PROFILE GPU_CORE #define GPU_INPUT_PROFILE GPU_CORE_41 #endif