GraphicsMessages.ipdlh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. using struct DxgiAdapterDesc from "mozilla/D3DMessageUtils.h";
  8. using struct mozilla::null_t from "ipc/IPCMessageUtils.h";
  9. using mozilla::gfx::FeatureStatus from "gfxTelemetry.h";
  10. using mozilla::gfx::BackendType from "mozilla/gfx/Types.h";
  11. using mozilla::gfx::IntSize from "mozilla/gfx/Point.h";
  12. using gfxImageFormat from "mozilla/gfx/Types.h";
  13. namespace mozilla {
  14. namespace gfx {
  15. struct D3D11DeviceStatus
  16. {
  17. bool isWARP;
  18. bool textureSharingWorks;
  19. uint32_t featureLevel;
  20. DxgiAdapterDesc adapter;
  21. };
  22. struct DevicePrefs
  23. {
  24. FeatureStatus hwCompositing;
  25. FeatureStatus d3d11Compositing;
  26. FeatureStatus d3d9Compositing;
  27. FeatureStatus oglCompositing;
  28. FeatureStatus useD2D1;
  29. };
  30. struct ContentDeviceData
  31. {
  32. DevicePrefs prefs;
  33. D3D11DeviceStatus d3d11;
  34. };
  35. // Represents the state of a feature that has failed to initialize.
  36. struct FeatureFailure
  37. {
  38. FeatureStatus status;
  39. nsCString message;
  40. nsCString failureId;
  41. };
  42. // If a feature state has changed from Enabled -> Failure, this will be non-
  43. // null.
  44. union FeatureChange
  45. {
  46. null_t;
  47. FeatureFailure;
  48. };
  49. union GPUDeviceStatus
  50. {
  51. null_t;
  52. D3D11DeviceStatus;
  53. };
  54. struct GPUDeviceData
  55. {
  56. FeatureChange d3d11Compositing;
  57. FeatureChange d3d9Compositing;
  58. FeatureChange oglCompositing;
  59. GPUDeviceStatus gpuDevice;
  60. };
  61. union GfxVarValue
  62. {
  63. BackendType;
  64. bool;
  65. gfxImageFormat;
  66. IntSize;
  67. nsCString;
  68. };
  69. struct GfxVarUpdate
  70. {
  71. size_t index;
  72. GfxVarValue value;
  73. };
  74. } // namespace gfx
  75. } // namespace mozilla