VulkanSurface usage from SkiaRenderer is not synchronized correctly |
|||
Issue descriptionThere are a couple of synchronization problems with gpu::VulkanSurface and its usage from SkiaRenderer: (1) there's no barrier to transition image layout to VK_IMAGE_LAYOUT_PRESENT_SRC_KHR before the present (2) it appears that we're using the swapchain image as a render target without waiting on the acquire semaphore The first issue completely breaks rendering on fuchsia (see https://chromium-review.googlesource.com/c/chromium/src/+/1188976 for a WIP fix) Part of the issue is that the code in //gpu/vulkan is extremely simplistic. For example gpu::VulkanSwapchain assumes all accesses to the acquired image can happen from a single command buffer managed by the swap chain and submitted inside SwapBuffers().
,
Aug 27
someone on SkiaAdapter team will do the SkiaRenderer side.
,
Aug 27
,
Aug 27
skia does have an VkSurfaceKHR adapter class, although it's not part of the API but rather in tools/ https://cs.chromium.org/chromium/src/third_party/skia/tools/sk_app/VulkanWindowContext.cpp?q=third_party/skia/tools/sk_app/VulkanWindowContext.cpp&sq=package:chromium&g=0&l=1 |
|||
►
Sign in to add a comment |
|||
Comment 1 by cblume@chromium.org
, Aug 24