diff options
author | Jason Ekstrand <[email protected]> | 2017-02-17 14:14:48 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2017-02-23 12:10:42 -0800 |
commit | 261092f7d4f3142760fcce98ccb63b4efd47cc48 (patch) | |
tree | d23555111a0c689a4e0adcdcbedd501b468db804 /src/intel/vulkan/anv_image.c | |
parent | 42b10b175d5e8dfb9c4c46edbc306e7fac6bd3ec (diff) |
anv: Enable MSAA compression
This just enables basic MSAA compression (no fast clears) for all
multisampled surfaces. This improves the framerate of the Sascha
"multisampling" demo by 76% on my Sky Lake laptop. Running Talos on
medium settings with 8x MSAA, this improves the framerate in the
benchmark by 80%.
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_image.c')
-rw-r--r-- | src/intel/vulkan/anv_image.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index 47d0a1ec333..cd142938e7f 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -238,6 +238,15 @@ make_surface(const struct anv_device *dev, } } } + } else if (aspect == VK_IMAGE_ASPECT_COLOR_BIT && vk_info->samples > 1) { + assert(image->aux_surface.isl.size == 0); + assert(!(vk_info->usage & VK_IMAGE_USAGE_STORAGE_BIT)); + ok = isl_surf_get_mcs_surf(&dev->isl_dev, &anv_surf->isl, + &image->aux_surface.isl); + if (ok) { + add_surface(image, &image->aux_surface); + image->aux_usage = ISL_AUX_USAGE_MCS; + } } return VK_SUCCESS; |