Skip to content
  • Michael Spang's avatar
    Vulkan: Port renderer to Fuchsia (reland) · 229fc83d
    Michael Spang authored
    Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
    renderer, as well as an implementation of OSWindow that renders
    fullscreen for the test suite.
    
    Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
    of the loader and has not sent those changes upstream yet.
    
    Add a small wayland-inspired library libfuchsia-egl to provide a type
    "struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
    combines a zx_handle_t to an image pipe channel and a surface size.
    
    Image pipes can only be used once to create a VkSurfaceKHR. This means we
    have to recreate the pipe in tests that call eglCreateWindowSurface more
    than once with a single OSWindow, or the second call will fail. Add a
    resetNativeWindow() method to accomplish this.
    
    Reland disabling -Wextra-semi.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: Ie91715bcd760c6c04d4b8a02a91daa71e32ee30c
    Reviewed-on: https://chromium-review.googlesource.com/c/1467603
    
    
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: default avatarJamie Madill <jmadill@chromium.org>
    229fc83d