Changeset 279466 in webkit


Ignore:
Timestamp:
Jul 1, 2021, 10:03:17 AM (4 years ago)
Author:
Kyle Piddington
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):

Location:
trunk/Source/ThirdParty/ANGLE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/ThirdParty/ANGLE/ChangeLog

    r279426 r279466  
     12021-07-01  Kyle Piddington  <kpiddington@apple.com>
     2
     3        BabylonJS Under water demo is slower than it should be on Intel
     4        https://bugs.webkit.org/show_bug.cgi?id=227226
     5
     6        Remove fastMath restriction on Intel
     7        Removing fastmath in all scenarios leads to unacceptable performance on integrated graphics
     8        Currently, webgl conformance tests and the Safari tests don't have any invariance tests that show invariance issues. deQP tests are similarly passing.
     9        In Metal-ANGLE, gl_position and gl_fragcoord are valid attributes to be marked as invariant. All others will be ignored.
     10
     11        Reviewed by Kenneth Russell.
     12
     13        * src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:
     14        (GenMetalTraverser::emitPostQualifier):
     15        * src/libANGLE/renderer/metal/mtl_utils.mm:
     16        (rx::mtl::CreateShaderLibrary):
     17
    1182021-06-30  Kimmo Kinnunen  <kkinnunen@apple.com>
    219
  • trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_utils.mm

    r277741 r279466  
    597597#endif
    598598        options.languageVersion = GetUserSetOrHighestMSLVersion(options.languageVersion);
    599         // TODO(jcunningham): workaround for intel driver not preserving invariance on all shaders
    600         const uint32_t vendor_id = GetDeviceVendorId(metalDevice);
    601         if (vendor_id == angle::kVendorID_Intel)
    602         {
    603             options.fastMathEnabled = false;
    604         }
    605599        options.preprocessorMacros = substitutionMacros;
    606600        auto library = [metalDevice newLibraryWithSource:nsSource options:options error:&nsError];
Note: See TracChangeset for help on using the changeset viewer.