|
@@ -13,15 +13,16 @@ namespace Impl {
|
|
|
static void SetShaderUniformBlockBinding(GLuint shader, const char* name,
|
|
static void SetShaderUniformBlockBinding(GLuint shader, const char* name,
|
|
|
Maxwell3D::Regs::ShaderStage binding,
|
|
Maxwell3D::Regs::ShaderStage binding,
|
|
|
size_t expected_size) {
|
|
size_t expected_size) {
|
|
|
- GLuint ub_index = glGetUniformBlockIndex(shader, name);
|
|
|
|
|
- if (ub_index != GL_INVALID_INDEX) {
|
|
|
|
|
- GLint ub_size = 0;
|
|
|
|
|
- glGetActiveUniformBlockiv(shader, ub_index, GL_UNIFORM_BLOCK_DATA_SIZE, &ub_size);
|
|
|
|
|
- ASSERT_MSG(ub_size == expected_size,
|
|
|
|
|
- "Uniform block size did not match! Got {}, expected {}",
|
|
|
|
|
- static_cast<int>(ub_size), expected_size);
|
|
|
|
|
- glUniformBlockBinding(shader, ub_index, static_cast<GLuint>(binding));
|
|
|
|
|
|
|
+ const GLuint ub_index = glGetUniformBlockIndex(shader, name);
|
|
|
|
|
+ if (ub_index == GL_INVALID_INDEX) {
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ GLint ub_size = 0;
|
|
|
|
|
+ glGetActiveUniformBlockiv(shader, ub_index, GL_UNIFORM_BLOCK_DATA_SIZE, &ub_size);
|
|
|
|
|
+ ASSERT_MSG(static_cast<size_t>(ub_size) == expected_size,
|
|
|
|
|
+ "Uniform block size did not match! Got {}, expected {}", ub_size, expected_size);
|
|
|
|
|
+ glUniformBlockBinding(shader, ub_index, static_cast<GLuint>(binding));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void SetShaderUniformBlockBindings(GLuint shader) {
|
|
void SetShaderUniformBlockBindings(GLuint shader) {
|