st/mesa/glsl: move SamplerTargets to gl_program

This will help allow us to simplify the handling of samplers by
storing them in a single location rather than duplicating them in
both gl_linked_shader and gl_program.

Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Timothy Arceri
2016-11-09 09:49:59 +11:00
parent 937523971f
commit 076ab157ff
6 changed files with 16 additions and 13 deletions

View File

@@ -1248,10 +1248,11 @@ link_assign_uniform_storage(struct gl_context *ctx,
parcel.shader_samplers_used;
prog->_LinkedShaders[i]->shadow_samplers = parcel.shader_shadow_samplers;
STATIC_ASSERT(sizeof(prog->_LinkedShaders[i]->SamplerTargets) ==
STATIC_ASSERT(sizeof(prog->_LinkedShaders[i]->Program->sh.SamplerTargets) ==
sizeof(parcel.targets));
memcpy(prog->_LinkedShaders[i]->SamplerTargets, parcel.targets,
sizeof(prog->_LinkedShaders[i]->SamplerTargets));
memcpy(prog->_LinkedShaders[i]->Program->sh.SamplerTargets,
parcel.targets,
sizeof(prog->_LinkedShaders[i]->Program->sh.SamplerTargets));
}
#ifndef NDEBUG