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/renderer/Renderer.cpp b/src/libGLESv2/renderer/Renderer.cpp
index eb5e2fe..40ea5ec 100644
--- a/src/libGLESv2/renderer/Renderer.cpp
+++ b/src/libGLESv2/renderer/Renderer.cpp
@@ -43,17 +43,39 @@
gl::Shader::releaseCompiler();
}
-const gl::Caps &Renderer::getCaps() const
+const gl::Caps &Renderer::getRendererCaps() const
{
if (!mCapsInitialized)
{
- mCaps = generateCaps();
+ generateCaps(&mCaps, &mTextureCaps, &mExtensions);
mCapsInitialized = true;
}
return mCaps;
}
+const gl::TextureCapsMap &Renderer::getRendererTextureCaps() const
+{
+ if (!mCapsInitialized)
+ {
+ generateCaps(&mCaps, &mTextureCaps, &mExtensions);
+ mCapsInitialized = true;
+ }
+
+ return mTextureCaps;
+}
+
+const gl::Extensions &Renderer::getRendererExtensions() const
+{
+ if (!mCapsInitialized)
+ {
+ generateCaps(&mCaps, &mTextureCaps, &mExtensions);
+ mCapsInitialized = true;
+ }
+
+ return mExtensions;
+}
+
}
extern "C"