Refactor Framebuffer management into a FramebufferManager class.
BUG=angleproject:1639
Change-Id: I03a0950f26557983c8dc816a27cb4038c60e5755
Reviewed-on: https://chromium-review.googlesource.com/415611
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/ContextState.cpp b/src/libANGLE/ContextState.cpp
index d6c8d04..6a24816 100644
--- a/src/libANGLE/ContextState.cpp
+++ b/src/libANGLE/ContextState.cpp
@@ -45,8 +45,7 @@
const Caps &capsIn,
const TextureCapsMap &textureCapsIn,
const Extensions &extensionsIn,
- const Limitations &limitationsIn,
- const ResourceMap<Framebuffer> &framebufferMap)
+ const Limitations &limitationsIn)
: mClientVersion(clientVersion),
mContext(contextIn),
mState(stateIn),
@@ -54,7 +53,6 @@
mTextureCaps(textureCapsIn),
mExtensions(extensionsIn),
mLimitations(limitationsIn),
- mFramebufferMap(framebufferMap),
mBuffers(AllocateOrGetSharedResourceManager(shareContextState, &ContextState::mBuffers)),
mShaderPrograms(
AllocateOrGetSharedResourceManager(shareContextState, &ContextState::mShaderPrograms)),
@@ -64,7 +62,8 @@
mSamplers(AllocateOrGetSharedResourceManager(shareContextState, &ContextState::mSamplers)),
mFenceSyncs(
AllocateOrGetSharedResourceManager(shareContextState, &ContextState::mFenceSyncs)),
- mPaths(AllocateOrGetSharedResourceManager(shareContextState, &ContextState::mPaths))
+ mPaths(AllocateOrGetSharedResourceManager(shareContextState, &ContextState::mPaths)),
+ mFramebuffers(new FramebufferManager())
{
}
@@ -77,6 +76,7 @@
mSamplers->release();
mFenceSyncs->release();
mPaths->release();
+ mFramebuffers->release();
}
const TextureCaps &ContextState::getTextureCap(GLenum internalFormat) const
@@ -91,7 +91,6 @@
const TextureCapsMap &textureCaps,
const Extensions &extensions,
const Limitations &limitations,
- const ResourceMap<Framebuffer> &framebufferMap,
bool skipValidation)
: mState(reinterpret_cast<uintptr_t>(this),
shareContext ? &shareContext->mState : nullptr,
@@ -100,8 +99,7 @@
caps,
textureCaps,
extensions,
- limitations,
- framebufferMap),
+ limitations),
mSkipValidation(skipValidation)
{
}
@@ -672,8 +670,7 @@
bool ValidationContext::isFramebufferGenerated(GLuint framebuffer) const
{
- ASSERT(mState.mFramebufferMap.find(0) != mState.mFramebufferMap.end());
- return mState.mFramebufferMap.find(framebuffer) != mState.mFramebufferMap.end();
+ return mState.mFramebuffers->isFramebufferGenerated(framebuffer);
}
} // namespace gl