1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef _include_mozilla_gfx_ipc_OverlayInfo_h_
7 #define _include_mozilla_gfx_ipc_OverlayInfo_h_
17 enum class OverlaySupportType
: uint8_t {
22 MAX
// sentinel for the count of all effect types
26 // This constructor needed for IPDL purposes, don't use it anywhere else.
27 OverlayInfo() = default;
29 bool mSupportsOverlays
= false;
30 OverlaySupportType mNv12Overlay
= OverlaySupportType::None
;
31 OverlaySupportType mYuy2Overlay
= OverlaySupportType::None
;
32 OverlaySupportType mBgra8Overlay
= OverlaySupportType::None
;
33 OverlaySupportType mRgb10a2Overlay
= OverlaySupportType::None
;
35 friend struct IPC::ParamTraits
<OverlayInfo
>;
38 struct SwapChainInfo
{
39 // This constructor needed for IPDL purposes, don't use it anywhere else.
40 SwapChainInfo() = default;
42 explicit SwapChainInfo(bool aTearingSupported
)
43 : mTearingSupported(aTearingSupported
) {}
45 bool mTearingSupported
= false;
47 friend struct IPC::ParamTraits
<SwapChainInfo
>;
51 } // namespace mozilla
53 #endif // _include_mozilla_gfx_ipc_OverlayInfo_h_