diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c index c3e75e5d8a3..c0f067370f4 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -611,6 +611,14 @@ intel_miptree_create(struct brw_context *brw, return NULL; } + + if (mt->msaa_layout == INTEL_MSAA_LAYOUT_CMS) { + if (!intel_miptree_alloc_mcs(brw, mt, num_samples)) { + intel_miptree_release(&mt); + return NULL; + } + } + /* If this miptree is capable of supporting fast color clears, set * mcs_state appropriately to ensure that fast clears will occur. * Allocation of the MCS miptree will be deferred until the first fast @@ -829,12 +837,6 @@ intel_miptree_create_for_renderbuffer(struct brw_context *brw, goto fail; } - if (mt->msaa_layout == INTEL_MSAA_LAYOUT_CMS) { - ok = intel_miptree_alloc_mcs(brw, mt, num_samples); - if (!ok) - goto fail; - } - return mt; fail: |