Vulkan: Force submit updates to immutable textures

Submit immutable texture updates recorded in outside renderpass
commands when the following conditions are met -

1. "forceSubmitImmutableTextureUpdates" feature is enabled
2. The texture is immutable

This works around a problem that manifests in some applications
that do not perform appropriate synchronization of shared contexts.

Bug: angleproject:6929
Test: EGLContextSharingTestNoSyncTextureUploads.*
Change-Id: I2a237046e2cc53650eb8dc07e3697f7481df9b02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3418138
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
This commit is contained in:
Mohan Maiya
2022-01-26 13:37:03 -08:00
committed by Angle LUCI CQ
parent a39618436f
commit 1b9774f577
11 changed files with 201 additions and 11 deletions

View File

@@ -333,6 +333,11 @@ bool EGLWindow::initializeDisplay(OSWindow *osWindow,
enabledFeatureOverrides.push_back("forceFallbackFormat");
}
if (params.forceSubmitImmutableTextureUpdates == EGL_TRUE)
{
enabledFeatureOverrides.push_back("forceSubmitImmutableTextureUpdates");
}
const bool hasFeatureControlANGLE =
strstr(extensionString, "EGL_ANGLE_feature_control") != nullptr;