Hash :
774bca93
Author :
Date :
2025-10-08T18:41:13
[metal] Add commands scheduled sync object We need a thread-safe way to wait for ANGLE Metal command buffers to be scheduled for IOSurface synchronization with DrDC + Graphite on Mac. The existing eglWaitUntilWorkScheduledANGLE API isn't thread-safe as it reaches into ContextMtl innards to flush the command buffer. This CL adds the EGL_ANGLE_metal_commands_scheduled_sync extension which introduces a EGL_SYNC_METAL_COMMANDS_SCHEDULED_ANGLE sync object type. This sync object is signaled when pending Metal commands are scheduled to run on the GPU (MTLCommandBufferStatusScheduled). These sync objects are thread-safe - eglClientWaitSync() can be called on any thread even without a current context which is needed for DrDC + Graphite on Mac. Bug: chromium:444702048 Change-Id: Ia13b352385a6fefaa026526ef74f6e596a6a6964 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7027996 Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
{
"scripts/egl_angle_ext.xml":
"da48b515b2cfc3350dc57a37e305e61a",
"scripts/gen_interpreter_utils.py":
"7c21cda140a45527c02ddd003ebe7914",
"scripts/gl_angle_ext.xml":
"da4ecccdd77635f1b0e9d4664f856706",
"scripts/registry_xml.py":
"4824b51dafdbdbf6eb109a4d0c5b86b8",
"third_party/EGL-Registry/src/api/egl.xml":
"2056d54ea07156f1988ca1366bdee21a",
"third_party/OpenCL-Docs/src/xml/cl.xml":
"3c93f136de5049f4d9eca8240df1a025",
"third_party/OpenGL-Registry/src/xml/gl.xml":
"d7ed846c15f72e084763c22d70adf1e2",
"third_party/OpenGL-Registry/src/xml/glx.xml":
"6e1745b04a1ac673c60aaa5dd819f3c4",
"third_party/OpenGL-Registry/src/xml/wgl.xml":
"eae784bf4d1b983a42af5671b140b7c4",
"util/capture/trace_fixture.h":
"a519a497caa153876f3a5441bbd3b1f8",
"util/capture/trace_interpreter_autogen.cpp":
"6ff7173230e3a6abdf971a52ca407418"
}