summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/RenderEngine/RenderEngine.h
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/RenderEngine/RenderEngine.h')
-rw-r--r--services/surfaceflinger/RenderEngine/RenderEngine.h18
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;