summaryrefslogtreecommitdiff
path: root/src/mesa/shader/program.h
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@tungstengraphics.com>2007-02-09 00:36:40 +0100
committerRoland Scheidegger <sroland@tungstengraphics.com>2007-02-09 00:36:40 +0100
commit54dac2c84310536cce962101de29546d3eb80175 (patch)
tree79b90717b3361af9e0148279db56551e51b5dbbf /src/mesa/shader/program.h
parent6cf892eeb6edd69d4ba77d4ececa21a09ba317c4 (diff)
optimize generated vertex programs a bit
Use new internal state to avoid per-vertex normalization of static spot direction vector. Use internal state for simpler per-vertex fog computations (MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog). Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while there fix it up (RSQ instead of RCP). All untested...
Diffstat (limited to 'src/mesa/shader/program.h')
-rw-r--r--src/mesa/shader/program.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/shader/program.h b/src/mesa/shader/program.h
index af06c03598..a0bde07762 100644
--- a/src/mesa/shader/program.h
+++ b/src/mesa/shader/program.h
@@ -190,6 +190,8 @@ enum state_index {
STATE_NORMAL_SCALE,
STATE_TEXRECT_SCALE,
STATE_POSITION_NORMALIZED, /* normalized light position */
+ STATE_FOG_PARAMS_OPTIMIZED, /* for faster fog calc */
+ STATE_SPOT_DIR_NORMALIZED, /* pre-normalized spot dir */
STATE_INTERNAL_DRIVER /* first available state index for drivers (must be last) */
};