Vulkan: Don't expose MSRTT on SwiftShader

Emulating this extension on SwiftShader is neither useful nor efficient
(on the contrary, it hurts performance (which is true for all non-tiling
architectures)).  This extension was exposed purely to increase testing
coverage, but is being disabled now as OOMs resulting from allocating
the implict multisampled image is confusing Chrome.  Note that
SwiftShader exposes only a limited amount of memory.

Bug: chromium:1263046
Change-Id: Ia69b7fc63804169431885352a8f637a95ab08bd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251581
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
This commit is contained in:
Shahbaz Youssefi 2021-10-28 11:07:53 -04:00 коммит произвёл Angle LUCI CQ
Родитель 81d964a1ae
Коммит fb77afd3c7
1 изменённых файлов: 9 добавлений и 5 удалений

Просмотреть файл

@ -2729,13 +2729,17 @@ void RendererVk::initFeatures(DisplayVk *displayVk,
// Feature disabled due to driver bugs:
//
// - Swiftshader on mac: http://anglebug.com/4937
// - Swiftshader:
// * Failure on mac: http://anglebug.com/4937
// * OOM: http://crbug.com/1263046
// - Intel on windows: http://anglebug.com/5032
// - AMD on windows: http://crbug.com/1132366
ANGLE_FEATURE_CONDITION(
&mFeatures, enableMultisampledRenderToTexture,
mFeatures.supportsMultisampledRenderToSingleSampled.enabled ||
!(IsApple() && isSwiftShader) && !(IsWindows() && (isIntel || isAMD)));
//
// Note that emulation of GL_EXT_multisampled_render_to_texture is only really useful on tiling
// hardware, but is exposed on desktop platforms purely to increase testing coverage.
ANGLE_FEATURE_CONDITION(&mFeatures, enableMultisampledRenderToTexture,
mFeatures.supportsMultisampledRenderToSingleSampled.enabled ||
(!isSwiftShader && !(IsWindows() && (isIntel || isAMD))));
// Currently we enable cube map arrays based on the imageCubeArray Vk feature.
// TODO: Check device caps for full cube map array support. http://anglebug.com/5143