Previous to this patch series the mapping of GLSL built-in uniforms to Mesa
state vectors happend in the back-end.  This posed a major problem for the
planned conversion of the ARB_vertex_program assembler to GLSL IR.  In
assembly shaders, developers can create the moral equivalent of uniform arrays
that pull individual vector values from arbitrary pieces of state.  This makes
it impossible to do name-to-slot matching in the back-end.

 src/glsl/ir.h                        |   26 +++
 src/glsl/ir_clone.cpp                |   12 ++
 src/glsl/ir_variable.cpp             |  299 +++++++++++++++++++++++++++++++++-
 src/glsl/linker.cpp                  |   13 ++
 src/mesa/drivers/dri/i965/brw_fs.cpp |   73 +++------
 src/mesa/main/uniforms.c             |  248 ----------------------------
 src/mesa/program/ir_to_mesa.cpp      |   75 +++------
 7 files changed, 396 insertions(+), 350 deletions(-)
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to