mirror of
https://github.com/godotengine/godot-angle-static.git
synced 2026-01-02 09:48:25 +03:00
Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size from native window and check egl config is just empty. An EGL wayland test is added for testing rendering and buffers swapping. Re-land fixes link failure in systems with no libwayland installed. Bug: angleproject:6902 Change-Id: I4f091d4f479a537d0390caedce88a5d39f8b356f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3608088 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
41 lines
804 B
C++
41 lines
804 B
C++
//
|
|
// Copyright 2022 The ANGLE Project Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
//
|
|
|
|
// LinuxWindow.cpp: Implementation of OSWindow::New for Linux
|
|
|
|
#include "util/OSWindow.h"
|
|
|
|
#if defined(ANGLE_USE_WAYLAND)
|
|
# include "wayland/WaylandWindow.h"
|
|
#endif
|
|
|
|
#if defined(ANGLE_USE_X11)
|
|
# include "x11/X11Window.h"
|
|
#endif
|
|
|
|
// static
|
|
#if defined(ANGLE_USE_X11) || defined(ANGLE_USE_WAYLAND)
|
|
OSWindow *OSWindow::New()
|
|
{
|
|
# if defined(ANGLE_USE_X11)
|
|
// Prefer X11
|
|
if (IsX11WindowAvailable())
|
|
{
|
|
return new X11Window();
|
|
}
|
|
# endif
|
|
|
|
# if defined(ANGLE_USE_WAYLAND)
|
|
if (IsWaylandWindowAvailable())
|
|
{
|
|
return new WaylandWindow();
|
|
}
|
|
# endif
|
|
|
|
return nullptr;
|
|
}
|
|
#endif
|