diff options
Diffstat (limited to 'services/surfaceflinger/RenderEngine/RenderEngine.h')
-rw-r--r-- | services/surfaceflinger/RenderEngine/RenderEngine.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.h b/services/surfaceflinger/RenderEngine/RenderEngine.h index 31a961e..a669fdd 100644 --- a/services/surfaceflinger/RenderEngine/RenderEngine.h +++ b/services/surfaceflinger/RenderEngine/RenderEngine.h @@ -51,8 +51,11 @@ class RenderEngine { EGLContext mEGLContext; void setEGLHandles(EGLConfig config, EGLContext ctxt); - virtual void bindImageAsFramebuffer(EGLImageKHR image, uint32_t* texName, uint32_t* fbName, uint32_t* status) = 0; - virtual void unbindFramebuffer(uint32_t texName, uint32_t fbName) = 0; + virtual void bindImageAsFramebuffer(EGLImageKHR image, uint32_t* texName, + uint32_t* fbName, uint32_t* status, bool useReadPixels, int reqWidth, + int reqHeight) = 0; + virtual void unbindFramebuffer(uint32_t texName, uint32_t fbName, + bool useReadPixels) = 0; protected: RenderEngine(); @@ -83,8 +86,10 @@ public: RenderEngine& mEngine; uint32_t mTexName, mFbName; uint32_t mStatus; + bool mUseReadPixels; public: - BindImageAsFramebuffer(RenderEngine& engine, EGLImageKHR image); + BindImageAsFramebuffer(RenderEngine& engine, EGLImageKHR image, + bool useReadPixels, int reqWidth, int reqHeight); ~BindImageAsFramebuffer(); int getStatus() const; }; @@ -105,6 +110,8 @@ public: virtual void disableTexturing() = 0; virtual void disableBlending() = 0; + virtual void setupLayerMasking(const Texture& maskTexture, float alphaThreshold) = 0; + virtual void disableLayerMasking() = 0; // drawing virtual void drawMesh(const Mesh& mesh) = 0; @@ -112,6 +119,11 @@ public: // queries virtual size_t getMaxTextureSize() const = 0; virtual size_t getMaxViewportDims() const = 0; + virtual bool getProjectionYSwap() { return 0; } + virtual size_t getViewportWidth() const { return 1; } + virtual size_t getViewportHeight() const { return 1; } + virtual Rect getProjectionSourceCrop() const { return Rect(0, 0, 1, 1); } + virtual Transform::orientation_flags getProjectionRotation() const { return Transform::ROT_0; } EGLConfig getEGLConfig() const; EGLContext getEGLContext() const; |