OSDN Git Service

i965: Initialize batchbuffer and state modules before extensions.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 26 Oct 2013 05:44:19 +0000 (22:44 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 31 Oct 2013 18:04:37 +0000 (11:04 -0700)
We only want to enable ARB_transform_feedback2 if we can write to
registers from batchbuffers.  In order to test that, we need to be able
to submit batches.  And for batches to work, we need to program the
initial pipeline state (like PIPELINE_SELECT), which is done from
brw_state_init().

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_context.c

index f4e04b6..38147e9 100644 (file)
@@ -609,10 +609,12 @@ brwCreateContext(gl_api api,
    /* Reinitialize the context point state.  It depends on ctx->Const values. */
    _mesa_init_point(ctx);
 
-   intelInitExtensions(ctx);
-
    intel_batchbuffer_init(brw);
 
+   brw_init_state(brw);
+
+   intelInitExtensions(ctx);
+
    intel_fbo_init(brw);
 
    if (brw->gen >= 6) {
@@ -671,8 +673,6 @@ brwCreateContext(gl_api api,
    brw->prim_restart.in_progress = false;
    brw->prim_restart.enable_cut_index = false;
 
-   brw_init_state( brw );
-
    if (brw->gen < 6) {
       brw->curbe.last_buf = calloc(1, 4096);
       brw->curbe.next_buf = calloc(1, 4096);