diff options
author | Chris Craik <ccraik@google.com> | 2015-10-23 14:33:42 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2015-10-26 15:51:48 -0700 |
commit | 818c9fbf1d76d5df19253ba4eb964efa939ec9ec (patch) | |
tree | 6fa7a565ae56d5c92a5905b19c9a20f675b0526b /libs/hwui/renderstate/RenderState.cpp | |
parent | 914e362d1884a79588e848f6f87772e4e3fc73b2 (diff) |
Initial version of clipped saveLayer in new pipeline
Additionally disables usage of FBO cache, so FBO destruction safely
interacts with renderstate caching.
Change-Id: I25c277cb7afec2ca33bf226445d6c8867a15a915
Diffstat (limited to 'libs/hwui/renderstate/RenderState.cpp')
-rw-r--r-- | libs/hwui/renderstate/RenderState.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/hwui/renderstate/RenderState.cpp b/libs/hwui/renderstate/RenderState.cpp index dfa70ace2f44..9637117bc11a 100644 --- a/libs/hwui/renderstate/RenderState.cpp +++ b/libs/hwui/renderstate/RenderState.cpp @@ -125,6 +125,21 @@ void RenderState::bindFramebuffer(GLuint fbo) { } } +GLuint RenderState::genFramebuffer() { + GLuint ret; + glGenFramebuffers(1, &ret); + return ret; +} + +void RenderState::deleteFramebuffer(GLuint fbo) { + if (mFramebuffer == fbo) { + // GL defines that deleting the currently bound FBO rebinds FBO 0. + // Reflect this in our cached value. + mFramebuffer = 0; + } + glDeleteFramebuffers(1, &fbo); +} + void RenderState::invokeFunctor(Functor* functor, DrawGlInfo::Mode mode, DrawGlInfo* info) { if (mode == DrawGlInfo::kModeProcessNoContext) { // If there's no context we don't need to interrupt as there's |