Skip to content

Commit d596e4e

Browse files
committed
Also adjust uniformBufferSize for desktop GL and android GLES
1 parent 5a0ea4e commit d596e4e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

axmol/rhi/opengl/ProgramGL.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,16 +140,19 @@ void ProgramImpl::compileProgram()
140140

141141
GLint blockSize{0};
142142
glGetActiveUniformBlockiv(_program, blockIndex, GL_UNIFORM_BLOCK_DATA_SIZE, &blockSize);
143-
uboInfo.sizeBytes = blockSize;
144-
145-
uboInfo.cpuOffset = cpuOffset;
143+
if (uboInfo.sizeBytes != blockSize)
144+
uboInfo.sizeBytes = blockSize;
145+
if (uboInfo.cpuOffset != cpuOffset)
146+
uboInfo.cpuOffset = cpuOffset;
146147
cpuOffset += blockSize;
147148

148149
blockInfoMap.emplace(blockIndex, &uboInfo);
149150

150151
_uniformBuffers.push_back(
151152
driver->createBuffer(uboInfo.sizeBytes, BufferType::UNIFORM, BufferUsage::DYNAMIC));
152153
}
154+
if (_uniformBufferSize != cpuOffset)
155+
_uniformBufferSize = cpuOffset;
153156

154157
/*
155158
* Adjust offset, cpuOffset, elementSize from Graphics API

0 commit comments

Comments
 (0)