dawn-cmake/include/dawn/native
Le Hoang Quyen 69e1c4b638 DawnNative: implement Instance::ProcessEvents
Since https://dawn-review.googlesource.com/c/dawn/+/120940, callbacks
will be deferred to be executed in next device.APITick() instead of
immediately.
However, if the device is already destroyed (last ref dropped),
user/wire_server has no chance to call device.APITick() anymore, leading
to the callbacks waiting in queue forever.

This is also possibly the cause of memory leaks in cluserfuzz tests.

This CL attempt to fix it by implementing Instance::ProcessEvents():
In this method, every created device will invoke APITick() even if it is
already lost/externally released.

bug: chromium:1422507
bug: dawn:752
Change-Id: Iec69ad3b547a7e88c6e1a2225b13ad060a501a4f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123420
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-03-14 19:03:10 +00:00
..
D3D12Backend.h d3d12: External image import using multiple wait fences and signal fence 2022-09-07 19:48:45 +00:00
DawnNative.h DawnNative: implement Instance::ProcessEvents 2023-03-14 19:03:10 +00:00
MetalBackend.h Metal: Implement begin/end access synchronization with MTLSharedEvent 2022-11-04 22:06:20 +00:00
NullBackend.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
OpenGLBackend.h GL: implement EGL context creation in Dawn native. 2022-06-29 15:29:41 +00:00
VulkanBackend.h vulkan: Validate that exporting a texture uses VK_IMAGE_LAYOUT_UNDEFINED 2022-10-04 17:27:21 +00:00
dawn_native_export.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00