summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_context.h
diff options
context:
space:
mode:
authorBen Skeggs <darktama@iinet.net.au>2005-05-26 02:33:57 +0000
committerBen Skeggs <darktama@iinet.net.au>2005-05-26 02:33:57 +0000
commitae516306b4df5d4a2a4bb67c8e705aa67891681a (patch)
treea55bdc488eb1f2113fea4898ded8d9abe5b5cee2 /src/mesa/drivers/dri/r300/r300_context.h
parente45b5a4fa8f5c8abf6853c528da2dfb1756a9440 (diff)
constant tracking
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_context.h')
-rw-r--r--src/mesa/drivers/dri/r300/r300_context.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_context.h b/src/mesa/drivers/dri/r300/r300_context.h
index ebe6553797..befb19ec9f 100644
--- a/src/mesa/drivers/dri/r300/r300_context.h
+++ b/src/mesa/drivers/dri/r300/r300_context.h
@@ -637,13 +637,17 @@ struct r300_fragment_program {
int tex_offset;
int tex_end;
+ /* Hardware constants */
+ GLfloat constant[PFS_NUM_CONST_REGS][4];
+ int const_nr;
+
+ /* Tracked parameters */
struct {
- float x;
- float y;
- float z;
- float w;
- } param[32];
- int param_length;
+ int idx; /* hardware index */
+ GLfloat *values; /* pointer to values */
+ } param[PFS_NUM_CONST_REGS];
+ int param_nr;
+ GLboolean params_uptodate;
GLuint temps[PFS_NUM_TEMP_REGS];
int temp_in_use;
@@ -654,6 +658,7 @@ struct r300_fragment_program {
int hwreg_in_use;
int max_temp_idx;
};
+
#else
/* 64 appears to be the maximum */
#define PSF_MAX_PROGRAM_LENGTH 64