Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/widget/GfxInfoX11.h
Line
Count
Source (jump to first uncovered line)
1
/* vim: se cin sw=2 ts=2 et : */
2
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
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
#ifndef __GfxInfoX11_h__
9
#define __GfxInfoX11_h__
10
11
#include "GfxInfoBase.h"
12
13
namespace mozilla {
14
namespace widget {
15
16
class GfxInfo final : public GfxInfoBase
17
{
18
public:
19
20
  // We only declare the subset of nsIGfxInfo that we actually implement. The
21
  // rest is brought forward from GfxInfoBase.
22
  NS_IMETHOD GetD2DEnabled(bool *aD2DEnabled) override;
23
  NS_IMETHOD GetDWriteEnabled(bool *aDWriteEnabled) override;
24
  NS_IMETHOD GetDWriteVersion(nsAString & aDwriteVersion) override;
25
  NS_IMETHOD GetCleartypeParameters(nsAString & aCleartypeParams) override;
26
  NS_IMETHOD GetAdapterDescription(nsAString & aAdapterDescription) override;
27
  NS_IMETHOD GetAdapterDriver(nsAString & aAdapterDriver) override;
28
  NS_IMETHOD GetAdapterVendorID(nsAString & aAdapterVendorID) override;
29
  NS_IMETHOD GetAdapterDeviceID(nsAString & aAdapterDeviceID) override;
30
  NS_IMETHOD GetAdapterSubsysID(nsAString & aAdapterSubsysID) override;
31
  NS_IMETHOD GetAdapterRAM(nsAString & aAdapterRAM) override;
32
  NS_IMETHOD GetAdapterDriverVersion(nsAString & aAdapterDriverVersion) override;
33
  NS_IMETHOD GetAdapterDriverDate(nsAString & aAdapterDriverDate) override;
34
  NS_IMETHOD GetAdapterDescription2(nsAString & aAdapterDescription) override;
35
  NS_IMETHOD GetAdapterDriver2(nsAString & aAdapterDriver) override;
36
  NS_IMETHOD GetAdapterVendorID2(nsAString & aAdapterVendorID) override;
37
  NS_IMETHOD GetAdapterDeviceID2(nsAString & aAdapterDeviceID) override;
38
  NS_IMETHOD GetAdapterSubsysID2(nsAString & aAdapterSubsysID) override;
39
  NS_IMETHOD GetAdapterRAM2(nsAString & aAdapterRAM) override;
40
  NS_IMETHOD GetAdapterDriverVersion2(nsAString & aAdapterDriverVersion) override;
41
  NS_IMETHOD GetAdapterDriverDate2(nsAString & aAdapterDriverDate) override;
42
  NS_IMETHOD GetIsGPU2Active(bool *aIsGPU2Active) override;
43
  using GfxInfoBase::GetFeatureStatus;
44
  using GfxInfoBase::GetFeatureSuggestedDriverVersion;
45
46
  virtual nsresult Init() override;
47
  
48
  NS_IMETHOD_(void) GetData() override;
49
50
#ifdef DEBUG
51
  NS_DECL_ISUPPORTS_INHERITED
52
  NS_DECL_NSIGFXINFODEBUG
53
#endif
54
55
protected:
56
0
  ~GfxInfo() {}
57
58
  virtual nsresult GetFeatureStatusImpl(int32_t aFeature,
59
                                        int32_t *aStatus,
60
                                        nsAString & aSuggestedDriverVersion,
61
                                        const nsTArray<GfxDriverInfo>& aDriverInfo,
62
                                        nsACString& aFailureId,
63
                                        OperatingSystem* aOS = nullptr) override;
64
  virtual const nsTArray<GfxDriverInfo>& GetGfxDriverInfo() override;
65
66
private:
67
  nsCString mVendor;
68
  nsCString mRenderer;
69
  nsCString mVersion;
70
  nsCString mAdapterDescription;
71
  nsCString mOS;
72
  nsCString mOSRelease;
73
  bool mIsMesa, mIsNVIDIA, mIsFGLRX, mIsNouveau, mIsIntel, mIsOldSwrast, mIsLlvmpipe;
74
  bool mHasTextureFromPixmap;
75
  int mGLMajorVersion, mMajorVersion, mMinorVersion, mRevisionVersion;
76
77
  void AddCrashReportAnnotations();
78
};
79
80
} // namespace widget
81
} // namespace mozilla
82
83
#endif /* __GfxInfoX11_h__ */