summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_context.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_context.c
parent315ef0312a222b300ea7d619b95cb80596d3bee2 (diff)
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_context.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index 3e7cf6b867..df95ae5a7b 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -54,6 +54,9 @@ static void brwInitDriverFunctions( struct dd_function_table *functions )
brwInitFragProgFuncs( functions );
brw_init_queryobj_functions(functions);
+
+ functions->Enable = brw_enable;
+ functions->DepthRange = brw_depth_range;
}
GLboolean brwCreateContext( int api,
@@ -187,6 +190,11 @@ GLboolean brwCreateContext( int api,
brw_draw_init( brw );
+ /* Now that most driver functions are hooked up, initialize some of the
+ * immediate state.
+ */
+ brw_update_cc_vp(brw);
+
return GL_TRUE;
}