diff options
author | Brian Paul <[email protected]> | 2006-10-30 00:12:05 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2006-10-30 00:12:05 +0000 |
commit | a23e668d40b10236fcf5ca83fdbda93ab36fa86f (patch) | |
tree | 04517d0b6ddaa6b44ec6b01c50570974f76023a0 /src/mesa/shader/nvvertexec.h | |
parent | 0781339b395a9b2a89ff800eb827ed733f34a8a1 (diff) |
Move gl_vertex_program_machine struct out of mtypes.h and put into nvvertexec.h.
Massage nvvertexec.c code to work more like s_nvfragprog.c - another step
toward unifying vertex/fragment program execution.
Diffstat (limited to 'src/mesa/shader/nvvertexec.h')
-rw-r--r-- | src/mesa/shader/nvvertexec.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/mesa/shader/nvvertexec.h b/src/mesa/shader/nvvertexec.h index e7c5be09e64..b1cf31bd3c4 100644 --- a/src/mesa/shader/nvvertexec.h +++ b/src/mesa/shader/nvvertexec.h @@ -28,14 +28,31 @@ #ifndef NVVERTEXEC_H #define NVVERTEXEC_H + +/** + * Virtual vertex program machine state. + * Only used during program execution. + */ +struct vp_machine +{ + GLfloat Temporaries[MAX_NV_VERTEX_PROGRAM_TEMPS][4]; + GLfloat Inputs[MAX_NV_VERTEX_PROGRAM_INPUTS][4]; + GLuint InputsSize[MAX_NV_VERTEX_PROGRAM_INPUTS]; + GLfloat Outputs[MAX_NV_VERTEX_PROGRAM_OUTPUTS][4]; + GLint AddressReg[4]; +}; + + + extern void -_mesa_init_vp_per_vertex_registers(GLcontext *ctx); +_mesa_init_vp_per_vertex_registers(GLcontext *ctx, struct vp_machine *machine); extern void _mesa_init_vp_per_primitive_registers(GLcontext *ctx); extern void _mesa_exec_vertex_program(GLcontext *ctx, + struct vp_machine *machine, const struct gl_vertex_program *program); extern void @@ -44,6 +61,7 @@ _mesa_exec_vertex_state_program(GLcontext *ctx, const GLfloat *params); extern void -_mesa_dump_vp_state( const struct gl_vertex_program_state *state ); +_mesa_dump_vp_state( const struct gl_vertex_program_state *state, + const struct vp_machine *machine); #endif |