Commit d698500d38d3cf067865aa812b8d8c13203c2309

Peng Huang 2025-04-08T09:05:42

Fix an ASSERT() crash in ExternalFence SyncWaitFd(). https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html If pGetFdInfo->handleType is VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT and the fence is signaled at the time vkGetFenceFdKHR is called, pFd may return the value -1 instead of a valid file descriptor. So when above scenario happens, ANGLE will get a -1 fd from vkGetFenceFdKHR(), and then Angle will call SyncWaitFd() with the invalid fd, it will cause an ASSERT() crash. Bug:angleproject:409342980 Change-Id: I48d4d21d531e40f8ba275918454632ae14fec04b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6439303 Auto-Submit: Peng Huang <penghuang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>