intel: Conditionally compile mcs-related code for i965 only.
authorPaul Berry <stereotype441@gmail.com>
Mon, 20 May 2013 20:29:39 +0000 (13:29 -0700)
committerPaul Berry <stereotype441@gmail.com>
Wed, 12 Jun 2013 17:45:42 +0000 (10:45 -0700)
This patch ifdefs out intel_mipmap_tree::mcs_mt when building the i915
(pre-Gen4) driver (MCS buffers aren't supported until Gen7, so there
is no need for this field in the i915 driver).  This should make it a
bit easier to implement fast color clears without undue risk to i915.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/intel/intel_mipmap_tree.c
src/mesa/drivers/dri/intel/intel_mipmap_tree.h

index 08b5d42810776b37b3a0bcf93a0aac5cec3e2a2a..ee763e520201bb488fa0cc179ec376f820e89156 100644 (file)
@@ -671,7 +671,9 @@ intel_miptree_release(struct intel_mipmap_tree **mt)
       intel_region_release(&((*mt)->region));
       intel_miptree_release(&(*mt)->stencil_mt);
       intel_miptree_release(&(*mt)->hiz_mt);
+#ifndef I915
       intel_miptree_release(&(*mt)->mcs_mt);
+#endif
       intel_miptree_release(&(*mt)->singlesample_mt);
       intel_resolve_map_clear(&(*mt)->hiz_map);
 
@@ -1012,8 +1014,11 @@ intel_miptree_alloc_mcs(struct intel_context *intel,
                         struct intel_mipmap_tree *mt,
                         GLuint num_samples)
 {
-   assert(mt->mcs_mt == NULL);
    assert(intel->gen >= 7); /* MCS only used on Gen7+ */
+#ifdef I915
+   return false;
+#else
+   assert(mt->mcs_mt == NULL);
 
    /* Choose the correct format for the MCS buffer.  All that really matters
     * is that we allocate the right buffer size, since we'll always be
@@ -1070,6 +1075,7 @@ intel_miptree_alloc_mcs(struct intel_context *intel,
    intel_miptree_unmap_raw(intel, mt->mcs_mt);
 
    return mt->mcs_mt;
+#endif
 }
 
 /**
index cac518cc749222e40c2d649565e136f8f04b1f51..639d4be94c26de00bf1892ea3bde84b5001ac004 100644 (file)
@@ -373,6 +373,7 @@ struct intel_mipmap_tree
     */
    struct intel_mipmap_tree *stencil_mt;
 
+#ifndef I915
    /**
     * \brief MCS miptree for multisampled textures.
     *
@@ -381,6 +382,7 @@ struct intel_mipmap_tree
     * (INTEL_MSAA_FORMAT_CMS).
     */
    struct intel_mipmap_tree *mcs_mt;
+#endif
 
    /* These are also refcounted:
     */