Changeset 262074 in webkit


Ignore:
Timestamp:
May 22, 2020 2:30:30 PM (4 years ago)
Author:
commit-queue@webkit.org
Message:

[ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212271

Patch by Kenneth Russell <kbr@chromium.org> on 2020-05-22
Reviewed by Dean Jackson.

Source/ThirdParty/ANGLE:

Use ES 3.0 sized internal formats for unsized depth/stencil
textures when the OES_depth_texture extension is unavailable - as
is the case in iOS's ES 3.0 driver.

  • src/libANGLE/renderer/gl/formatutilsgl.cpp:

(rx::nativegl::GetNativeInternalFormat):

LayoutTests:

Remove expected failure of webgl-depth-texture on iOS.

  • platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt: Removed.
Location:
trunk
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r262069 r262074  
     12020-05-22  Kenneth Russell  <kbr@chromium.org>
     2
     3        [ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
     4        https://bugs.webkit.org/show_bug.cgi?id=212271
     5
     6        Reviewed by Dean Jackson.
     7
     8        Remove expected failure of webgl-depth-texture on iOS.
     9
     10        * platform/ios/fast/canvas/webgl/webgl-depth-texture-expected.txt: Removed.
     11
    1122020-05-22  Andy Estes  <aestes@apple.com>
    213
  • trunk/Source/ThirdParty/ANGLE/ChangeLog

    r262044 r262074  
     12020-05-22  Kenneth Russell  <kbr@chromium.org>
     2
     3        [ANGLE - iOS] fast/canvas/webgl/webgl-depth-texture.html is failing
     4        https://bugs.webkit.org/show_bug.cgi?id=212271
     5
     6        Reviewed by Dean Jackson.
     7
     8        Use ES 3.0 sized internal formats for unsized depth/stencil
     9        textures when the OES_depth_texture extension is unavailable - as
     10        is the case in iOS's ES 3.0 driver.
     11
     12        * src/libANGLE/renderer/gl/formatutilsgl.cpp:
     13        (rx::nativegl::GetNativeInternalFormat):
     14
    1152020-05-21  Dean Jackson  <dino@apple.com>
    216
  • trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/formatutilsgl.cpp

    r262036 r262074  
    548548            result = internalFormat.sizedInternalFormat;
    549549        }
     550        else if ((internalFormat.internalFormat == GL_DEPTH_COMPONENT ||
     551                  internalFormat.internalFormat == GL_DEPTH_STENCIL) &&
     552                 !functions->hasGLESExtension("GL_OES_depth_texture"))
     553        {
     554            // Use ES 3.0 sized internal formats for depth/stencil textures when the driver doesn't
     555            // advertise GL_OES_depth_texture, since it's likely the driver will reject unsized
     556            // internal formats.
     557            switch (internalFormat.internalFormat)
     558            {
     559                case GL_DEPTH_COMPONENT:
     560                    if (internalFormat.type == GL_UNSIGNED_SHORT)
     561                    {
     562                        // Could consider promoting this to a higher bit depth
     563                        result = GL_DEPTH_COMPONENT16;
     564                    }
     565                    else if (internalFormat.type == GL_UNSIGNED_INT)
     566                    {
     567                        if (functions->hasGLESExtension("GL_OES_depth32"))
     568                        {
     569                            result = GL_DEPTH_COMPONENT32_OES;
     570                        }
     571                        else
     572                        {
     573                            // Best-effort attempt to provide as many bits as possible.
     574                            result = GL_DEPTH_COMPONENT24;
     575                        }
     576                    }
     577                    else if (internalFormat.type == GL_FLOAT)
     578                    {
     579                        result = GL_DEPTH_COMPONENT32F;
     580                    }
     581                    break;
     582                case GL_DEPTH_STENCIL:
     583                    if (internalFormat.type == GL_UNSIGNED_INT_24_8)
     584                    {
     585                        result = GL_DEPTH24_STENCIL8;
     586                    }
     587                    else if (internalFormat.type == GL_FLOAT_32_UNSIGNED_INT_24_8_REV)
     588                    {
     589                        result = GL_DEPTH32F_STENCIL8;
     590                    }
     591                    break;
     592                default:
     593                    UNREACHABLE();
     594                    break;
     595            }
     596        }
    550597    }
    551598
Note: See TracChangeset for help on using the changeset viewer.