Resoving to master...

This commit is contained in:
samcake 2016-04-18 17:24:55 -07:00
parent d25a366962
commit c6deff16d6
2 changed files with 5 additions and 8 deletions

View file

@ -386,7 +386,7 @@ protected:
mutable std::map<std::string, GLvoid*> _drawCallInfoOffsets;
GLuint _objectBuffer{ 0 };
GLuint _objectBuffer { 0 };
GLuint _cameraBuffer { 0 };
GLuint _drawCallInfoBuffer { 0 };
GLuint _objectBufferTexture { 0 };

View file

@ -59,7 +59,7 @@ void GLBackend::do_setDepthRangeTransform(Batch& batch, size_t paramOffset) {
}
void GLBackend::initTransform() {
glGenBuffers(2, _transform._objectBuffer);
glGenBuffers(1, &_transform._objectBuffer);
glGenBuffers(1, &_transform._cameraBuffer);
glGenBuffers(1, &_transform._drawCallInfoBuffer);
#ifndef GPU_SSBO_DRAW_CALL_INFO
@ -72,8 +72,7 @@ void GLBackend::initTransform() {
}
void GLBackend::killTransform() {
glDeleteBuffers(2, _transform._objectBuffer);
// glDeleteBuffers(1, &_transform._objectBuffer);
glDeleteBuffers(1, &_transform._objectBuffer);
glDeleteBuffers(1, &_transform._cameraBuffer);
glDeleteBuffers(1, &_transform._drawCallInfoBuffer);
#ifndef GPU_SSBO_DRAW_CALL_INFO
@ -146,9 +145,7 @@ void GLBackend::TransformStageState::transfer(const Batch& batch) const {
memcpy(bufferData.data(), batch._objects.data(), byteSize);
#ifdef GPU_SSBO_DRAW_CALL_INFO
batchNum++;
// glBindBuffer(GL_SHADER_STORAGE_BUFFER, _objectBuffer);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, _objectBuffer[batchNum % 2]);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, _objectBuffer);
glBufferData(GL_SHADER_STORAGE_BUFFER, bufferData.size(), bufferData.data(), GL_DYNAMIC_DRAW);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0);
#else
@ -174,7 +171,7 @@ void GLBackend::TransformStageState::transfer(const Batch& batch) const {
}
#ifdef GPU_SSBO_DRAW_CALL_INFO
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, TRANSFORM_OBJECT_SLOT, _objectBuffer[batchNum % 2]);
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, TRANSFORM_OBJECT_SLOT, _objectBuffer);
#else
glActiveTexture(GL_TEXTURE0 + TRANSFORM_OBJECT_SLOT);
glBindTexture(GL_TEXTURE_BUFFER, _objectBufferTexture);