mesa/src
Paul Berry 01a851c296 glsl: When linking, emit functions at the tail of the final linked program.
When link_functions.cpp adds a new function to the final linked
program, it needs to add it after any global variable declarations
that the function refers to, otherwise the IR will be invalid (because
variable declarations must occur before variable accesses).  The
easiest way to do that is to have the linker emit functions to the
tail of the final linked program.

The linker used to emit functions to the head of the final linked
program, in an effort to keep callees sorted before their callers.
However, this was not reliable: it didn't work for functions declared
or defined in the same compilation unit as main, for diamond-shaped
patterns in the call graph, or for some obscure cases involving
overloaded functions.  And no code currently relies on this sort
order.

No Piglit regressions with i965 Ironlake.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-08-08 12:43:57 -07:00
..
egl egl/gbm: Fix EGL_DEFAULT_DISPLAY 2011-08-04 14:09:34 +02:00
gallium gallium: silence warnings about trailing commas in enum lists 2011-08-08 09:00:06 -06:00
gbm gbm/dri: avoid crash in dri_screen_create 2011-08-04 14:09:34 +02:00
getopt getopt: Make code more portable. 2011-01-12 16:54:21 +00:00
glsl glsl: When linking, emit functions at the tail of the final linked program. 2011-08-08 12:43:57 -07:00
glu sgi: Fix MSVC build. 2011-04-27 19:06:07 +01:00
glw glw: Mark all extern symbols GLAPI to regain default visibility (#31294) 2011-06-20 12:31:01 -07:00
glx glx/dri2: Paper over errors in DRI2Connect when indirect 2011-08-05 10:11:05 -07:00
mapi glapi: Update specs to correctly list FramebufferTextureLayerARB as an alias of FramebufferTextureLayerEXT 2011-06-20 16:54:58 -07:00
mesa st/mesa: inline st_prepare_fragment_program in st_translate_fragment_program 2011-08-08 10:28:59 -05:00
Makefile
SConscript Squashed commit of the following: 2011-07-14 17:35:05 +01:00