From: José Fonseca Date: Tue, 28 May 2013 12:56:18 +0000 (+0100) Subject: glsl: Fix MSVC build. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4eaa0999b52d2c7a8fb561305eef889dc7de2d2f;p=android-x86%2Fexternal-mesa.git 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. --- 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