⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 284007 in webkit


Ignore:
Timestamp:
Oct 12, 2021, 12:51:26 PM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Cocoa GraphicsContextGLOpenGL uses depth and stencil for pbuffers on ANGLE Metal
https://bugs.webkit.org/show_bug.cgi?id=231424

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-10-12
Reviewed by Dean Jackson.

ANGLE Metal allocates depth and stencil buffers when a pbuffer is bound to
a texture via eglBindTexImage.
To side-step this performance issue, allocate the gl context with EGLConfig
that disables depth and stencil. The config is used for the video texture
upload context, video texture upload pbuffers as well as other pbuffers.

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r284003 r284007  
     12021-10-12  Kimmo Kinnunen  <kkinnunen@apple.com>
     2
     3        Cocoa GraphicsContextGLOpenGL uses depth and stencil for pbuffers on ANGLE Metal
     4        https://bugs.webkit.org/show_bug.cgi?id=231424
     5
     6        Reviewed by Dean Jackson.
     7
     8        ANGLE Metal allocates depth and stencil buffers when a pbuffer is bound to
     9        a texture via eglBindTexImage.
     10        To side-step this performance issue, allocate the gl context with EGLConfig
     11        that disables depth and stencil. The config is used for the video texture
     12        upload context, video texture upload pbuffers as well as other pbuffers.
     13
     14        * platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
     15        (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
     16
    1172021-10-12  Tim Horton  <timothy_horton@apple.com>
    218
  • trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm

    r283703 r284007  
    259259        EGL_BLUE_SIZE, 8,
    260260        EGL_ALPHA_SIZE, 8,
     261        EGL_DEPTH_SIZE, 0,
     262        EGL_STENCIL_SIZE, 0,
    261263        EGL_NONE
    262264    };
Note: See TracChangeset for help on using the changeset viewer.