Split Caps into Caps, Extensions and TextureFormatCaps.
Context now holds it's own Caps, Extensions and TextureFormat caps so that it
can modify them based on client version or work-arounds.
BUG=angle:658
Change-Id: Id71b6c89b7aa36e1f3dc42b0e4720eaed1851fb9
Reviewed-on: https://chromium-review.googlesource.com/206480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/Framebuffer.cpp b/src/libGLESv2/Framebuffer.cpp
index b40279e..bcd174a 100644
--- a/src/libGLESv2/Framebuffer.cpp
+++ b/src/libGLESv2/Framebuffer.cpp
@@ -361,7 +361,8 @@
}
GLenum internalformat = colorbuffer->getInternalFormat();
- const TextureCaps &formatCaps = mRenderer->getCaps().textureCaps.get(internalformat);
+ // TODO(geofflang): use context's texture caps
+ const TextureCaps &formatCaps = mRenderer->getRendererTextureCaps().get(internalformat);
if (colorbuffer->isTexture())
{
if (!formatCaps.colorRendering)
@@ -440,13 +441,15 @@
}
GLenum internalformat = mDepthbuffer->getInternalFormat();
- const TextureCaps &formatCaps = mRenderer->getCaps().textureCaps.get(internalformat);
+ // TODO(geofflang): use context's texture caps
+ const TextureCaps &formatCaps = mRenderer->getRendererTextureCaps().get(internalformat);
if (mDepthbuffer->isTexture())
{
GLenum internalformat = mDepthbuffer->getInternalFormat();
// depth texture attachments require OES/ANGLE_depth_texture
- if (!mRenderer->getCaps().extensions.depthTextures)
+ // TODO(geofflang): use context's extensions
+ if (!mRenderer->getRendererExtensions().depthTextures)
{
return GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT;
}
@@ -494,14 +497,16 @@
}
GLenum internalformat = mStencilbuffer->getInternalFormat();
- const TextureCaps &formatCaps = mRenderer->getCaps().textureCaps.get(internalformat);
+ // TODO(geofflang): use context's texture caps
+ const TextureCaps &formatCaps = mRenderer->getRendererTextureCaps().get(internalformat);
if (mStencilbuffer->isTexture())
{
GLenum internalformat = mStencilbuffer->getInternalFormat();
// texture stencil attachments come along as part
// of OES_packed_depth_stencil + OES/ANGLE_depth_texture
- if (!mRenderer->getCaps().extensions.depthTextures)
+ // TODO(geofflang): use context's extensions
+ if (!mRenderer->getRendererExtensions().depthTextures)
{
return GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT;
}