GraphicsMessages.ipdlh (2096B)
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 * vim: sw=2 ts=8 et : 3 */ 4 /* This Source Code Form is subject to the terms of the Mozilla Public 5 * License, v. 2.0. If a copy of the MPL was not distributed with this 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 7 8 include "mozilla/GfxMessageUtils.h"; 9 10 using struct DxgiAdapterDesc from "mozilla/D3DMessageUtils.h"; 11 using struct mozilla::null_t from "mozilla/ipc/IPCCore.h"; 12 using mozilla::gfx::FeatureStatus from "gfxTelemetry.h"; 13 using mozilla::gfx::BackendType from "mozilla/gfx/Types.h"; 14 using mozilla::gfx::IntSize from "mozilla/gfx/Point.h"; 15 using gfxImageFormat from "mozilla/gfx/Types.h"; 16 using mozilla::gfx::D3D11Checks::VideoFormatOption from "mozilla/gfx/D3D11Checks.h"; 17 using mozilla::gfx::D3D11Checks::VideoFormatOptionSet from "mozilla/gfx/D3D11Checks.h"; 18 19 namespace mozilla { 20 namespace gfx { 21 22 struct D3D11DeviceStatus 23 { 24 bool isWARP; 25 bool textureSharingWorks; 26 uint32_t featureLevel; 27 DxgiAdapterDesc adapter; 28 int32_t sequenceNumber; 29 VideoFormatOptionSet formatOptions; 30 }; 31 32 struct DevicePrefs 33 { 34 FeatureStatus hwCompositing; 35 FeatureStatus d3d11Compositing; 36 FeatureStatus oglCompositing; 37 FeatureStatus d3d11HwAngle; 38 }; 39 40 struct ContentDeviceData 41 { 42 DevicePrefs prefs; 43 D3D11DeviceStatus d3d11; 44 uint8_t[] cmsOutputProfileData; 45 }; 46 47 // Represents the state of a feature that has failed to initialize. 48 struct FeatureFailure 49 { 50 FeatureStatus status; 51 nsCString message; 52 nsCString failureId; 53 }; 54 55 struct GPUDeviceData 56 { 57 // If a feature state has changed from Enabled -> Failure, these will be non- 58 // null. 59 FeatureFailure? d3d11Compositing; 60 FeatureFailure? oglCompositing; 61 D3D11DeviceStatus? gpuDevice; 62 }; 63 64 union GfxVarValue 65 { 66 BackendType; 67 bool; 68 gfxImageFormat; 69 IntSize; 70 nsCString; 71 nsString; 72 int32_t; 73 uint64_t; 74 float; 75 uint64_t[]; 76 }; 77 78 struct GfxVarUpdate 79 { 80 uint32_t index; 81 GfxVarValue value; 82 }; 83 84 struct GfxInfoFeatureStatus 85 { 86 int32_t feature; 87 int32_t status; 88 nsCString failureId; 89 }; 90 91 } // namespace gfx 92 } // namespace mozilla