From 083de503ce01bd9d10745f22b351f305f3ea2c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 24 Jan 2022 20:26:24 +0100 Subject: GLShaderInterface: Fix interface from createInfo not setting bindings This is because the `glUniform1i` calls were not preceeded by `glUseProgram` which made parameters not stick. --- source/blender/gpu/opengl/gl_shader_interface.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source') diff --git a/source/blender/gpu/opengl/gl_shader_interface.cc b/source/blender/gpu/opengl/gl_shader_interface.cc index 2211c2fbb7c..c5a8d34c047 100644 --- a/source/blender/gpu/opengl/gl_shader_interface.cc +++ b/source/blender/gpu/opengl/gl_shader_interface.cc @@ -364,6 +364,9 @@ GLShaderInterface::GLShaderInterface(GLuint program, const shader::ShaderCreateI name_buffer_ = (char *)MEM_mallocN(info.interface_names_size_, "name_buffer"); uint32_t name_buffer_offset = 0; + /* Necessary to make #glUniform works. TODO(fclem) Remove. */ + glUseProgram(program); + /* Attributes */ for (const ShaderCreateInfo::VertIn &attr : info.vertex_inputs_) { copy_input_name(input, attr.name, name_buffer_, name_buffer_offset); -- cgit v1.2.3