Change setScissor() to take in Vulkan coordinate convention.
* Cache dimensions in GLSurface and GLFramebuffer so that we don't have
to query properties through gl.
* Change argument to const Rect&
Bug: 114439058
Change-Id: Ia5ba9405af92819152e26e13508e0b57bc73f233
Test: SurfaceFlinger_Test, go/wm-smoke
diff --git a/services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.h b/services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.h
index 1abc5ba..e5086c4 100644
--- a/services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.h
+++ b/services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.h
@@ -64,7 +64,7 @@
void clearWithColor(float red, float green, float blue, float alpha) override;
void fillRegionWithColor(const Region& region, float red, float green, float blue,
float alpha) override;
- void setScissor(uint32_t left, uint32_t bottom, uint32_t right, uint32_t top) override;
+ void setScissor(const Rect& region) override;
void disableScissor() override;
void genTextures(size_t count, uint32_t* names) override;
void deleteTextures(size_t count, uint32_t const* names) override;
@@ -139,6 +139,8 @@
mat4 mXyzToBt2020;
bool mRenderToFbo = false;
+ int32_t mSurfaceHeight = 0;
+ int32_t mFboHeight = 0;
// Current dataspace of layer being rendered
ui::Dataspace mDataSpace = ui::Dataspace::UNKNOWN;