/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- * vim: sw=2 ts=8 et : */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using struct DxgiAdapterDesc from "mozilla/D3DMessageUtils.h"; using struct mozilla::null_t from "ipc/IPCMessageUtils.h"; using mozilla::gfx::FeatureStatus from "gfxTelemetry.h"; using mozilla::gfx::BackendType from "mozilla/gfx/Types.h"; using mozilla::gfx::IntSize from "mozilla/gfx/Point.h"; using gfxImageFormat from "mozilla/gfx/Types.h"; namespace mozilla { namespace gfx { union GfxPrefValue { bool; int32_t; uint32_t; float; nsCString; }; struct GfxPrefSetting { int32_t index; GfxPrefValue value; }; struct D3D11DeviceStatus { bool isWARP; bool textureSharingWorks; uint32_t featureLevel; DxgiAdapterDesc adapter; int32_t sequenceNumber; bool useNV12; }; struct DevicePrefs { FeatureStatus hwCompositing; FeatureStatus d3d11Compositing; FeatureStatus oglCompositing; FeatureStatus advancedLayers; FeatureStatus useD2D1; }; struct ContentDeviceData { DevicePrefs prefs; D3D11DeviceStatus d3d11; }; // Represents the state of a feature that has failed to initialize. struct FeatureFailure { FeatureStatus status; nsCString message; nsCString failureId; }; // If a feature state has changed from Enabled -> Failure, this will be non- // null. union FeatureChange { null_t; FeatureFailure; }; union GPUDeviceStatus { null_t; D3D11DeviceStatus; }; struct GPUDeviceData { FeatureChange d3d11Compositing; FeatureChange oglCompositing; FeatureChange advancedLayers; GPUDeviceStatus gpuDevice; }; union GfxVarValue { BackendType; bool; gfxImageFormat; IntSize; nsCString; nsString; int32_t; }; struct GfxVarUpdate { size_t index; GfxVarValue value; }; } // namespace gfx } // namespace mozilla