Commit da8c2261 by Mohan Maiya Committed by Commit Bot

Vulkan: Enable FramebufferVk cache on Apple

This effectively reverts ff60abaf. The crash no longer occurs on Apple. Bug: angleproject:4442 Change-Id: I4aa745c80a482eb99311f3810e34124afe950cfe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2588429Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
parent 56330564
...@@ -333,11 +333,6 @@ struct FeaturesVk : FeatureSetBase ...@@ -333,11 +333,6 @@ struct FeaturesVk : FeatureSetBase
"Enable Android pre-rotation for landscape applications", "Enable Android pre-rotation for landscape applications",
&members, "http://anglebug.com/3502"}; &members, "http://anglebug.com/3502"};
// Cache FramebufferVk objects. Currently hitting a bug on Apple: http://anglebug.com/4442
Feature enableFramebufferVkCache = {"enableFramebufferVkCache", FeatureCategory::VulkanFeatures,
"Enable FramebufferVk objects to be cached", &members,
"http://anglebug.com/4442"};
// Enable precision qualifiers for shaders generated by Vulkan backend http://anglebug.com/3078 // Enable precision qualifiers for shaders generated by Vulkan backend http://anglebug.com/3078
Feature enablePrecisionQualifiers = { Feature enablePrecisionQualifiers = {
"enablePrecisionQualifiers", FeatureCategory::VulkanFeatures, "enablePrecisionQualifiers", FeatureCategory::VulkanFeatures,
......
...@@ -1954,16 +1954,8 @@ angle::Result FramebufferVk::getFramebuffer(ContextVk *contextVk, ...@@ -1954,16 +1954,8 @@ angle::Result FramebufferVk::getFramebuffer(ContextVk *contextVk,
auto iter = mFramebufferCache.find(mCurrentFramebufferDesc); auto iter = mFramebufferCache.find(mCurrentFramebufferDesc);
if (iter != mFramebufferCache.end()) if (iter != mFramebufferCache.end())
{ {
if (contextVk->getRenderer()->getFeatures().enableFramebufferVkCache.enabled) *framebufferOut = &iter->second.getFramebuffer();
{ return angle::Result::Continue;
*framebufferOut = &iter->second.getFramebuffer();
return angle::Result::Continue;
}
else
{
// When cache is off just release previous entry, it will be recreated below
iter->second.release(contextVk);
}
} }
vk::RenderPass *compatibleRenderPass = nullptr; vk::RenderPass *compatibleRenderPass = nullptr;
......
...@@ -1979,9 +1979,6 @@ void RendererVk::initFeatures(DisplayVk *displayVk, ...@@ -1979,9 +1979,6 @@ void RendererVk::initFeatures(DisplayVk *displayVk,
// Android pre-rotation support can be disabled. // Android pre-rotation support can be disabled.
ANGLE_FEATURE_CONDITION(&mFeatures, enablePreRotateSurfaces, IsAndroid()); ANGLE_FEATURE_CONDITION(&mFeatures, enablePreRotateSurfaces, IsAndroid());
// Currently disable FramebufferVk cache on Apple: http://anglebug.com/4442
ANGLE_FEATURE_CONDITION(&mFeatures, enableFramebufferVkCache, !IsApple());
// Currently disabled by default: http://anglebug.com/3078 // Currently disabled by default: http://anglebug.com/3078
ANGLE_FEATURE_CONDITION( ANGLE_FEATURE_CONDITION(
&mFeatures, enablePrecisionQualifiers, &mFeatures, enablePrecisionQualifiers,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment