glsl: implement compiling/linking of separate compilation units
authorBrian Paul <brianp@vmware.com>
Thu, 2 Apr 2009 01:50:28 +0000 (19:50 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 2 Apr 2009 01:54:35 +0000 (19:54 -0600)
commit49fb750a6884c3f647f46270ffce8652f664f908
tree8a666b370a04c14b14391c6d9281e0ccd032e339
parent1ab225017ed1ea8bd9e266d10ee56ab914bb28c1
glsl: implement compiling/linking of separate compilation units

A shader program may consist of multiple shaders (source code units).
If we find there are unresolved functions after compiling the unit that
defines main(), we'll concatenate all the respective vertex or fragment
shaders then recompile.

This isn't foolproof but should work in most cases.
src/mesa/main/mtypes.h
src/mesa/shader/slang/slang_codegen.c
src/mesa/shader/slang/slang_codegen.h
src/mesa/shader/slang/slang_compile.c
src/mesa/shader/slang/slang_emit.c
src/mesa/shader/slang/slang_link.c