浏览代码

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.
undefined
José Fonseca 12 年前
父节点
当前提交
4eaa0999b5
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3
    3
      src/glsl/link_uniforms.cpp

+ 3
- 3
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

正在加载...
取消
保存