From: Keith Whitwell Date: Sun, 21 Sep 2008 19:22:21 +0000 (-0700) Subject: Merge commit 'origin/gallium-0.1' into gallium-0.2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3a40dee3eb5151a282ce831b67427f3aa625de28;p=mesa.git Merge commit 'origin/gallium-0.1' into gallium-0.2 --- 3a40dee3eb5151a282ce831b67427f3aa625de28 diff --cc src/mesa/shader/arbprogparse.c index d1c3cd72141,466ae48bef3..f499499eb3a --- a/src/mesa/shader/arbprogparse.c +++ b/src/mesa/shader/arbprogparse.c @@@ -30,11 -30,29 +30,32 @@@ * \author Karl Rasche */ + /** + Notes on program parameters, etc. + + The instructions we emit will use six kinds of source registers: + + PROGRAM_INPUT - input registers + PROGRAM_TEMPORARY - temp registers + PROGRAM_ADDRESS - address/indirect register + PROGRAM_SAMPLER - texture sampler + PROGRAM_CONSTANT - indexes into program->Parameters, a known constant/literal + PROGRAM_STATE_VAR - indexes into program->Parameters, and may actually be: + + a state variable, like "state.fog.color", or + + a pointer to a "program.local[k]" parameter, or + + a pointer to a "program.env[k]" parameter + + Basically, all the program.local[] and program.env[] values will get mapped + into the unified gl_program->Parameters array. This solves the problem of + having three separate program parameter arrays. + */ + + #include "main/glheader.h" #include "main/imports.h" +#include "main/context.h" +#include "main/macros.h" +#include "main/mtypes.h" #include "shader/grammar/grammar_mesa.h" #include "arbprogparse.h" #include "program.h"