summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_cc.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-06-09 22:24:14 -0700
committerEric Anholt <eric@anholt.net>2010-06-11 00:15:56 -0700
commitf5bb775fd1f333d8e579d07a5cac1ded2bd54a2f (patch)
tree8b52c1ac09eea61ea95239c957eeedb1d864cc74 /src/mesa/drivers/dri/i965/brw_cc.c
parent315ef0312a222b300ea7d619b95cb80596d3bee2 (diff)
downloadexternal_mesa3d-f5bb775fd1f333d8e579d07a5cac1ded2bd54a2f.zip
external_mesa3d-f5bb775fd1f333d8e579d07a5cac1ded2bd54a2f.tar.gz
external_mesa3d-f5bb775fd1f333d8e579d07a5cac1ded2bd54a2f.tar.bz2
i965: Set the CC VP state immediately on state change.
The cache lookup of these two little floats was .12% of total CPU time on firefox-talos-gfx because we did it any time commonly-changed state changed. On the other hand, updating the CC VP bo immediately whenver CC VP state changes is a .07% overhead due to putting a driver hoook in glEnable().
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_cc.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_cc.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c
index c9e42a1..6d9c039 100644
--- a/src/mesa/drivers/dri/i965/brw_cc.c
+++ b/src/mesa/drivers/dri/i965/brw_cc.c
@@ -36,7 +36,8 @@
#include "brw_util.h"
#include "main/macros.h"
-static void prepare_cc_vp( struct brw_context *brw )
+void
+brw_update_cc_vp(struct brw_context *brw)
{
GLcontext *ctx = &brw->intel.ctx;
struct brw_cc_viewport ccv;
@@ -58,15 +59,6 @@ static void prepare_cc_vp( struct brw_context *brw )
NULL, 0);
}
-const struct brw_tracked_state brw_cc_vp = {
- .dirty = {
- .mesa = _NEW_VIEWPORT | _NEW_TRANSFORM,
- .brw = BRW_NEW_CONTEXT,
- .cache = 0
- },
- .prepare = prepare_cc_vp
-};
-
struct brw_cc_unit_key {
GLboolean stencil, stencil_two_side, color_blend, alpha_enabled;