diff options
Diffstat (limited to 'libs/hwui/DeviceInfo.h')
-rw-r--r-- | libs/hwui/DeviceInfo.h | 33 |
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 */ |