mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
anv: Enable MSAA fast-clears
This speeds up the Sascha Willems multisampling demo by around 25% when using 8x or 16x MSAA. Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
This commit is contained in:
parent
00da139477
commit
89f78cf333
1 changed files with 7 additions and 4 deletions
|
|
@ -952,8 +952,10 @@ anv_layout_to_fast_clear_type(const struct gen_device_info * const devinfo,
|
|||
|
||||
assert(image->aspects & VK_IMAGE_ASPECT_ANY_COLOR_BIT_ANV);
|
||||
|
||||
/* Multisample fast-clear is not yet supported. */
|
||||
if (image->samples > 1)
|
||||
/* We don't support MSAA fast-clears on Ivybridge or Bay Trail because they
|
||||
* lack the MI ALU which we need to determine the predicates.
|
||||
*/
|
||||
if (devinfo->gen == 7 && !devinfo->is_haswell && image->samples > 1)
|
||||
return ANV_FAST_CLEAR_NONE;
|
||||
|
||||
switch (layout) {
|
||||
|
|
@ -964,12 +966,13 @@ anv_layout_to_fast_clear_type(const struct gen_device_info * const devinfo,
|
|||
return ANV_FAST_CLEAR_NONE;
|
||||
|
||||
default:
|
||||
/* If the image has CCS_E enabled all the time then we can use
|
||||
/* If the image has MCS or CCS_E enabled all the time then we can use
|
||||
* fast-clear as long as the clear color is the default value of zero
|
||||
* since this is the default value we program into every surface state
|
||||
* used for texturing.
|
||||
*/
|
||||
if (image->planes[plane].aux_usage == ISL_AUX_USAGE_CCS_E)
|
||||
if (image->planes[plane].aux_usage == ISL_AUX_USAGE_MCS ||
|
||||
image->planes[plane].aux_usage == ISL_AUX_USAGE_CCS_E)
|
||||
return ANV_FAST_CLEAR_DEFAULT_VALUE;
|
||||
else
|
||||
return ANV_FAST_CLEAR_NONE;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue