diff options
author | Shahbaz Youssefi <syoussefi@chromium.org> | 2021-08-03 01:31:03 -0400 |
---|---|---|
committer | Angle LUCI CQ <angle-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2021-08-04 15:47:24 +0000 |
commit | 09d5047b41d0e700a497262b140ab61eb587baf3 (patch) | |
tree | 06ff1c76fee1e51acdb1e0838c37da95fa933faa /include | |
parent | 10d50f649863aa166cd2e4734a7020bf8c0342f1 (diff) | |
download | angle-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.h | 10 | ||||
-rw-r--r-- | include/platform/FeaturesGL.h | 9 |
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, |