summaryrefslogtreecommitdiffstats
path: root/gfx/thebes/DeviceManagerDx.h
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/thebes/DeviceManagerDx.h')
-rw-r--r--gfx/thebes/DeviceManagerDx.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gfx/thebes/DeviceManagerDx.h b/gfx/thebes/DeviceManagerDx.h
index 9d127af358..c6860c7ffa 100644
--- a/gfx/thebes/DeviceManagerDx.h
+++ b/gfx/thebes/DeviceManagerDx.h
@@ -6,6 +6,8 @@
#ifndef mozilla_gfx_thebes_DeviceManagerDx_h
#define mozilla_gfx_thebes_DeviceManagerDx_h
+#include <vector>
+
#include "gfxPlatform.h"
#include "gfxTelemetry.h"
#include "gfxTypes.h"
@@ -88,6 +90,9 @@ class DeviceManagerDx final {
// 'monitor'; returns false if not found or some error occurred.
bool GetOutputFromMonitor(HMONITOR monitor, RefPtr<IDXGIOutput>* aOutOutput);
+ void PostUpdateMonitorInfo();
+ bool SystemHDREnabled();
+
// Check if the current adapter supports hardware stretching
void CheckHardwareStretchingSupport(HwStretchingSupport& aRv);
@@ -172,6 +177,9 @@ class DeviceManagerDx final {
bool GetAnyDeviceRemovedReason(DeviceResetReason* aOutReason)
MOZ_REQUIRES(mDeviceLock);
+ void UpdateMonitorInfo();
+ std::vector<DXGI_OUTPUT_DESC1> GetOutputDescs();
+
private:
static StaticAutoPtr<DeviceManagerDx> sInstance;
@@ -198,6 +206,8 @@ class DeviceManagerDx final {
bool mCompositorDeviceSupportsVideo MOZ_GUARDED_BY(mDeviceLock);
Maybe<D3D11DeviceStatus> mDeviceStatus MOZ_GUARDED_BY(mDeviceLock);
Maybe<DeviceResetReason> mDeviceResetReason MOZ_GUARDED_BY(mDeviceLock);
+ RefPtr<Runnable> mUpdateMonitorInfoRunnable MOZ_GUARDED_BY(mDeviceLock);
+ Maybe<bool> mSystemHdrEnabled MOZ_GUARDED_BY(mDeviceLock);
nsModuleHandle mDirectDrawDLL;
RefPtr<IDirectDraw7> mDirectDraw;