diff --git a/include/platform/FeaturesVk.h b/include/platform/FeaturesVk.h index db4748e1c..59e779433 100644 --- a/include/platform/FeaturesVk.h +++ b/include/platform/FeaturesVk.h @@ -149,14 +149,6 @@ struct FeaturesVk : FeatureSetBase "Gaps in bound descriptor set indices causes the post-gap sets to misbehave", &members, "http://anglebug.com/2727"}; - // When the scissor is (0,0,0,0) on Windows Intel, the driver acts as if the scissor was - // disabled. Work-around this by setting the scissor to just outside of the render area - // (e.g. (renderArea.x, renderArea.y, 1, 1)). http://anglebug.com/3407 - Feature forceNonZeroScissor = { - "force_non_zero_scissor", FeatureCategory::VulkanWorkarounds, - "When the scissor is (0,0,0,0), the driver acts as if the scissor was disabled", &members, - "http://anglebug.com/3407"}; - // OES_depth_texture is a commonly expected feature on Android. However it // requires that D16_UNORM support texture filtering // (e.g. VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT) and some devices diff --git a/src/libANGLE/renderer/vulkan/ContextVk.cpp b/src/libANGLE/renderer/vulkan/ContextVk.cpp index 21ce1fd9b..89f95da9d 100644 --- a/src/libANGLE/renderer/vulkan/ContextVk.cpp +++ b/src/libANGLE/renderer/vulkan/ContextVk.cpp @@ -2054,19 +2054,6 @@ void ContextVk::updateScissor(const gl::State &glState) scissoredArea.y = renderArea.height - scissoredArea.y - scissoredArea.height; } - if (getRenderer()->getFeatures().forceNonZeroScissor.enabled && scissoredArea.width == 0 && - scissoredArea.height == 0) - { - // There is no overlap between the app-set viewport and clippedRect. This code works - // around an Intel driver bug that causes the driver to treat a (0,0,0,0) scissor as if - // scissoring is disabled. In this case, set the scissor to be just outside of the - // renderArea. Remove this work-around when driver version 25.20.100.6519 has been - // deployed. http://anglebug.com/3407 - scissoredArea.x = renderArea.x; - scissoredArea.y = renderArea.y; - scissoredArea.width = 1; - scissoredArea.height = 1; - } mGraphicsPipelineDesc->updateScissor(&mGraphicsPipelineTransition, gl_vk::GetRect(scissoredArea)); diff --git a/src/libANGLE/renderer/vulkan/RendererVk.cpp b/src/libANGLE/renderer/vulkan/RendererVk.cpp index 706efa32e..6cd4e82ff 100644 --- a/src/libANGLE/renderer/vulkan/RendererVk.cpp +++ b/src/libANGLE/renderer/vulkan/RendererVk.cpp @@ -1385,8 +1385,6 @@ void RendererVk::initFeatures(const ExtensionNameList &deviceExtensionNames) ANGLE_FEATURE_CONDITION((&mFeatures), forceOldRewriteStructSamplers, IsAndroid() && isQualcomm); - ANGLE_FEATURE_CONDITION((&mFeatures), forceNonZeroScissor, IsWindows() && isIntel); - ANGLE_FEATURE_CONDITION((&mFeatures), perFrameWindowSizeQuery, isIntel || (IsWindows() && isAMD)); diff --git a/src/tests/gles1_conformance_tests/ConformanceTests.cpp b/src/tests/gles1_conformance_tests/ConformanceTests.cpp index 587b2dd30..12b3e2858 100644 --- a/src/tests/gles1_conformance_tests/ConformanceTests.cpp +++ b/src/tests/gles1_conformance_tests/ConformanceTests.cpp @@ -348,8 +348,6 @@ TEST_P(GLES1ConformanceTest, RescaleNormal) TEST_P(GLES1ConformanceTest, Scissor) { - // http://g.co/anglebug/3867 - ANGLE_SKIP_TEST_IF(IsVulkan() && IsWindows() && IsIntel()); ASSERT_NE(CONFORMANCE_TEST_ERROR, ScissorExec()); }