Several fp and vp tweaks:
authorKeith Whitwell <keith@tungstengraphics.com>
Tue, 1 Nov 2005 17:25:49 +0000 (17:25 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Tue, 1 Nov 2005 17:25:49 +0000 (17:25 +0000)
commitc3626a91cee5034528f3f92c802a8e5947ea5f92
treefd16d99ef237e31067e9f7a74bc2cee471bcc7e9
parent6aa6d440d9d312cb984020e746aa80c3dbf6ea2c
Several fp and vp tweaks:

- Renumber VERT_RESULT_* values so that they match the
  numbers of the corresponding FRAG_ATTRIB_ values.

        - Add ctx->VertexProgram._Current and FragmentProgram._Current
  values which point to either the current client-supplied
  program if enabled, or otherwise to the current mesa-internal
  program.  Thus this program is always the correct one for
  the current state, providing that the mesa flags to turn on
  automatic generation are enabled.

- Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c
  and t_vp_build.c so that the driver knows when the generated
  program changes.  This is cleaner than trying to code all the
  possible _NEW_* flags into the driver, and more precise as well.

- Add a UsesKill flag to identify fragment programs with that
  instruction, as these can require special treatment.

- Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
src/mesa/main/mtypes.h
src/mesa/main/texenvprogram.c
src/mesa/shader/arbprogparse.c
src/mesa/shader/arbprogparse.h
src/mesa/shader/nvfragprog.h
src/mesa/shader/nvvertparse.c
src/mesa/tnl/t_vp_build.c