Log

Author Commit Date CI Message
Lubosz Sarnecki f2736f6d 2021-11-19T14:24:55 Tests: Add My Talking Tom Friends trace. Test: angle_perftests --gtest_filter="*my_talking_tom_friends*" Bug: angleproject:6749 Change-Id: I7d86e7ff0607841ab4bf999f0e986f4d324c5c44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3310797 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Lingfeng Yang a93a3930 2021-12-08T20:36:07 Vulkan: Track enabled in VertexArray Previously in sequences such as glEnableVertexAttribArray(0) glDrawElements() glDisableVertexAttribArray(0) glEnableVertexAttribArray(0) glDrawElements() the second glDrawElements() would always be called with dirty enable. On some backends like Vulkan this could result in unnecessary pipeline changes. Bug: angleproject:6796 Change-Id: Ib44877b6030e8d0acede7cf5c591936ba3844b69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3325208 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com>
Charlie Lao 83a670ab 2021-10-29T09:12:26 Vulkan: Implement BufferPool using VMA's virtual allocator VMA's allocation calls used to be sub-allocating a pool of memory. What we really want is sub-allocate a VkBuffer object. VMA recently added support to expose the underlying range allocation algorithm via APIs, which user can use it to sub-allocate any object. This CL uses that new virtual allocation API to sub-allocate from a pool of VkBuffers. In this CL we only switched BufferVk::mBuffer to sub-allocate from the BufferPool object. Bug: b/205337962 Change-Id: Ia6ef00c22e58687e375b31bc12ac515fd89f3488 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266146 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Lingfeng Yang 83679716 2021-12-14T19:02:48 Vulkan: Dirty vertex buffers if default attrib values changed In the call_break_offline trace, attribute index 4 is disabled then enabled before a draw. This redundant operation is currently not blocked and makes it to the Vulkan backend, resulting in handleDirtyGraphicsVertexBuffers. However, at the same time, we change the default attrib value for index 3. Which makes handleDirtyGraphicsVertexBuffers not redundant. We'll need to take into account cases when other attribute indices are not dirty and yet the default attrib value changes. Bug: angleproject:6802 Change-Id: I4a3ec411aa42f73a209fd0f06976d7ef2d21e027 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331412 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Lingfeng Yang <lfy@google.com>
Charlie Lao 543f5750 2021-12-15T16:58:46 Vulkan: Disable protected memory for ARM ARM driver reports protected memory feature support. But when we enable the feature, even if the feature is not been used (i.e., no memory or queue is created with protected bit), we still see quite large performance drop, mainly due to excessive load/store unit activity. This CL disables this feature on ARM platform until we can find a good solution for it. Bug: angleproject:6817 Change-Id: I57e8b3f568f3818080e56b5d6ae9d1623732d236 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343671 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Maksim Sisov c7446ac4 2021-12-16T16:00:08 Add support for GL_MESA_framebuffer_flip_y 1/* LaCrOS, which is same as ChromeOS, relies on this extension and uses that with WebGL content. However, when LaCrOS uses ANGLE, the extension is not exposed and the WebGL content is y-inverted as direct scanout is always used. There are two bugs - 1) ANGLE should expose the extension so that direct scanout is possible (this CL fixes the issue. 2) LaCrOS shouldn't rely on the extension if it's not available (a bug to be fixed in Chromium). This particular CL consists of autogen files with framebufferParameteriMESA && getFramebufferParameterivMESA in Context marked as UNIMPLEMENTED. And also unimplemented validation. Bug: chromium:1231934 Change-Id: Id617846b0412f579df5b4ace6cb33c1ec6d403df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343492 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Maksim Sisov <msisov@igalia.com>
Lubosz Sarnecki 60383b41 2021-12-07T14:33:13 Tests: Add Dota Underlords trace. Test: angle_perftests --gtest_filter="*dota_underlords*" Bug: angleproject:5857 Change-Id: I795fd36d8bb3b0f9aed76bbe60886fc489bef89d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3342566 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki f26687a0 2021-11-19T14:17:26 Tests: Add My Talking Tom 2 trace. Test: angle_perftests --gtest_filter="*my_talking_tom2*" Bug: angleproject:6613 Change-Id: I8cddc4913bc3b5a621aa48e0651af0c47a31c4f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3309126 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll 438de17e 2021-12-16T10:01:52 Roll vulkan-deps from a8221eed5970 to 39f3a18bdfbe (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/a8221eed5970..39f3a18bdfbe Changed dependencies: * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/d53b49635b..eddd4dfc93 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/4322c4b5a7..7d768812e2 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/9f537109da..f8f8e2fe64 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: Iebc31a97468efcd8ccfa58b77d10d71a380adb8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3344732 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Lubosz Sarnecki e7413adf 2021-12-15T18:35:29 system_utils_posix: Check for SEGV_MAPERR si_code. Android 12 emits a SEGV_MAPERR for mprotect page faults on the handler. Treat these callbacks as in range. This fixes the memory protection implementation on Android 12. Test: angle_unittests --gtest_filter="SystemUtils.PageFaultHandler*" Bug: angleproject:5857 Change-Id: I346b04230e1389de9f0a80b7f704dd65acfa9d82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340950 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Peng Huang 6e5fd816 2021-12-15T18:31:13 Support more ImageLayout in ConvertImageLayoutToGLImageLayout Bug: chromium:1264439 Change-Id: I35938a65981edf495bd9aafb8bfb17aa3ec9a66c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3341640 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Gregg Tavares b26bb13a 2021-12-15T15:46:00 Metal: Remove references to xfbActiveUnpaused uniform Metal chooses a shader with or without support for transformfeedback so there's no point in checking in the shader if it's enabled or not. Bug: angleproject:6823 Change-Id: Iacd26b1e55b311a7cc7987dcd8b2f8c0c8727d62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343179 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
angle-autoroll bb5bab03 2021-12-16T07:00:13 Roll Chromium from 2dae07eeb163 to 3f6c88f5581a (414 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2dae07eeb163..3f6c88f5581a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/60fec11aa8..f64cedd232 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/075dd7e228..d7bdd6f038 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f40b636e71..66c450f469 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/58d8190809..db501db975 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..58f3a92099 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9e5809e98f..168ca4d812 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/f6d6604043..34acefcf6e * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/5c8dcc7e68..fc6e94e14d No update to Clang. Bug: angleproject:6037 Tbr: timvp@google.com Change-Id: I890d2595a17e15b438b92e4d33d1bac102ded24c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3344589 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev c4d434b9 2021-12-15T22:57:13 Metal: Enable OES_fbo_render_mipmap Bug: angleproject:6813 Change-Id: I643c114d7b37ca0532d2dda1964090a15e470842 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3342568 Reviewed-by: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Kyle Piddington 67067991 2021-12-15T15:11:05 Metal: Fix Webkit warnings in ANGLE build Fix nullable warnings, unused functions Bug: angleproject:6781 Change-Id: I063331e60d31a55b3cc9df0b41ace014d7d13659 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343174 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Gregg Tavares bda49325 2021-12-10T16:11:15 Add guards for 64 bit types on 32bit systems Bug: angleproject:6785 Change-Id: Iff043a22d398f5a7a1a46ae3cc4d2de5a6e3797e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331639 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Yuly Novikov e7c9dbb8 2021-12-15T19:35:27 Skip SimpleStateChangeTestES3.OutOfBoundsByteAttribute on Pixel4 GLES Flaky crashes. Already skipped on Vulkan Bug: angleproject:6744 Change-Id: Ifc470ac2cf7d607b676501980f0c38f28547ef30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343726 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Amirali Abdolrashidi 89e11878 2021-12-06T09:42:46 Vulkan: Fix the UAF issue with BufferData * Fixed the use-after-free issue with stale buffer handles after calling BeginTransformFeedback. * Added an observer for TransformFeedbackVk to update the buffer handles when buffer's storage is changed and the buffer update type is StorageRedefined. * Added a function to TransformFeedbackVk::onDestroy() to release the counter buffers in order to avoid crash due to TransformFeedbackVk::end() not being called, e.g., as a result of no glEndTransformFeedback() calls. Bug: chromium:1274316 Change-Id: I8ed477f36e6ff89dd4764bb59af564c69efe33e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3321789 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Gregg Tavares ee1d3cf7 2021-12-10T12:29:16 Metal: Integrate Metal Binary Shader generation Bug: angleproject:6801 Change-Id: I2eb7072ed342f2b4cb5d9ee50ca9db75c5c7df69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331206 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com> Commit-Queue: Gregg Tavares <gman@chromium.org>
Kyle Piddington 3e7e2758 2021-12-14T15:48:42 Metal: Fix macOS ANGLE build on Catalina (10.15) SDK macOS Catalina does not have an enum for AppleGPUFamily6 In addition, platform includes for macOS 11.0 should use 110000, not 101600 (10.16) Bug: angleproject:6814 Change-Id: I9c6a0587aa22fb2e58d02fcb1779060de2632963 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340104 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Amirali Abdolrashidi 05a44dd2 2021-11-29T12:16:58 Vulkan: Set content undefined on eglSwapBuffers * Invalidate the swap buffer content if the swap behavior is EGL_BUFFER_DESTROYED. * In that event, WindowSurfaceVk::getBufferAge() sets `age` to 0 and returns with no errors. * Unit tests in EGLBufferAgeTest.cpp updated to reflect this. * Minor cleanup in the test file. Bug: angleproject:6363 Change-Id: Ibab7ccb99c1be149588e6aad16bcc2d6dd989295 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3307776 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Cody Northrop 26fa0fe6 2021-12-15T10:44:40 Tests: Add Asphalt 9 trace Test: angle_perftests --gtest_filter="*asphalt_9*" Bug: angleproject:5883 Change-Id: I8d180e6bd865d04ccc5c5938d62d86d1293de901 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3308852 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 5275f487 2021-12-14T21:03:54 Vulkan: Disable async command queue with Vulkan SCBs There is currently a threading hazard with ContextVk::mCommandPool, where ContextVk records to command buffers allocated from the pool while the async command queue thread is using other command buffers allocated from the same pool. While experimenting with Vulkan SCBs, disable the async command queue feature when using Vulkan SCBs. It is unknown whether async command queue with Vulkan SCBs is even worthwhile; if it proves to be, we could make ContextVk maintain multiple pools and rotate between them. Bug: angleproject:6811 Change-Id: Iac2e9337b5b109b2c7cb359109afe6ee386e4c34 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340018 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya feb599ad 2021-12-09T20:17:14 Invalidate EGL handles during eglTerminate EGL 1.5 spec says - Termination marks all EGL-specific resources, such as contexts and surfaces, associated with the specified display for deletion. Handles to all such resources are invalid as soon as eglTerminate returns Move EGL object handles to another set, tracking invalid objects, during display terminate. Destroy these invalid objects during eglReleaseThread Bug: angleproject:6798 Test: EGLMultiContextTest.NegativeTestAfterEglTerminate* Test: EGLMultiContextTest.RepeatedEglInitAndTerminate* Test: Android CTS WrapperTest.testThreadCleanup Change-Id: Ie160212c98367493e645d9d1c8260e7a30649386 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329273 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Alexey Knyazev 32e23bb9 2021-12-15T13:30:37 Expand WebGLCompressedTextureAvailabilityTest Added assertions for OpenGL on macOS and a new regression test for emulated ETC1. Bug: chromium:1279908 Bug: chromium:1048244 Change-Id: I522a8db32dacad0bca0fba09aed1bcbafa7e3c80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340934 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jamie Madill d6b9a259 2021-12-14T16:32:14 end2end_tests: Add SwS + AsyncQueue testing. This covers a hole in sanitizer testing. Bug: angleproject:6746 Change-Id: I3c9569f94f0d51f771c57d1d72743849a1cbba33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3337984 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gregg Tavares a0eb6146 2021-12-14T15:22:57 Update warning message for invalid include Bug: angleproject:6812 Change-Id: I7f514b192143081acbdcf8d91bf262ede420e0ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340099 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Alexis Hetu cac81f07 2021-12-14T22:56:15 Return full error info when opening a library with dlopen This CL adds a parameter to OpenSharedLibrary and OpenSharedLibraryWithExtension which is used to return the full path of the library which was opened. If dlopen failed, the string also contains the result of dlerror which explains what the error was. Bug: chromium:1246171 Change-Id: I374c7e2dfa18853c8137b4cbea06af8db3fdb501 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340020 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Shahbaz Youssefi 90c3038e 2021-12-14T16:46:13 Vulkan: Fix desc set updates with Vulkan SCBs Since Vulkan SCBs are a command buffer in their own, we cannot aggregate desc set updates to be done once after all the binds have been recorded. This change makes sure that desc set updates are issued before bind, but this problem could potentially also be solved with VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, by actually issuing the writes at the end of the secondary CB, just before closing it. Bug: angleproject:6811 Change-Id: I18e150b73a5881258679ba53a2d84acd2fc44edd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338390 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 8419f4fc 2021-12-15T10:01:53 Roll vulkan-deps from c03890076954 to a8221eed5970 (2 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/c03890076954..a8221eed5970 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f0351b7bc6..4322c4b5a7 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/24373f2d98..a11162fcac If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I29c265ae1f5153559010946a94cacec4b1aacb61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3341373 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll db367bd7 2021-12-15T07:01:47 Roll Chromium from 0c0a3654694f to 2dae07eeb163 (450 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0c0a3654694f..2dae07eeb163 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/4ba87d4691..60fec11aa8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ce77949bc0..f40b636e71 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/8790d052d9..a74e6cedae * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/67d9735161..eb60318d64 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b759738dea * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2777fd9c6a..9e5809e98f * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/681a70255d..f6d6604043 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/5f7c21c863..5c8dcc7e68 No update to Clang. Bug: None Tbr: timvp@google.com Change-Id: I20db96440de8ec1ba5c21105e82229edc29903a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340562 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop bfc7f09a 2021-12-14T17:14:47 Revert "Upgrade restricted traces to new trace format." This reverts commit 9907d86e3dfdb33c60b4e1b87712728a2988654b. Reason for revert: Causing failures on Intel Linux with native driver. Original change's description: > Upgrade restricted traces to new trace format. > > The new traces are significantly smaller due to unused Program > trimming. The new trace archive is at least 30% smaller after > compression, which should have a positive impact on Android > transfer time. We also reduced the source file count by about > 4000 from replay function merging, which should benefit > developer compilation time. > > Bug: angleproject:5133 > Change-Id: If461875006c2b918197cab9323c3553966c46e88 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335060 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:6816 Change-Id: Ia8cdf302bfd17a6226bfb2df4b0467d4dfeee44b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340333 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Yuxin Hu 800c6971 2021-12-08T01:08:17 Modified buffer fallback format to smaller storage format Bug: angleproject:6726 Change-Id: I475d99fc0143f265e66cc4f7aa13fa0de8745169 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315916 Reviewed-by: Lingfeng Yang <lfy@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 709d8727 2021-12-14T16:11:33 Revert "Trace Tests: Remove auto-generated code." This reverts commit 1c0bb44862fbc6107d73d056c2e07c59bcfa8d09. Reason for revert: Causing failures on Intel Linux with native driver. Original change's description: > Trace Tests: Remove auto-generated code. > > Bug: angleproject:5133 > Change-Id: I71a82071b1c667475f7fefcd6c8766a9de71141d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144215 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:6816 Change-Id: Ic35145c8c3bb23ccf196b86def42f4a82f07aad5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340332 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Shrek Shao 3da54250 2021-12-14T16:23:47 Skip MultithreadingTest.MultiContextDrawWithSwapBuffers On Linux Vulkan TSAN Bug: angleproject:6804 Change-Id: I67dbbf94948ddc3042fa90eddc704b0becb45db0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340335 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com>
Robert Iannucci 7f1a0f89 2021-12-14T16:15:32 Switch to non-deprecated bbagent, remove defunct experiments. Bug: chromium:1015181 Change-Id: I130de6cb79c343c066f182ab8f17c4a96aba9219 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340334 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Alexey Knyazev 9d49d843 2021-12-15T00:36:54 Add WebGLCompressedTextureAvailabilityTest Acts as a regression test for https://crrev.com/c/3338624 Has been verified to catch the earlier error in the include guards. Bug: angleproject:6809 Bug: chromium:1279908 Change-Id: I248aca46db26eea304044835ea35fc2400ed459d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338748 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Shrek Shao 5ee7dfbd 2021-12-14T12:55:39 BufferSubDataTest.SmallIndexBufferUpdateAfterDraw testSetUp fix Failing on Linux FYI GPU TSAN Release, although already skipped. Changing SetUp/TearDown to testSetup/testTearDown to avoid assert failures before skipped. Bug: angleproject:6810 Change-Id: Ibc746293fd0ad823e5b82c2d3db2862751b90f99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3339603 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Mohan Maiya e70a81b9 2021-12-14T13:41:28 Vulkan: Rectify typo introduced in 36fcf80b1f2a99 The method should have been updateYcbcrConversionDesc Bug: angleproject:6732 Test: Texture2DTestES3.*Yuv*Vulkan Change-Id: I67ab35ac07a6d751cbe3c3c29bdde21a5a7f5834 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3339605 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Jamie Madill 1c0bb448 2021-09-07T11:47:23 Trace Tests: Remove auto-generated code. Bug: angleproject:5133 Change-Id: I71a82071b1c667475f7fefcd6c8766a9de71141d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144215 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kyle Piddington 76d42082 2021-12-14T09:30:24 Metal: ETC and ASTC are missing on M1 Platform guards are incorrect in mtl_utils.mm. We need to account for macOS post 10.15, which now supports the apple GPU family query. Bug: angleproject:6809 Change-Id: Iae219a11ffe0ef0715681009aa24cbbc6fd2c61e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338624 Reviewed-by: Gregg Tavares <gman@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Mohan Maiya 36fcf80b 2021-12-11T20:55:53 Vulkan: Consolidate SamplerYcbcrConversionCache Now that SamplerDesc and ImageHelper have the fully qualified description of a VkSamplerYcbcrConversion, we can lazy allocate the conversion handle along with streamlining the interface to the SamplerYcbcrConversionCache class. Bug: angleproject:6732 Test: Texture2DTestES3.*Yuv*Vulkan Change-Id: I7deaa0220031bc4c500d88021459017bf937218c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3333629 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Jamie Madill 9907d86e 2021-12-13T14:15:09 Upgrade restricted traces to new trace format. The new traces are significantly smaller due to unused Program trimming. The new trace archive is at least 30% smaller after compression, which should have a positive impact on Android transfer time. We also reduced the source file count by about 4000 from replay function merging, which should benefit developer compilation time. Bug: angleproject:5133 Change-Id: If461875006c2b918197cab9323c3553966c46e88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335060 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Hailin Zhang 7b13a9ac 2021-12-09T18:37:59 Vulkan: Fix dynamic partial update buffer data issue. add test case for dynamic update buffer data. Signed-off-by: Hailin Zhang<hailinzhang@google.com> Bug: b/207714894 Change-Id: I8c1e93d152847c3162c0e2dd49abe3d899c859a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3328869 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Peng Huang 32f572b7 2021-12-03T17:58:51 Support creating EGLImage from VkImage Bug: chromium:1264439 Change-Id: I520182143e748f25b44d0725f3f171b7b33a85d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3311131 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Jamie Madill 7fc6c07c 2021-09-29T14:02:29 Capture/Replay: Update process for trace upgrading. Includes changes to the retracing script. Also includes documentation on how the process works. Bug: angleproject:5133 Change-Id: I1acfe338f3fe0282a0461c314274c761ed04bd2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193418 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ben Pastene fefd7ae6 2021-12-13T22:56:23 Revert "Enable the chromium recipe RDB results experiment for all builds." This reverts commit 8e4302368463012cf78894824a705e5bae57fa6e. Reason for revert: experiment is on by default after crrev.com/c/3321235 Original change's description: > Enable the chromium recipe RDB results experiment for all builds. > > This experiment has been enabled at 100% for all chromium builds > for months now. And the more builders are on it, the more we're able to > refactor the chromium recipe. This was attempted in crrev.com/c/3307244, > but had to be reverted since angle builds re-use much of chromium's > recipe code but don't have the experiment rolled out to them. > > So this rolls it out to angle builds to allow for further clean-up in > chromium's recipe code. Since all angle tests are wrapped via > result_adapter, they should already have RDB integration (meaning their > results are already uploaded to RDB). > > A LED run of a build with this experiment applied: > https://ci.chromium.org/swarming/task/578b98d07382dd10?server=chromium-swarm.appspot.com > > Another LED run with that experiment and the recipe CL relanded: > https://ci.chromium.org/swarming/task/578b9939cfccdb10?server=chromium-swarm.appspot.com > > This matches its original build: > https://ci.chromium.org/ui/p/angle/builders/try/win-test/1026/overview > > Bug: chromium:1135718 > Change-Id: Ief4993fa9c027f9c2c6c3c352eb4e65ce74b628c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3309479 > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Bug: chromium:1135718 Change-Id: Ief89cef04ee75a8379a815b213e73c8841c9abb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3336357 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki c56f29a2 2021-11-05T13:14:35 BufferDataTest: Add more coherent buffer storage tests. Add UniformBufferMapped and VertexBufferMapped in BufferStorageTestES3. Add a test that writes to a mapped coherent bufferstorage from multiple threads. Test: angle_end2end_tests --gtest_filter="BufferStorageTestES3.*" Bug: angleproject:5857 Change-Id: I434c2462fb7217ab77667a6ec038f21835beb0b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275764 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 9df048ef 2021-11-09T11:31:36 BufferDataTest: Do not require GL_EXT_map_buffer_range. For tests where glMapBufferRange and glUnmapBuffer is used, which is part of core GLES 3. Keep it as requirement for tests where glMapBufferOES and glUnmapBufferOES is used. This enabled these tests in the capture/replay test suit, as they are not skipped anymore. GL_EXT_map_buffer_range and GL_OES_mapbuffer are disabled during capture. Test: angle_end2end_tests --gtest_filter="BufferStorageTestES3.*" Bug: angleproject:5857 Change-Id: I4acdb428479f5d0dbd64670107d4c59a0b10df7c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275763 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki d4b8cd5e 2021-09-14T16:34:31 FrameCapture: Implement capture of coherent bufferstorages. Track buffers with the GL_MAP_COHERENT_BIT_EXT access flag in a CoherentBufferTracker on a per page basis using the PageFaultHandler and protection functions from system_utils. Check for dirty memory and capture it on draw calls. Bug: angleproject:5857 Change-Id: Ib098f96952db7583d3e6517570c179e7754f54b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3168629 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll f236c8f2 2021-12-14T10:01:53 Roll vulkan-deps from a0a6270b47e4 to c03890076954 (1 revision) https://chromium.googlesource.com/vulkan-deps.git/+log/a0a6270b47e4..c03890076954 Changed dependencies: * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/ca9efe3f1c..24373f2d98 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I6d7527ea901a557a907b2de6df30794fbff781a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338078 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 66ad9351 2021-12-14T10:01:31 Roll SwiftShader from 592d413edb56 to f354daff5a2b (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/592d413edb56..f354daff5a2b 2021-12-14 swiftshader.regress@gmail.com Regres: Update test lists @ 1eee6cbc 2021-12-13 srisser@google.com Regres updates deqp.json before updating testlists 2021-12-13 swiftshader.regress@gmail.com Regres: Update test lists @ 592d413e 2021-12-13 swiftshader.regress@gmail.com Regres: Update test lists @ 592d413e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I277b8fb47408b608b133777be66d0790d9907b3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338205 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 39c759ea 2021-12-14T07:01:41 Roll Chromium from 30aeba8927a2 to 0c0a3654694f (457 revisions) https://chromium.googlesource.com/chromium/src.git/+log/30aeba8927a2..0c0a3654694f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/47daaa3cef..4ba87d4691 * buildtools/linux64: git_revision:fc295f3ac7ca4fe7acc6cb5fb052d22909ef3a8f..git_revision:2e56c317bd8e2bf152cfa2ead6ac5fa476fe28b4 * buildtools/mac: git_revision:fc295f3ac7ca4fe7acc6cb5fb052d22909ef3a8f..git_revision:2e56c317bd8e2bf152cfa2ead6ac5fa476fe28b4 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/58799ca24f..603d9d1067 * buildtools/win: git_revision:fc295f3ac7ca4fe7acc6cb5fb052d22909ef3a8f..git_revision:2e56c317bd8e2bf152cfa2ead6ac5fa476fe28b4 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/56b16934c0..ce77949bc0 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/05738da13b..8790d052d9 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1ba82f650c * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ecc14aa45d..2777fd9c6a * third_party/turbine: mlH0GH_teB71nsyjwL_if7NtARJdHnf6-4VXRFyGujgC..RGxvdzLaS73gQOXCTgq7CWKsqCgrXDPPL0Pcxz6oGbQC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/7fd41684df..dc7eff95e1 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/7390fef5d6..681a70255d * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/460c03d1fb..5f7c21c863 No update to Clang. Bug: None Tbr: timvp@google.com Change-Id: I395ee4d3d6218c09bbec9c7f9ffccd6924b8d692 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3337676 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 5b858acf 2021-12-09T14:22:14 Vulkan: Fix the offset issue in multiDrawIndirect * In MultiDrawElementsIndirect, it resets the index buffer offset (mCurrentIndexBufferOffset) to 0. * Added a unit test for MultiDrawElementsIndirect to make sure that the index buffer offset is reset properly. * Updated the test program in MultiDrawIndirectTest to include a multi-colored mode. * D3D11 and Metal tests regarding the following functions are disabled so more test coverage can be added: * glMultiDrawElementsIndirectEXT * glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE Bug: angleproject:6751 Change-Id: I81bb7b3aa9b6ad8a9283dd50728ec6250c3668ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3330737 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
John Cunningham 42bd4fc2 2021-12-10T14:58:17 Metal: add ANGLE_metal_create_context_ownership_identity. This Metal-specific EGL extension allows a given context and the GPU resources it allocates to be associated with a particular task ID on the system, for system-level bookkeeping purposes. Bug: angleproject:6795 Change-Id: I19ee0993564169b01c4a450e63dcfacd339b98b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335172 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Jeff Vigil 1fc9b7c6 2021-12-08T14:10:36 EGL: Add queries for EGL_KHR_protected_content Add surface and context query for EGL_PROTECTED_CONTENT_EXT attribute. Bug: angleproject:6693 Change-Id: Iad3d8d7e0db89414c44a0101c26cda6e60308e71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3324963 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Gregg Tavares afca80a8 2021-12-09T17:48:49 Metal:Add debug info for shaders This should fix the WEBGL_debug_shader_info CTS test Bug: angleproject:6788 Change-Id: I89e18f94ea3199149c252355372648b5e328e1ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329204 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Jamie Madill f60b152c 2021-12-06T10:19:53 Frame Capture: Merge small frames into single sources. By buffering up the replay functions before writing them out into sources, we can reduce the number of replay files by a large margin. Bug: angleproject:5133 Change-Id: I0a556fd1a3a5f2dcc8a26b761e885c9b7e464cf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3316200 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi b7a42c88 2021-12-13T15:53:07 Vulkan: Remove VK_EXT_swapchain_colorspace check We don't make use of this extension since https://chromium-review.googlesource.com/c/angle/angle/+/3208689. Bug: angleproject:2514 Change-Id: I8b8edf5006ac1c3eeeefcadbe77249a5a6a5dda7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335070 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill f40e83cb 2021-09-10T19:15:17 Reduced "rx::vk::kInFlightCommandsLimit" from "100" to "50". The "100" value is too high and causes "S21 Adreno" block in "vkQueueSubmit()". This is a temp solution. Patch authored by Igor Nazarov <i.nazarov@samsung.com> Bug: angleproject:6401 Change-Id: Ie7f9c8ef5311b17325640cae0f613ece768c0fa3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3165666 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lingfeng Yang ea03bf47 2021-12-03T08:48:50 Vulkan: fix crash when clearing stencil Previously, we cast the originally-32-bit mask to 8 bits, and then crashed ourselves in the assert. Also optimize away the stencil based on 8 bit explicitly in the frontend. Bug: chromium:1275858 Change-Id: I0b03a17e72f5a4540b5c4605353eb1fde898057d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315158 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Lingfeng Yang <lfy@google.com>
Yuly Novikov a27be084 2021-12-13T14:18:33 Skip GLSLTest_ES31.StructAndArrayEqualOperator on Pixel 4 Flaky OOM. Bug: angleproject:6805 Change-Id: I50f42c6ce486f68563c08c4e9b3aab1b4876ca0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3334877 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill e8b186c9 2021-12-09T09:45:20 Frame Capture: Don't unmap regenned buffers in reset. These buffers are deleted and recreated, so unmapping them gives a "resource not mapped" error during replay. Found when working on the "world_war_doh" trace. Bug: angleproject:5133 Change-Id: Id1e6318c44a2a09fa643ef0a72f1d03d8396e5fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3327862 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a24919e7 2021-12-09T10:04:25 Frame Capture: Clear array buffer binding in MEC. This should allow us to properly reset buffer state when capturing vertex attribute pointer state in the per-context (not shared) setup function. Also adds a missing replay state buffer binding update. Fixes a state serialization difference in "badland". Bug: angleproject:5133 Change-Id: I8509dbf7211726ff47f4e7e5ff86a0eb8726d75c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3327861 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Brian Sheedy a1e066db 2021-12-10T12:26:01 Suppress Mac 12 failure Suppresses a failure in PointSpritesTest.PointSizeAboveMaxIsClamped on Metal with Mac 12. Bug: angleproject:6800 Change-Id: Ib6646b31e7d0231e2cd1284301792216bd5c70d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331200 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 0f6be3e0 2021-12-13T11:15:52 Roll vulkan-deps from 267fa481ccad to a0a6270b47e4 (7 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/267fa481ccad..a0a6270b47e4 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3156158878..f0351b7bc6 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/2bbfe2ef64..ca9efe3f1c * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/08f87babad..05c6171c04 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/3dfeacfe0a..9f537109da If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: Iad3d01cf4d14a95240db0a8995503e352423295d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3334134 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b365a69e 2021-12-13T10:01:32 Roll SwiftShader from 4c62980da8c1 to 592d413edb56 (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/4c62980da8c1..592d413edb56 2021-12-10 capn@google.com Refactor image sample normalization 2021-12-10 capn@google.com Report depth and multi-plane UNORM formats as unsigned normalized 2021-12-10 swiftshader.regress@gmail.com Regres: Update test lists @ 4c62980d 2021-12-10 cwallez@chromium.org Suppress -Wdeprecated-declarations in Subzero's LLVM If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: Id5fded5229b9f6a9aade7357ea505e43aac3ae4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3334524 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 8991bf54 2021-12-13T07:00:15 Roll Chromium from 6214b401e0c5 to 30aeba8927a2 (473 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6214b401e0c5..30aeba8927a2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/063796f993..47daaa3cef * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/d520ea5884..58799ca24f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/ea8be42f0a..56b16934c0 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/ac517c4de3..58d8190809 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..45fc896c3e * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/58c7c386e6..ecc14aa45d * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/ed8451adf6..7fd41684df * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/cb04ae000a..7390fef5d6 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/68a1dfbe1d..460c03d1fb No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: Ib050fae2ea271e43a27164df9b082f1c1c87d449 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3334272 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gregg Tavares a1b9eb68 2021-12-10T16:36:46 Replace IOSurfaceSurfaceEAGL.mm table with less strict padding Bug: angleproject:6783 Change-Id: Id67f581af0742b47fc5ea38de616391e57b763de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331641 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Kyle Piddington 194687e7 2021-12-06T13:40:24 Metal: Fix M1 and iOS synchronization for readPixels ReadPixels does not implicitly flush context before reading on iOS and macOS hardware due to shared memory. look for any pending GPU Work, and flush the command buffer if needed. Bug: angleproject:6803 Change-Id: I5688b031ecffcd7427263041d4e33ae256f68af6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3318592 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Gregg Tavares 2d6caae4 2021-12-10T17:25:58 Metal: Add maximum render target size validation Bug: angleproject:6790 Change-Id: I4a7e7285e040cc68e4fc16bb653f6d1512f541c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331671 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Gregg Tavares cf9ab647 2021-12-10T15:42:36 Add early out validation in drawArraysCommon Bug: angleproject:6791 Change-Id: I60de6806dae9c917c6db24a18f586e3b0aa2154e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331414 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Gregg Tavares d97b1c4a 2021-12-10T16:27:08 Metal: Refactor restartRange cache Bug: angleproject:6784 Change-Id: I8a2e1df2ac621415d75708c0bba16f8ca17b0ce6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331675 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Gregg Tavares 1642b4a3 2021-12-10T16:01:10 Metal: Fix Instanced Draw feature support on Simulator Bug: angleproject:6786 Change-Id: I4c567bf2ec61df581ae0e8eeb1c36c7d37e15d04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331637 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com> Commit-Queue: Gregg Tavares <gman@chromium.org>
Gregg Tavares 2e669566 2021-12-09T18:21:02 Metal: Refactors from Webkit Mostly renaming, typos, cleanup bug: angleproject:6787 Change-Id: Ic71c296d7849244cae2ca29b264a10cb96bca612 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329261 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Gregg Tavares 5068c040 2021-12-09T17:55:01 Metal: Merge changes to mtlPixelFormatTable Bug: angleproject:6789 Change-Id: I9893093fdff1138fc8ae35ac4363201fa1e0b825 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329206 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Lubosz Sarnecki 56aee5d6 2021-12-10T12:32:58 Reland "system_utils: Add memory protection functionality." This is a reland of b1c703e5f5e44514e8db958a5fb39ff16e514fd8 that was reverted in 663831aa676c59829cc3d822340812f016bf77f6. Skip PageFaultHandlerProtect and PageFaultHandlerDefaultHandler on macOS and Fuchsia. Original change's description: > Reland "system_utils: Add memory protection functionality." > > This is a reland of ab75a90ff4ecb9d99b5c72bde92222b07c285401 > that was reverted in b007e667a8f94b47788a5ba0b2e61c9ac2d1285f. > > Implement PageFaultHandler and memory protection functions. > Uses mprotect and sigaction on POSIX and equivalent Win API functions on > win32. > > Add tests to system_utils_unittests. > > Add stubs for winuwp. > > Replace ASSERT with ASSERT_TRUE in the PageFaultHandlerDefaultHandler > test to make it succeed on release builds, as the code was optimized > out. Furthermore the test did not correctly remove protection from the > whole area it protected, which caused a hang after deinitialization on > some build configurations, since the custom page fault handler was also > still in place. The test now correclty removes protection from the whole > area and sets back the original page fault handler. > > Test: angle_unittests --gtest_filter="SystemUtils.PageFaultHandler*" > Bug: angleproject:5857 > Change-Id: Ibb0acfefd9a09c3360c04c812a2a8346b951e1da > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3322992 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Test: angle_unittests --gtest_filter="SystemUtils.PageFaultHandler*" Bug: angleproject:5857 Change-Id: Ifaa966a7c569aa9ff0112897a02fa8f873cd52dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329610 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Jamie Madill 66e1fb86 2021-12-09T11:52:24 Trace Tests: Ensure zillow runs on SwiftShader. This trace was being skipped based on incorrect GPU detection. Bug: angleproject:5133 Change-Id: I15e36e099aa2443153184f95b360a8afec278019 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3330575 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Amirali Abdolrashidi 4d0de3d2 2021-12-03T17:09:06 Update the arg types for glMultiDraw*IndirectEXT() * Updated the auto-generated types for arguments "mode" and "type" for glMultiDraw*Indirect and glMultiDrawIndirectEXT functions to PrimitiveMode and DrawElementsType, similar to the other glMultiDraw* functions. Bug: angleproject:6770 Change-Id: If02a66b6fb2f81848ab6e43a6cd406d5956bf331 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3321792 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Alexis Hetu f7d92a32 2021-12-10T10:23:32 Add debug info when loading EGL entry points fails Mac11 bots are often failing with the: "Error loading EGL entry points" error for an unknown reason. This CL adds the library path to the error message to see if it's trying to open the correct file. Bug: chromium:1277690 Change-Id: Ieb73a3097702933a89794d92c19ee44a6301c169 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3330576 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Peng Huang 933f066e 2021-12-10T15:04:53 Enable GL_ANGLE_texture_usage extension This extension doesn't change ANGLE behavior with Vulkan backend, since it is just a hint for ANGLE to optimize texture allocation. Bug: angleproject:6771,chromium:1264439 Change-Id: Ie2411894a02bbcb0a5304c635f1f5648520ad22a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329694 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Peng Huang cc516f97 2021-12-10T02:48:54 Use STL container for vulkan memory allocator There is a crash related to VMA containers, so switch to STL containers to see if it can workaround the issue. Bug: chromium:1266412 Change-Id: I8416e4b4a27588ac2d710a4ef7600cd91b080535 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3327744 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
angle-autoroll 9d5faed8 2021-12-10T10:01:52 Roll vulkan-deps from 38603b300bce to 267fa481ccad (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/38603b300bce..267fa481ccad Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/542ee69d83..ca13951205 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/438096e0c2..3156158878 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/ee8a454f88..3dfeacfe0a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I844f4180a6191558fe4ee0022ce46aa82d2e13f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3328072 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7a36a69b 2021-12-10T10:01:32 Roll SwiftShader from 4625f84e8d56 to 4c62980da8c1 (6 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/4625f84e8d56..4c62980da8c1 2021-12-10 capn@google.com Implement VK_KHR_vulkan_memory_model 2021-12-09 capn@google.com Update vk::Stringify() structure handling 2021-12-09 sugoi@google.com Fix using XCB with odd width 2021-12-09 capn@google.com Implement VK_EXT_format_feature_flags2 2021-12-09 andre.kempe@arm.com [pac] Add a specific flag for enabling PAC only 2021-12-09 capn@google.com Simplify scaling of 16-bit sampled texel components If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I6137850bc3b8f94cd6a4ec6127a5dba9ff816533 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3328504 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll fb82729d 2021-12-10T08:23:20 Roll Chromium from e1fa86b1827a to 6214b401e0c5 (1064 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e1fa86b1827a..6214b401e0c5 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/2ce7bb7605..063796f993 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/89f2e82120..d520ea5884 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/74c6eec693..d81cd6236c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/0385db204c..ea8be42f0a * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/db126cca75..ac517c4de3 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..fa35beefb3 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/0a233e1760..58c7c386e6 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/336fcfd099..ed8451adf6 * tools/luci-go: git_revision:31175eb1a2712bb75d06a9bad5d4dd3f2a09cd1f..git_revision:e897e118887a2e6c50a82212b660cb2a7c58d910 * tools/luci-go: git_revision:31175eb1a2712bb75d06a9bad5d4dd3f2a09cd1f..git_revision:e897e118887a2e6c50a82212b660cb2a7c58d910 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/bcefc4c28e..cb04ae000a * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/e136376e7e..68a1dfbe1d * tools/skia_goldctl/linux: wdkOk4Hhfdk2f0Fn4TnicgWCxDVdkOK0W71K0ivXMaEC..2z57AgaznK-BN6rC-A4ZVj85ldJOjFFCMFQ_LYWeUv4C * tools/skia_goldctl/mac: gJSgm5xIzq6ePie9lIvMfyt3vEXbiVb5NreHTEkFS58C..zLP4FDegN-yg3uvzWUdf4zNRVHDwHd0VLm86FkZCP_MC * tools/skia_goldctl/win: BkeCwTnJJi2hffEKlsGWTiP5quyDianpBWnloFZ49ZEC..SSrgf0lBIrCHRZ2acvLwXzzm4KTPzRg17PGIiqsMxBQC No update to Clang. Bug: angleproject:6430 Tbr: jonahr@google.com Change-Id: If65c472eac91c20a9afab55adb815b99117a561b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3328070 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Ash Burn ac9b2703 2021-12-09T15:19:33 fix typo: 'choromium' -> 'Chromium' This is truly an incredibly high priority commit. Bug: angleproject:6734 Change-Id: I921148ecfffbe1ce7fcad0eccb4a53e51d247746 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3328947 Reviewed-by: Shahbaz Youssefi <syoussefi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@google.com>
Hailin Zhang 3be551d7 2021-12-08T16:44:56 fix directUpdate buffer pointer issue. inside mapWithOffset already add the mBufferOffset Signed-off-by: Hailin Zhang<hailinzhang@google.com> Bug: b/207714894 Change-Id: Ia400bccbef1abc756cd8155e93a775338a30e8b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3325025 Reviewed-by: Lingfeng Yang <lfy@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Jamie Madill 663831aa 2021-12-09T18:08:28 Revert "Reland "system_utils: Add memory protection functionality."" This reverts commit b1c703e5f5e44514e8db958a5fb39ff16e514fd8. Reason for revert: Fails on fuchsia bots: https://ci.chromium.org/ui/p/chromium/builders/try/fuchsia_arm64/1020498/overview mprotect failed: Not supported Original change's description: > Reland "system_utils: Add memory protection functionality." > > This is a reland of ab75a90ff4ecb9d99b5c72bde92222b07c285401 > that was reverted in b007e667a8f94b47788a5ba0b2e61c9ac2d1285f. > > Implement PageFaultHandler and memory protection functions. > Uses mprotect and sigaction on POSIX and equivalent Win API functions on > win32. > > Add tests to system_utils_unittests. > > Add stubs for winuwp. > > Replace ASSERT with ASSERT_TRUE in the PageFaultHandlerDefaultHandler > test to make it succeed on release builds, as the code was optimized > out. Furthermore the test did not correctly remove protection from the > whole area it protected, which caused a hang after deinitialization on > some build configurations, since the custom page fault handler was also > still in place. The test now correclty removes protection from the whole > area and sets back the original page fault handler. > > Test: angle_unittests --gtest_filter="SystemUtils.PageFaultHandler*" > Bug: angleproject:5857 > Change-Id: Ibb0acfefd9a09c3360c04c812a2a8346b951e1da > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3322992 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Bug: angleproject:5857 Change-Id: Iaab4067a7ec9240bb6c64b810ac6d3ea7bd86fe1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3327743 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gregg Tavares 04110e4e 2021-12-01T14:06:03 Metal: Fix Intel backend fails with tall texture Copied test from the WebGL conformance suite. A 1x<MAX_TEXTURE_SIZE> texture fails on Intel in the Metal backend. This was fixed in WebKit so just applying that fix. Bug: angleproject:6754 Change-Id: Id1cafb3b560f14630684d55b0e61cea4c7f33a6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3311941 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Gregg Tavares <gman@chromium.org>
Charlie Lao 494a0ec2 2021-12-08T16:07:50 Vulkan: Append the actual buffer size when binding's size is 0 When app calls glBindBufferBase, the size of binding is set to 0. The spec says the actual size should be size of buffer when buffer is been referenced. But when we generate ShaderBuffersDescriptorDesc, we are directly using binding's size. But the actual descriptor set has the buffer's actual size. This causing the ShaderBuffersDescriptorDesc have a false cache hit (because size is always 0) when the actual descriptor set should be different. This CL checks bindging.getSize() and if it is 0, we use the actual buffer size. Bug: angleproject:6792 Change-Id: I3e044dc5ff113b4fae1b5c7d5e78645c6e98edf8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3325024 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll 17f4d97a 2021-12-09T10:01:31 Roll SwiftShader from a4232c15e287 to 4625f84e8d56 (5 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/a4232c15e287..4625f84e8d56 2021-12-09 capn@google.com Remove OpenGL ES targets from the CMake build 2021-12-09 capn@google.com Remove the ANGLE submodule 2021-12-08 capn@google.com Refactor active blend factor determination 2021-12-08 capn@google.com Refactor active blend operation determination 2021-12-08 capn@google.com Fix passthrough blend operations If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I057a203b86aa38717122ab485c1f748163dbee2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3325192 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 82d1f62e 2021-12-09T10:01:52 Roll vulkan-deps from bc087f672f16 to 38603b300bce (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/bc087f672f16..38603b300bce Changed dependencies: * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/29414ae1fd..d53b49635b * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f9bcc82ec7..438096e0c2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Iec0463956155595a3e8203728378d3551e00df2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3326227 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 0e291f60 2021-12-08T19:40:32 Skip couple flaky end2end tests on Pixel 4 UniformTest.UnusedStructInlineUniformWithSampler GLES MatrixTest31.Mat3x4StructVarying Vulkan Bug: angleproject:6793, angleproject:6794 Change-Id: I8edc4f7ddc9bbbfcc2142f5724462184f25145b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3324324 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 9b23be91 2021-12-08T13:55:22 Frame Capture: Fix client buffers in MEC. In some cases we would neglect to reset the currently bound array buffer to "null" before capturing a client array buffer in MEC. Noticed in the "badland" trace context setup. Bug: angleproject:5133 Change-Id: I693edce763b449720a7f2123dcaf460854142e91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3323683 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 0dad5178 2021-12-08T12:31:35 Sync logdog with Chromium To make it python3 compatible, applying crrev.com/946471: Roll //third_party/logdog 9a84af84d..17ec234f Changes: 17ec234 logdog: make _MAPPING top level variable 88ab863 py3: make logdog lib python3 compatible 794d09a logdog: fix typo in docstring Bug: angleproject:6763 Change-Id: If24f49414b7c4d9fb6cc0630b0bea25a67666a53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3323238 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tim Van Patten 16ce5226 2021-12-01T16:58:49 Vulkan: Re-enable RGB8 for pbuffers. pbuffers support was removed from RGB8 EGL configs to prevent mismatched surface formats for surfaces backed by external memory, since ANGLE overrides RGB8->RGBA8 for all surfaces. However, ANGLE no longer supports surfaces backed by external memory with the Vulkan backend, so we can re-enable RGB8 for pbuffers. Bug: angleproject:6651 Change-Id: I7d8b666ed5e3226f067479758f44d9041dcb67b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3312361 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 55840e90 2021-12-03T15:24:00 Vulkan: Fix deferred flush vs UtilsVk Take the following scenario: 1. Draw 2. Flush (this is deferred) 3. Get image view (this is retain()ed) 4. Pass view to a draw-based UtilsVk function 5. Flush 6. Delete image view At step 4, UtilsVk may start a new render pass and use the image view from step 3. Since the flush at step 2 is deferred, it will be performed at this step, and so the serial of the image view is set to the previous submission. When step 4 uses this view, it doesn't retain it. Step 5 submits the new command buffer using this image view. At step 6, if the previous submission has finished, it will destroy the view immediately even though it's in use by the new submission. One solution could have been to make sure render pass closure originating from UtilsVk doesn't incur a flush. However, due to the current design where the render pass is immediately recorded in RendererVk's primary command buffer, it's possible that an unrelated context would perform the flush anyway. This change makes sure instead that the render pass is closed before any views are allocated/retained to be used by UtilsVk. Bug: chromium:1272266 Change-Id: I5bdefb34e03c368511c4c174cf7965fda158d2b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315976 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Lubosz Sarnecki b1c703e5 2021-12-08T14:53:46 Reland "system_utils: Add memory protection functionality." This is a reland of ab75a90ff4ecb9d99b5c72bde92222b07c285401 that was reverted in b007e667a8f94b47788a5ba0b2e61c9ac2d1285f. Implement PageFaultHandler and memory protection functions. Uses mprotect and sigaction on POSIX and equivalent Win API functions on win32. Add tests to system_utils_unittests. Add stubs for winuwp. Replace ASSERT with ASSERT_TRUE in the PageFaultHandlerDefaultHandler test to make it succeed on release builds, as the code was optimized out. Furthermore the test did not correctly remove protection from the whole area it protected, which caused a hang after deinitialization on some build configurations, since the custom page fault handler was also still in place. The test now correclty removes protection from the whole area and sets back the original page fault handler. Test: angle_unittests --gtest_filter="SystemUtils.PageFaultHandler*" Bug: angleproject:5857 Change-Id: Ibb0acfefd9a09c3360c04c812a2a8346b951e1da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3322992 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Tim Van Patten 4f42a4d3 2021-12-01T18:57:48 Add more support for GL_RGBX8_ANGLE Update EquivalentBlitInternalFormat(), ValidReadPixelsFormatEnum(), and ValidReadPixelsFormatType() to support GL_RGBX8_ANGLE. Also update ANGLE_rgbx_internal_format.txt to indicate the new support in glBlitFramebuffer() and glReadPixels() for GL_RGBX8_ANGLE. Bug: angleproject:6690 Test: BlitFramebufferTestES31.BlitMultisampledRGBX8ToRGB8 Test: WebGL2CompatibilityTest.ReadPixelsRgbx8AngleUnsignedByte Change-Id: I75b6d5cb46eebbc904b86cc8e6bd18aca5403684 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3312367 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill d02d6a40 2021-12-06T09:26:14 Frame Capture: Track written files in ReplayWriter. This means we don't need to recreate the list of written files in the JSON where we list the trace files. It will allow for more flexibility when we change what trace files we output. Bug: angleproject:5133 Change-Id: I651b6a281c50040d32361a5a020ba3eaa4241bf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3316199 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>