i965/vs: Move the flag for whether to use the new backend to the context.
authorEric Anholt <eric@anholt.net>
Fri, 19 Aug 2011 18:42:50 +0000 (11:42 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 30 Aug 2011 19:09:40 +0000 (12:09 -0700)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/i965/brw_context.h
src/mesa/drivers/dri/i965/brw_vs.c

index 898ad8a83e8c031e3463b788292ca27f15d1bc25..6c2e3e4c770b01efee9c8f58971bd108cef44ffb 100644 (file)
@@ -248,6 +248,8 @@ GLboolean brwCreateContext( int api,
 
    brw_draw_init( brw );
 
+   brw->new_vs_backend = (getenv("INTEL_NEW_VS") != NULL);
+
    return GL_TRUE;
 }
 
index df63fe1d52c13e696673ac47d7e13ab0400ae481..e936a88996035de608fee2e83ae89bac9667def4 100644 (file)
@@ -523,6 +523,7 @@ struct brw_context
    GLboolean has_negative_rhw_bug;
    GLboolean has_aa_line_parameters;
    GLboolean has_pln;
+   GLboolean new_vs_backend;
 
    struct {
       struct brw_state_flags dirty;
index f3a394bc62b976cc46c14a33fb29fa7579f53c4b..3fb389aa4074b570b5b8415db8c02e5c6c8e2994 100644 (file)
@@ -54,7 +54,6 @@ do_vs_prog(struct brw_context *brw,
    void *mem_ctx;
    int aux_size;
    int i;
-   static int new_vs = -1;
 
    memset(&c, 0, sizeof(c));
    memcpy(&c.key, key, sizeof(*key));
@@ -90,10 +89,7 @@ do_vs_prog(struct brw_context *brw,
 
    /* Emit GEN4 code.
     */
-   if (new_vs == -1)
-      new_vs = getenv("INTEL_NEW_VS") != NULL;
-
-   if (new_vs && prog) {
+   if (brw->new_vs_backend && prog) {
       if (!brw_vs_emit(prog, &c)) {
         ralloc_free(mem_ctx);
         return false;