Restore EGL_EXT_buffer_age for SwiftShader Vulkan

EGL_EXT_buffer_age was previously disabled for SwiftShader Vulkan
because of an Android test timing out on Cuttlefish when the buffer
age is queried. aosp/1672445 addresses the root cause of the timeout,
so EGL_EXT_buffer_age can be supported again.

Bug: b/182521420
Bug: angleproject:3529
Change-Id: I5949f721316855d9138eb9f657a6df4e7b49ed71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821750
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
This commit is contained in:
Nicolas Capens 2021-04-12 15:38:10 +00:00 коммит произвёл Commit Bot
Родитель 3813c3618a
Коммит 15f4925ac3
3 изменённых файлов: 1 добавлений и 16 удалений

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

@ -479,14 +479,6 @@ struct FeaturesVk : FeatureSetBase
"supportsNegativeViewport", FeatureCategory::VulkanFeatures,
"The driver supports inverting the viewport with a negative height.", &members};
// The EGL_EXT_buffer_age implementation causes
// android.graphics.cts.BitmapTest#testDrawingHardwareBitmapNotLeaking to fail on Cuttlefish
// with SwANGLE. Needs investigation whether this is a race condition which could affect other
// Vulkan drivers, or if it's a SwiftShader bug.
// http://anglebug.com/3529
Feature enableBufferAge = {"enableBufferAge", FeatureCategory::VulkanWorkarounds,
"Expose EGL_EXT_buffer_age", &members, "http://anglebug.com/3529"};
// Whether we should force any highp precision in the fragment shader to mediump.
// ANGLE is non-conformant if this feature is enabled.
Feature forceFragmentShaderPrecisionHighpToMediump = {

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

@ -246,7 +246,7 @@ void DisplayVk::generateExtensions(egl::DisplayExtensions *outExtensions) const
outExtensions->swapWithFrameToken = getRenderer()->getFeatures().supportsGGPFrameToken.enabled;
#endif // defined(ANGLE_PLATFORM_GGP)
outExtensions->bufferAgeEXT = getRenderer()->getFeatures().enableBufferAge.enabled;
outExtensions->bufferAgeEXT = true;
}
void DisplayVk::generateCaps(egl::Caps *outCaps) const

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

@ -2353,13 +2353,6 @@ void RendererVk::initFeatures(DisplayVk *displayVk,
ANGLE_FEATURE_CONDITION(&mFeatures, exposeNonConformantExtensionsAndVersions,
kExposeNonConformantExtensionsAndVersions);
// The EGL_EXT_buffer_age implementation causes
// android.graphics.cts.BitmapTest#testDrawingHardwareBitmapNotLeaking to fail on Cuttlefish
// with SwANGLE. Needs investigation whether this is a race condition which could affect other
// Vulkan drivers, or if it's a SwiftShader bug.
// http://anglebug.com/3529
ANGLE_FEATURE_CONDITION(&mFeatures, enableBufferAge, !isSwiftShader);
// Disabled by default. Only enable it for experimental purpose, as this will cause various
// tests to fail.
ANGLE_FEATURE_CONDITION(&mFeatures, forceFragmentShaderPrecisionHighpToMediump, false);