From 4eaa0999b52d2c7a8fb561305eef889dc7de2d2f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Tue, 28 May 2013 13:56:18 +0100 Subject: [PATCH] glsl: Fix MSVC build. It appears that `sizeof(Class::member)` is either non-standard or merely unsupported in MSVC. So use `sizeof(instance->member)` instead, which is guaranteed to work everywhere. Also promote the assert to a static assert. Trivial. --- src/glsl/link_uniforms.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp index 04218be7ac9..ad636681f8e 100644 --- a/src/glsl/link_uniforms.cpp +++ b/src/glsl/link_uniforms.cpp @@ -653,7 +653,7 @@ link_assign_uniform_locations(struct gl_shader_program *prog) * types cannot have initializers." */ memset(prog->_LinkedShaders[i]->SamplerUnits, 0, - sizeof(gl_shader::SamplerUnits)); + sizeof(prog->_LinkedShaders[i]->SamplerUnits)); link_update_uniform_buffer_variables(prog->_LinkedShaders[i]); @@ -724,9 +724,9 @@ link_assign_uniform_locations(struct gl_shader_program *prog) prog->_LinkedShaders[i]->active_samplers = parcel.shader_samplers_used; prog->_LinkedShaders[i]->shadow_samplers = parcel.shader_shadow_samplers; - assert(sizeof(gl_shader::SamplerTargets) == sizeof(parcel.targets)); + STATIC_ASSERT(sizeof(prog->_LinkedShaders[i]->SamplerTargets) == sizeof(parcel.targets)); memcpy(prog->_LinkedShaders[i]->SamplerTargets, parcel.targets, - sizeof(gl_shader::SamplerTargets)); + sizeof(prog->_LinkedShaders[i]->SamplerTargets)); } #ifndef NDEBUG -- 2.30.2