summaryrefslogtreecommitdiff
path: root/libs/hwui/DeviceInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui/DeviceInfo.h')
-rw-r--r--libs/hwui/DeviceInfo.h33
1 files changed, 25 insertions, 8 deletions
diff --git a/libs/hwui/DeviceInfo.h b/libs/hwui/DeviceInfo.h
index 0e3f11960ddc..16a22f4706f5 100644
--- a/libs/hwui/DeviceInfo.h
+++ b/libs/hwui/DeviceInfo.h
@@ -16,8 +16,8 @@
#ifndef DEVICEINFO_H
#define DEVICEINFO_H
+#include <apex/display.h>
#include <SkImageInfo.h>
-#include <ui/DisplayInfo.h>
#include "utils/Macros.h"
@@ -33,28 +33,45 @@ class DeviceInfo {
public:
static DeviceInfo* get();
+ static float getMaxRefreshRate() { return get()->mMaxRefreshRate; }
+ static int32_t getWidth() { return get()->mWidth; }
+ static int32_t getHeight() { return get()->mHeight; }
+ static float getDensity() { return get()->mDensity; }
+ static int64_t getVsyncPeriod() { return get()->mVsyncPeriod; }
+ static int64_t getCompositorOffset() { return get()->mCompositorOffset; }
+ static int64_t getAppOffset() { return get()->mAppOffset; }
// this value is only valid after the GPU has been initialized and there is a valid graphics
// context or if you are using the HWUI_NULL_GPU
int maxTextureSize() const;
- const DisplayInfo& displayInfo() const { return mDisplayInfo; }
sk_sp<SkColorSpace> getWideColorSpace() const { return mWideColorSpace; }
SkColorType getWideColorType() const { return mWideColorType; }
- float getMaxRefreshRate() const { return mMaxRefreshRate; }
- void onDisplayConfigChanged();
+ // This method should be called whenever the display refresh rate changes.
+ void onRefreshRateChanged(int64_t vsyncPeriod);
private:
friend class renderthread::RenderThread;
static void setMaxTextureSize(int maxTextureSize);
+ void updateDisplayInfo();
DeviceInfo();
+ ~DeviceInfo();
int mMaxTextureSize;
- DisplayInfo mDisplayInfo;
- sk_sp<SkColorSpace> mWideColorSpace;
- SkColorType mWideColorType;
- const float mMaxRefreshRate;
+ sk_sp<SkColorSpace> mWideColorSpace = SkColorSpace::MakeSRGB();
+ SkColorType mWideColorType = SkColorType::kN32_SkColorType;
+ ADisplayConfig* mCurrentConfig = nullptr;
+ ADisplay** mDisplays = nullptr;
+ int mDisplaysSize = 0;
+ int mPhysicalDisplayIndex = -1;
+ float mMaxRefreshRate = 60.0;
+ int32_t mWidth = 1080;
+ int32_t mHeight = 1920;
+ float mDensity = 2.0;
+ int64_t mVsyncPeriod = 16666666;
+ int64_t mCompositorOffset = 0;
+ int64_t mAppOffset = 0;
};
} /* namespace uirenderer */