i915: Don't advertise Z formats in TextureFormatSupported on gen2
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 24 Apr 2014 11:11:43 +0000 (14:11 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 1 May 2014 20:56:25 +0000 (23:56 +0300)
Gen2 doesn't support texturing from Z formats, so state as much.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
src/mesa/drivers/dri/i915/i915_context.c

index ebcab9477f36d75fd35053050a32969c683e32ae..44b0d8bb5ce3f46172b945810c559ef8c8efa537 100644 (file)
@@ -114,19 +114,21 @@ intel_init_texture_formats(struct gl_context *ctx)
    ctx->TextureFormatSupported[MESA_FORMAT_L8A8_UNORM] = true;
 
    /* Depth and stencil */
-   ctx->TextureFormatSupported[MESA_FORMAT_Z24_UNORM_S8_UINT] = true;
-   ctx->TextureFormatSupported[MESA_FORMAT_Z24_UNORM_X8_UINT] = true;
-
-   /*
-    * This was disabled in initial FBO enabling to avoid combinations
-    * of depth+stencil that wouldn't work together.  We since decided
-    * that it was OK, since it's up to the app to come up with the
-    * combo that actually works, so this can probably be re-enabled.
-    */
-   /*
-   ctx->TextureFormatSupported[MESA_FORMAT_Z_UNORM16] = true;
-   ctx->TextureFormatSupported[MESA_FORMAT_Z24] = true;
-   */
+   if (intel->gen == 3) {
+      ctx->TextureFormatSupported[MESA_FORMAT_Z24_UNORM_S8_UINT] = true;
+      ctx->TextureFormatSupported[MESA_FORMAT_Z24_UNORM_X8_UINT] = true;
+
+      /*
+       * This was disabled in initial FBO enabling to avoid combinations
+       * of depth+stencil that wouldn't work together.  We since decided
+       * that it was OK, since it's up to the app to come up with the
+       * combo that actually works, so this can probably be re-enabled.
+       */
+      /*
+      ctx->TextureFormatSupported[MESA_FORMAT_Z_UNORM16] = true;
+      ctx->TextureFormatSupported[MESA_FORMAT_Z24] = true;
+      */
+   }
 
    /* ctx->Extensions.MESA_ycbcr_texture */
    ctx->TextureFormatSupported[MESA_FORMAT_YCBCR] = true;