Vulkan: Remove the forceCPUPathForCubeMapCopy workaround

This workaround has been disabled since
https://chromium-review.googlesource.com/c/angle/angle/+/2594707

Bug: angleproject:2822
Bug: angleproject:3055
Change-Id: Ie9cc12c7616cd9e1801dbd92e21822c63f4d0bef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140214
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
This commit is contained in:
Shahbaz Youssefi 2021-09-02 11:47:48 -04:00 коммит произвёл Angle LUCI CQ
Родитель ea609fba5e
Коммит 58ec0fbfd6
3 изменённых файлов: 2 добавлений и 23 удалений

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

@ -90,14 +90,6 @@ struct FeaturesVk : FeatureSetBase
"supportsIncrementalPresent", FeatureCategory::VulkanFeatures,
"VkDevice supports the VK_KHR_incremental_present extension", &members};
// Whether texture copies on cube map targets should be done on GPU. This is a workaround for
// Intel drivers on windows that have an issue with creating single-layer views on cube map
// textures.
Feature forceCPUPathForCubeMapCopy = {
"forceCPUPathForCubeMapCopy", FeatureCategory::VulkanWorkarounds,
"Some drivers have an issue with creating single-layer views on cube map textures",
&members};
// Whether the VkDevice supports the VK_ANDROID_external_memory_android_hardware_buffer
// extension, on which the EGL_ANDROID_image_native_buffer extension can be layered.
Feature supportsAndroidHardwareBuffer = {

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

@ -2251,8 +2251,6 @@ void RendererVk::initFeatures(DisplayVk *displayVk,
// http://anglebug.com/2838
ANGLE_FEATURE_CONDITION(&mFeatures, extraCopyBufferRegion, IsWindows() && isIntel);
ANGLE_FEATURE_CONDITION(&mFeatures, forceCPUPathForCubeMapCopy, false);
// Work around incorrect NVIDIA point size range clamping.
// http://anglebug.com/2970#c10
// Clamp if driver version is:

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

@ -164,11 +164,6 @@ bool CanCopyWithDraw(RendererVk *renderer,
return srcFormatHasNecessaryFeature && dstFormatHasNecessaryFeature;
}
bool ForceCPUPathForCopy(RendererVk *renderer, const vk::ImageHelper &image)
{
return image.getLayerCount() > 1 && renderer->getFeatures().forceCPUPathForCubeMapCopy.enabled;
}
bool CanGenerateMipmapWithCompute(RendererVk *renderer,
VkImageType imageType,
angle::FormatID formatID,
@ -749,12 +744,9 @@ angle::Result TextureVk::copySubImageImpl(const gl::Context *context,
&colorReadRT->getImageForCopy());
}
bool forceCPUPath = ForceCPUPathForCopy(renderer, *mImage);
// If it's possible to perform the copy with a draw call, do that.
if (CanCopyWithDraw(renderer, srcActualFormatID, srcTilingMode, destActualFormatID,
destTilingMode) &&
!forceCPUPath)
destTilingMode))
{
// Layer count can only be 1 as the source is a framebuffer.
ASSERT(offsetImageIndex.getLayerCount() == 1);
@ -827,11 +819,8 @@ angle::Result TextureVk::copySubTextureImpl(ContextVk *contextVk,
&source->getImage());
}
bool forceCPUPath = ForceCPUPathForCopy(renderer, *mImage);
// If it's possible to perform the copy with a draw call, do that.
if (CanCopyWithDraw(renderer, sourceFormatID, srcTilingMode, destFormatID, destTilingMode) &&
!forceCPUPath)
if (CanCopyWithDraw(renderer, sourceFormatID, srcTilingMode, destFormatID, destTilingMode))
{
return copySubImageImplWithDraw(
contextVk, offsetImageIndex, destOffset, destVkFormat, sourceLevelGL, sourceBox, false,