diff options
Diffstat (limited to 'libs/hwui/renderthread/EglManager.h')
-rw-r--r-- | libs/hwui/renderthread/EglManager.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libs/hwui/renderthread/EglManager.h b/libs/hwui/renderthread/EglManager.h index 507673adf26e..e97228cd0a39 100644 --- a/libs/hwui/renderthread/EglManager.h +++ b/libs/hwui/renderthread/EglManager.h @@ -18,11 +18,13 @@ #include <EGL/egl.h> #include <EGL/eglext.h> +#include <SkImageInfo.h> #include <SkRect.h> #include <cutils/compiler.h> #include <ui/Fence.h> #include <ui/GraphicBuffer.h> #include <utils/StrongPointer.h> +#include "IRenderPipeline.h" namespace android { namespace uirenderer { @@ -45,7 +47,7 @@ public: bool hasEglContext(); - EGLSurface createSurface(EGLNativeWindowType window, bool wideColorGamut); + EGLSurface createSurface(EGLNativeWindowType window, ColorMode colorMode); void destroySurface(EGLSurface surface); void destroy(); @@ -76,6 +78,9 @@ public: // Depending on installed extensions, the result is either Android native fence or EGL fence. status_t createReleaseFence(bool useFenceSync, EGLSyncKHR* eglFence, sp<Fence>& nativeFence); + SkColorType getSurfaceColorType() const { return mSurfaceColorType; } + sk_sp<SkColorSpace> getSurfaceColorSpace() { return mSurfaceColorSpace; } + private: void initExtensions(); @@ -89,8 +94,10 @@ private: EGLConfig mEglConfigWideGamut; EGLContext mEglContext; EGLSurface mPBufferSurface; - EGLSurface mCurrentSurface; + SkColorSpace::Gamut mSurfaceColorGamut; + SkColorType mSurfaceColorType; + sk_sp<SkColorSpace> mSurfaceColorSpace; enum class SwapBehavior { Discard, |