Loading services/surfaceflinger/Layer.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -506,8 +506,10 @@ void Layer::onDraw(const sp<const DisplayDevice>& hw, const Region& clip) const void Layer::clearWithOpenGL(const sp<const DisplayDevice>& hw, const Region& clip, float red, float green, float blue, float alpha) const { RenderEngine& engine(mFlinger->getRenderEngine()); computeGeometry(hw, mMesh); mFlinger->getRenderEngine().fillWithColor(mMesh, red, green, blue, alpha); engine.setupFillWithColor(red, green, blue, alpha); engine.drawMesh(mMesh); } void Layer::clearWithOpenGL( Loading services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp +1 −8 Original line number Diff line number Diff line Loading @@ -209,18 +209,11 @@ void GLES11RenderEngine::unbindFramebuffer(uint32_t texName, uint32_t fbName) { glDeleteTextures(1, &texName); } void GLES11RenderEngine::fillWithColor(const Mesh& mesh, float r, float g, float b, float a) { void GLES11RenderEngine::setupFillWithColor(float r, float g, float b, float a) { glColor4f(r, g, b, a); glDisable(GL_TEXTURE_EXTERNAL_OES); glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); glVertexPointer(mesh.getVertexSize(), GL_FLOAT, mesh.getByteStride(), mesh.getPositions()); glDrawArrays(mesh.getPrimitive(), 0, mesh.getVertexCount()); } void GLES11RenderEngine::drawMesh(const Mesh& mesh) { Loading services/surfaceflinger/RenderEngine/GLES11RenderEngine.h +1 −1 Original line number Diff line number Diff line Loading @@ -54,10 +54,10 @@ protected: virtual void setupDimLayerBlending(int alpha); virtual void setupLayerTexturing(const Texture& texture); virtual void setupLayerBlackedOut(); virtual void setupFillWithColor(float r, float g, float b, float a) ; virtual void disableTexturing(); virtual void disableBlending(); virtual void fillWithColor(const Mesh& mesh, float r, float g, float b, float a) ; virtual void drawMesh(const Mesh& mesh); virtual size_t getMaxTextureSize() const; Loading services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp +5 −12 Original line number Diff line number Diff line Loading @@ -186,20 +186,13 @@ void GLES20RenderEngine::unbindFramebuffer(uint32_t texName, uint32_t fbName) { glDeleteTextures(1, &texName); } void GLES20RenderEngine::fillWithColor(const Mesh& mesh, float r, float g, float b, float a) { void GLES20RenderEngine::setupFillWithColor(float r, float g, float b, float a) { mState.setPlaneAlpha(1.0f); mState.setPremultipliedAlpha(true); mState.setOpaque(false); mState.setColor(r, g, b, a); disableTexturing(); mState.disableTexture(); glDisable(GL_BLEND); ProgramCache::getInstance().useProgram(mState); glVertexAttribPointer(Program::position, mesh.getVertexSize(), GL_FLOAT, GL_FALSE, mesh.getByteStride(), mesh.getPositions()); glDrawArrays(mesh.getPrimitive(), 0, mesh.getVertexCount()); } void GLES20RenderEngine::drawMesh(const Mesh& mesh) { Loading services/surfaceflinger/RenderEngine/GLES20RenderEngine.h +1 −1 Original line number Diff line number Diff line Loading @@ -58,10 +58,10 @@ protected: virtual void setupDimLayerBlending(int alpha); virtual void setupLayerTexturing(const Texture& texture); virtual void setupLayerBlackedOut(); virtual void setupFillWithColor(float r, float g, float b, float a); virtual void disableTexturing(); virtual void disableBlending(); virtual void fillWithColor(const Mesh& mesh, float r, float g, float b, float a); virtual void drawMesh(const Mesh& mesh); virtual size_t getMaxTextureSize() const; Loading Loading
services/surfaceflinger/Layer.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -506,8 +506,10 @@ void Layer::onDraw(const sp<const DisplayDevice>& hw, const Region& clip) const void Layer::clearWithOpenGL(const sp<const DisplayDevice>& hw, const Region& clip, float red, float green, float blue, float alpha) const { RenderEngine& engine(mFlinger->getRenderEngine()); computeGeometry(hw, mMesh); mFlinger->getRenderEngine().fillWithColor(mMesh, red, green, blue, alpha); engine.setupFillWithColor(red, green, blue, alpha); engine.drawMesh(mMesh); } void Layer::clearWithOpenGL( Loading
services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp +1 −8 Original line number Diff line number Diff line Loading @@ -209,18 +209,11 @@ void GLES11RenderEngine::unbindFramebuffer(uint32_t texName, uint32_t fbName) { glDeleteTextures(1, &texName); } void GLES11RenderEngine::fillWithColor(const Mesh& mesh, float r, float g, float b, float a) { void GLES11RenderEngine::setupFillWithColor(float r, float g, float b, float a) { glColor4f(r, g, b, a); glDisable(GL_TEXTURE_EXTERNAL_OES); glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); glVertexPointer(mesh.getVertexSize(), GL_FLOAT, mesh.getByteStride(), mesh.getPositions()); glDrawArrays(mesh.getPrimitive(), 0, mesh.getVertexCount()); } void GLES11RenderEngine::drawMesh(const Mesh& mesh) { Loading
services/surfaceflinger/RenderEngine/GLES11RenderEngine.h +1 −1 Original line number Diff line number Diff line Loading @@ -54,10 +54,10 @@ protected: virtual void setupDimLayerBlending(int alpha); virtual void setupLayerTexturing(const Texture& texture); virtual void setupLayerBlackedOut(); virtual void setupFillWithColor(float r, float g, float b, float a) ; virtual void disableTexturing(); virtual void disableBlending(); virtual void fillWithColor(const Mesh& mesh, float r, float g, float b, float a) ; virtual void drawMesh(const Mesh& mesh); virtual size_t getMaxTextureSize() const; Loading
services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp +5 −12 Original line number Diff line number Diff line Loading @@ -186,20 +186,13 @@ void GLES20RenderEngine::unbindFramebuffer(uint32_t texName, uint32_t fbName) { glDeleteTextures(1, &texName); } void GLES20RenderEngine::fillWithColor(const Mesh& mesh, float r, float g, float b, float a) { void GLES20RenderEngine::setupFillWithColor(float r, float g, float b, float a) { mState.setPlaneAlpha(1.0f); mState.setPremultipliedAlpha(true); mState.setOpaque(false); mState.setColor(r, g, b, a); disableTexturing(); mState.disableTexture(); glDisable(GL_BLEND); ProgramCache::getInstance().useProgram(mState); glVertexAttribPointer(Program::position, mesh.getVertexSize(), GL_FLOAT, GL_FALSE, mesh.getByteStride(), mesh.getPositions()); glDrawArrays(mesh.getPrimitive(), 0, mesh.getVertexCount()); } void GLES20RenderEngine::drawMesh(const Mesh& mesh) { Loading
services/surfaceflinger/RenderEngine/GLES20RenderEngine.h +1 −1 Original line number Diff line number Diff line Loading @@ -58,10 +58,10 @@ protected: virtual void setupDimLayerBlending(int alpha); virtual void setupLayerTexturing(const Texture& texture); virtual void setupLayerBlackedOut(); virtual void setupFillWithColor(float r, float g, float b, float a); virtual void disableTexturing(); virtual void disableBlending(); virtual void fillWithColor(const Mesh& mesh, float r, float g, float b, float a); virtual void drawMesh(const Mesh& mesh); virtual size_t getMaxTextureSize() const; Loading