Hash :
da3db87e
Author :
Date :
2021-07-06T14:00:58
Upstream latest changes to Metal backend from Apple to 7/1/2021 This CL merges in the ANGLE changes between these two WebKit commits: https://git.webkit.org/?p=WebKit.git;a=commit;h=8648b353ab1d7730438c2e08319e1a4d64982c31 https://git.webkit.org/?p=WebKit.git;a=commit;h=166e4924a52971d6a32ad48247a439b16c00e062 Include provoking vertex buffer out of bounds fix from https://bugs.webkit.org/show_bug.cgi?id=230107 Fix bad merge of resetting of dirty bits, breaking DepthStencilFormatsTest.DepthTextureRender test and perhaps others. Disable GL_APPLE_clip_distance when the direct-to-Metal compiler is active. It can not yet handle the gl_ClipDistance array. Disable use of rectangular textures for IOSurfaces. Metal can bind IOSurfaces to 2D textures, and this was passing all tests in the SPIR-V Metal backend. Introducing rectangular textures breaks the SPIR-V Metal backend, and the tests currently fail on the direct-to-Metal backend. Fix several bugs with ProvokingVertex, which was causing both the SpirV and Direct backends to incorrectly draw indices. (https://bugs.webkit.org/show_bug.cgi?id=230107) Skip the following tests on the Metal backend which is still failing RobustResourceInitTestES3.BlitDepthStencilAfterClearBuffer GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays/ES3_Metal With these changes, angle_end2end_tests again runs to completion. Bug: angleproject:6395 Change-Id: I3cc58f531426a95fc8f177a4ad87f56c1855a546 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167010 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
{
"src/libANGLE/renderer/angle_format.py":
"74d6c9842128293118ccf128aeae896a",
"src/libANGLE/renderer/angle_format_map.json":
"947527a1b07dd14da6179eb98d7883c0",
"src/libANGLE/renderer/gen_angle_format_table.py":
"70bdbceee30506d4b14bf52f2bbd8f2b",
"src/libANGLE/renderer/metal/shaders/blit.metal":
"b35da1cf7e949d02e5a44c6a432c1f06",
"src/libANGLE/renderer/metal/shaders/clear.metal":
"37ef05208eb5d12110a7d277a4bbcbe1",
"src/libANGLE/renderer/metal/shaders/common.h":
"ac1bdd21a1cee65d88cfc4e0e61894da",
"src/libANGLE/renderer/metal/shaders/constants.h":
"dad1a869a1095be669b7da5651901d38",
"src/libANGLE/renderer/metal/shaders/copy_buffer.metal":
"8a93eae194831f99493e290aa2ec6723",
"src/libANGLE/renderer/metal/shaders/format_autogen.h":
"097b3499f82c7359437a5a58e498e604",
"src/libANGLE/renderer/metal/shaders/gen_indices.metal":
"5a1d954ea793bf4888d3d0d95c276208",
"src/libANGLE/renderer/metal/shaders/gen_mipmap.metal":
"fab35deec42fd89ae7a11d2f87b6e0b4",
"src/libANGLE/renderer/metal/shaders/gen_mtl_internal_shaders.py":
"783e31d342cfc50aa41fad1cfdb53de4",
"src/libANGLE/renderer/metal/shaders/mtl_default_shaders_src_autogen.inc":
"ca7a7ecfab09e017f40dd8b51d95ecb8",
"src/libANGLE/renderer/metal/shaders/rewrite_indices.metal":
"f8998cc5c4b078e3f7a995edf7026f13",
"src/libANGLE/renderer/metal/shaders/visibility.metal":
"b82aa740cf4b0aed606aacef1024beea"
}