i965: Initialize intel_context::vtbl after calling intelInitContext()
authorChad Versace <chad@chad-versace.us>
Wed, 31 Aug 2011 19:16:13 +0000 (12:16 -0700)
committerChad Versace <chad@chad-versace.us>
Tue, 18 Oct 2011 18:42:54 +0000 (11:42 -0700)
intel_context::gen field is set by intelInitContext(). So, by calling
intelInitContext() before initializing the vtable, we can can construct
different vtables for different gens.

Specifically, this allows us to set the HiZ operations to be no-ops for
contexts for which HiZ is not enabled.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad@chad-versace.us>
src/mesa/drivers/dri/i965/brw_context.c

index 502b023..c1b274f 100644 (file)
@@ -71,7 +71,6 @@ brwCreateContext(int api,
       return false;
    }
 
-   brwInitVtbl( brw );
    brwInitDriverFunctions( &functions );
 
    if (!intelInitContext( intel, api, mesaVis, driContextPriv,
@@ -81,6 +80,8 @@ brwCreateContext(int api,
       return false;
    }
 
+   brwInitVtbl( brw );
+
    /* Initialize swrast, tnl driver tables: */
    intelInitSpanFuncs(ctx);