Hash :
729cbcf1
Author :
Date :
2021-07-23T11:18:18
Make Display and X11 available in the same build Chromium can use the 'use_ozone' and 'use_x11' build flags simultaneously, so we need the Vulkan display to still be selectable, even when the 'use_x11' flag is used. This is required to make SwANGLE work with Ozone/Wayland, which is going to use EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE when SwANGLE is requested. Bug: chromium:1231934 Change-Id: I2ac1d3d9bc231608d7f77e9a2540f4c538840076 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3049351 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
//
// Copyright 2020 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.
//
// DisplayWindow.cpp: Implementation of OSWindow for Linux Display
#include "util/display/DisplayWindow.h"
#include "common/debug.h"
#include "util/Timer.h"
#include "util/test_utils.h"
DisplayWindow::DisplayWindow()
{
mWindow.width = 0;
mWindow.height = 0;
}
DisplayWindow::~DisplayWindow() {}
bool DisplayWindow::initializeImpl(const std::string &name, int width, int height)
{
return resize(width, height);
}
void DisplayWindow::disableErrorMessageDialog() {}
void DisplayWindow::destroy() {}
void DisplayWindow::resetNativeWindow() {}
EGLNativeWindowType DisplayWindow::getNativeWindow() const
{
return (EGLNativeWindowType)&mWindow;
}
EGLNativeDisplayType DisplayWindow::getNativeDisplay() const
{
return NULL;
}
void DisplayWindow::messageLoop() {}
void DisplayWindow::setMousePosition(int x, int y)
{
UNIMPLEMENTED();
}
bool DisplayWindow::setOrientation(int width, int height)
{
UNIMPLEMENTED();
return true;
}
bool DisplayWindow::setPosition(int x, int y)
{
UNIMPLEMENTED();
return true;
}
bool DisplayWindow::resize(int width, int height)
{
mWindow.width = width;
mWindow.height = height;
return true;
}
void DisplayWindow::setVisible(bool isVisible) {}
void DisplayWindow::signalTestEvent()
{
Event event;
event.Type = Event::EVENT_TEST;
event.Move.X = 0;
event.Move.Y = 0;
pushEvent(event);
}
// static
#if defined(ANGLE_USE_VULKAN_DISPLAY) && defined(EGL_NO_X11)
OSWindow *OSWindow::New()
{
return new DisplayWindow();
}
#endif