aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorShahbaz Youssefi <syoussefi@chromium.org>2021-08-03 01:31:03 -0400
committerAngle LUCI CQ <angle-scoped@luci-project-accounts.iam.gserviceaccount.com>2021-08-04 15:47:24 +0000
commit09d5047b41d0e700a497262b140ab61eb587baf3 (patch)
tree06ff1c76fee1e51acdb1e0838c37da95fa933faa /include
parent10d50f649863aa166cd2e4734a7020bf8c0342f1 (diff)
downloadangle-09d5047b41d0e700a497262b140ab61eb587baf3.tar.gz
GL: Remove the rewriteVectorScalarArithmetic workaround
This workaround was implemented for a bug in Nvidia driver 387 which is end-of-life. More recent driver branches (390 and 4XX) are fixed, and so this workaround is no longer required. The implementation of the workaround itself could introduce bugs. Bug: chromium:772651 Bug: chromium:1201084 Change-Id: I3db179eb90d9124235bdad2daacc712302906d8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067952 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/GLSLANG/ShaderLang.h10
-rw-r--r--include/platform/FeaturesGL.h9
2 files changed, 2 insertions, 17 deletions
diff --git a/include/GLSLANG/ShaderLang.h b/include/GLSLANG/ShaderLang.h
index aca9dbe066..68097bb54c 100644
--- a/include/GLSLANG/ShaderLang.h
+++ b/include/GLSLANG/ShaderLang.h
@@ -26,7 +26,7 @@
// Version number for shader translation API.
// It is incremented every time the API changes.
-#define ANGLE_SH_VERSION 264
+#define ANGLE_SH_VERSION 265
enum ShShaderSpec
{
@@ -236,13 +236,7 @@ const ShCompileOptions SH_SELECT_VIEW_IN_NV_GLSL_VERTEX_SHADER = UINT64_C(1) <<
// ShBuiltInResources in vertex shaders.
const ShCompileOptions SH_CLAMP_POINT_SIZE = UINT64_C(1) << 32;
-// Turn some arithmetic operations that operate on a float vector-scalar pair into vector-vector
-// operations. This is done recursively. Some scalar binary operations inside vector constructors
-// are also turned into vector operations.
-//
-// This is targeted to work around a bug in NVIDIA OpenGL drivers that was reproducible on NVIDIA
-// driver version 387.92. It works around the most common occurrences of the bug.
-const ShCompileOptions SH_REWRITE_VECTOR_SCALAR_ARITHMETIC = UINT64_C(1) << 33;
+// Bit 33 is available.
// Don't use loops to initialize uninitialized variables. Only has an effect if some kind of
// variable initialization is turned on.
diff --git a/include/platform/FeaturesGL.h b/include/platform/FeaturesGL.h
index 97ce6a82ca..a03ef8eefb 100644
--- a/include/platform/FeaturesGL.h
+++ b/include/platform/FeaturesGL.h
@@ -205,15 +205,6 @@ struct FeaturesGL : FeatureSetBase
"The point size range reported from the API is inconsistent with the actual behavior",
&members};
- // On some NVIDIA drivers certain types of GLSL arithmetic ops mixing vectors and scalars may be
- // executed incorrectly. Change them in the shader translator. Tracking bug:
- // http://crbug.com/772651
- Feature rewriteVectorScalarArithmetic = {"rewrite_vector_scalar_arithmetic",
- FeatureCategory::OpenGLWorkarounds,
- "Certain types of GLSL arithmetic ops mixing vectors "
- "and scalars may be executed incorrectly",
- &members, "http://crbug.com/772651"};
-
// On some Android devices for loops used to initialize variables hit native GLSL compiler bugs.
Feature dontUseLoopsToInitializeVariables = {
"dont_use_loops_to_initialize_variables", FeatureCategory::OpenGLWorkarounds,