i965: Always use the new FS backend on gen6.
authorEric Anholt <eric@anholt.net>
Mon, 11 Oct 2010 22:30:58 +0000 (15:30 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 11 Oct 2010 22:32:41 +0000 (15:32 -0700)
It's now much more correct for gen6 than the old backend, with just 2
regressions I've found (one of which is common with pre-gen6 and will
be fixed by an array splitting IR pass).

This does leave the old Mesa IR backend getting used still when we
don't have GLSL IR, but the plan is to get GLSL IR input to the driver
for the ARB programs and fixed function by the next release.

src/mesa/drivers/dri/i965/brw_fs.cpp

index 3d53d9d85af6464c9fec385cfa12471a91d00416..fd041b8bbd55c96c511b5b72d6a9ce7dde809eeb 100644 (file)
@@ -91,8 +91,13 @@ GLboolean
 brw_link_shader(GLcontext *ctx, struct gl_shader_program *prog)
 {
    struct intel_context *intel = intel_context(ctx);
-   if (using_new_fs == -1)
-      using_new_fs = getenv("INTEL_NEW_FS") != NULL;
+
+   if (using_new_fs == -1) {
+      if (intel->gen >= 6)
+        using_new_fs = 1;
+      else
+        using_new_fs = getenv("INTEL_NEW_FS") != NULL;
+   }
 
    for (unsigned i = 0; i < prog->_NumLinkedShaders; i++) {
       struct brw_shader *shader = (struct brw_shader *)prog->_LinkedShaders[i];