Title: [279466] trunk/Source/ThirdParty/ANGLE
Revision
279466
Author
kpidding...@apple.com
Date
2021-07-01 10:03:17 -0700 (Thu, 01 Jul 2021)

Log Message

BabylonJS Under water demo is slower than it should be on Intel
https://bugs.webkit.org/show_bug.cgi?id=227226

Remove fastMath restriction on Intel
Removing fastmath in all scenarios leads to unacceptable performance on integrated graphics
Currently, webgl conformance tests and the Safari tests don't have any invariance tests that show invariance issues. deQP tests are similarly passing.
In Metal-ANGLE, gl_position and gl_fragcoord are valid attributes to be marked as invariant. All others will be ignored.

Reviewed by Kenneth Russell.

* src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
(GenMetalTraverser::emitPostQualifier):
* src/libANGLE/renderer/metal/mtl_utils.mm:
(rx::mtl::CreateShaderLibrary):

Modified Paths

Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (279465 => 279466)


--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-07-01 16:34:58 UTC (rev 279465)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-07-01 17:03:17 UTC (rev 279466)
@@ -1,3 +1,20 @@
+2021-07-01  Kyle Piddington  <kpidding...@apple.com>
+
+        BabylonJS Under water demo is slower than it should be on Intel
+        https://bugs.webkit.org/show_bug.cgi?id=227226
+
+        Remove fastMath restriction on Intel
+        Removing fastmath in all scenarios leads to unacceptable performance on integrated graphics
+        Currently, webgl conformance tests and the Safari tests don't have any invariance tests that show invariance issues. deQP tests are similarly passing.
+        In Metal-ANGLE, gl_position and gl_fragcoord are valid attributes to be marked as invariant. All others will be ignored.
+
+        Reviewed by Kenneth Russell.
+
+        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
+        (GenMetalTraverser::emitPostQualifier):
+        * src/libANGLE/renderer/metal/mtl_utils.mm:
+        (rx::mtl::CreateShaderLibrary):
+
 2021-06-30  Kimmo Kinnunen  <kkinnu...@apple.com>
 
         ASSERT in  webgl/1.0.x/conformance/glsl/misc/uninitialized-local-global-variables.html   IdGen ASSERT(*base != '_');

Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_utils.mm (279465 => 279466)


--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_utils.mm	2021-07-01 16:34:58 UTC (rev 279465)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_utils.mm	2021-07-01 17:03:17 UTC (rev 279466)
@@ -596,12 +596,6 @@
         options.fastMathEnabled = false;
 #endif
         options.languageVersion = GetUserSetOrHighestMSLVersion(options.languageVersion);
-        // TODO(jcunningham): workaround for intel driver not preserving invariance on all shaders
-        const uint32_t vendor_id = GetDeviceVendorId(metalDevice);
-        if (vendor_id == angle::kVendorID_Intel)
-        {
-            options.fastMathEnabled = false;
-        }
         options.preprocessorMacros = substitutionMacros;
         auto library = [metalDevice newLibraryWithSource:nsSource options:options error:&nsError];
         if (angle::GetEnvironmentVar(kANGLEPrintMSLEnv)[0] == '1')
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to