mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-24 01:40:22 +01:00
i965: Call prepare_external after implicit window-system MSAA resolves
This fixes some rendering corruption in a couple of Android apps that
use window-system MSAA.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104741
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
(cherry picked from commit 2f7205be47)
This commit is contained in:
parent
133aa8c9f7
commit
c4d9ceecf8
1 changed files with 15 additions and 0 deletions
|
|
@ -1285,6 +1285,21 @@ intel_resolve_for_dri2_flush(struct brw_context *brw,
|
|||
intel_miptree_prepare_external(brw, rb->mt);
|
||||
} else {
|
||||
intel_renderbuffer_downsample(brw, rb);
|
||||
|
||||
/* Call prepare_external on the single-sample miptree to do any
|
||||
* needed resolves prior to handing it off to the window system.
|
||||
* This is needed in the case that rb->singlesample_mt is Y-tiled
|
||||
* with CCS_E enabled but without I915_FORMAT_MOD_Y_TILED_CCS_E. In
|
||||
* this case, the MSAA resolve above will write compressed data into
|
||||
* rb->singlesample_mt.
|
||||
*
|
||||
* TODO: Some day, if we decide to care about the tiny performance
|
||||
* hit we're taking by doing the MSAA resolve and then a CCS resolve,
|
||||
* we could detect this case and just allocate the single-sampled
|
||||
* miptree without aux. However, that would be a lot of plumbing and
|
||||
* this is a rather exotic case so it's not really worth it.
|
||||
*/
|
||||
intel_miptree_prepare_external(brw, rb->singlesample_mt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue