From: Ian Romanick Date: Mon, 9 Apr 2012 18:19:24 +0000 (-0700) Subject: ir_to_mesa: Propagate initial values in _mesa_associate_uniform_storage X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c343b980d615bb3a159e0adc6e7597f2f9865323;p=mesa.git ir_to_mesa: Propagate initial values in _mesa_associate_uniform_storage The linker may have set initial values for uniforms. Propagate these values to the driver's backing storage when it is first associated. Signed-off-by: Ian Romanick Reviewed-by: Eric Anholt Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 840648e0449..b8e256069f7 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -2526,6 +2526,15 @@ _mesa_associate_uniform_storage(struct gl_context *ctx, 4 * sizeof(float), format, ¶ms->ParameterValues[i]); + + /* After attaching the driver's storage to the uniform, propagate any + * data from the linker's backing store. This will cause values from + * initializers in the source code to be copied over. + */ + _mesa_propagate_uniforms_to_driver_storage(storage, + 0, + MAX2(1, storage->array_elements)); + last_location = location; } }