On 05/21/2013 04:52 PM, Paul Berry wrote:
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.
We have a bunch of other fields like this (e.g., hiz_mt). Should we have done this with those fields, or is this case different?
--- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 8 +++++++- src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index 2dfa787..ad9e2b3 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -624,7 +624,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); @@ -963,8 +965,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;
return NULL; since this function returns 'struct intel_mipmap_tree*'.
+#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 @@ -1021,6 +1026,7 @@ intel_miptree_alloc_mcs(struct intel_context *intel, intel_miptree_unmap_raw(intel, mt->mcs_mt); return mt->mcs_mt; +#endif } /** diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.h b/src/mesa/drivers/dri/intel/intel_mipmap_tree.h index b7376e0..0ec3c5e 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.h +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.h @@ -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: */
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev