Index: src/gpu/gl/GrGpuGL.cpp |
diff --git a/src/gpu/gl/GrGpuGL.cpp b/src/gpu/gl/GrGpuGL.cpp |
index d313167a82757b7802d70389d2976f83e842ccf9..cdf9be9547ab91432e9115500ecef344c9305b14 100644 |
--- a/src/gpu/gl/GrGpuGL.cpp |
+++ b/src/gpu/gl/GrGpuGL.cpp |
@@ -127,9 +127,6 @@ GrGpuGL::GrGpuGL(const GrGLContext& ctx, GrContext* context) |
fHWBoundTextures.reset(ctx.info().caps()->maxFragmentTextureUnits()); |
fHWTexGenSettings.reset(ctx.info().caps()->maxFixedFunctionTextureCoords()); |
- fillInConfigRenderableTable(); |
- |
- |
GrGLClearErr(fGLContext.interface()); |
if (gPrintStartupSpew) { |
@@ -177,65 +174,6 @@ GrGpuGL::~GrGpuGL() { |
/////////////////////////////////////////////////////////////////////////////// |
-void GrGpuGL::fillInConfigRenderableTable() { |
- |
- // OpenGL < 3.0 |
- // no support for render targets unless the GL_ARB_framebuffer_object |
- // extension is supported (in which case we get ALPHA, RED, RG, RGB, |
- // RGBA (ALPHA8, RGBA4, RGBA8) for OpenGL > 1.1). Note that we |
- // probably don't get R8 in this case. |
- |
- // OpenGL 3.0 |
- // base color renderable: ALPHA, RED, RG, RGB, and RGBA |
- // sized derivatives: ALPHA8, R8, RGBA4, RGBA8 |
- |
- // >= OpenGL 3.1 |
- // base color renderable: RED, RG, RGB, and RGBA |
- // sized derivatives: R8, RGBA4, RGBA8 |
- // if the GL_ARB_compatibility extension is supported then we get back |
- // support for GL_ALPHA and ALPHA8 |
- |
- // GL_EXT_bgra adds BGRA render targets to any version |
- |
- // ES 2.0 |
- // color renderable: RGBA4, RGB5_A1, RGB565 |
- // GL_EXT_texture_rg adds support for R8 as a color render target |
- // GL_OES_rgb8_rgba8 and/or GL_ARM_rgba8 adds support for RGBA8 |
- // GL_EXT_texture_format_BGRA8888 and/or GL_APPLE_texture_format_BGRA8888 added BGRA support |
- |
- // ES 3.0 |
- // Same as ES 2.0 except R8 and RGBA8 are supported without extensions (the functions called |
- // below already account for this). |
- |
- if (kDesktop_GrGLBinding == this->glBinding()) { |
- // Post 3.0 we will get R8 |
- // Prior to 3.0 we will get ALPHA8 (with GL_ARB_framebuffer_object) |
- if (this->glVersion() >= GR_GL_VER(3,0) || |
- this->hasExtension("GL_ARB_framebuffer_object")) { |
- fConfigRenderSupport[kAlpha_8_GrPixelConfig] = true; |
- } |
- } else { |
- // On ES we can only hope for R8 |
- fConfigRenderSupport[kAlpha_8_GrPixelConfig] = |
- this->glCaps().textureRedSupport(); |
- } |
- |
- if (kDesktop_GrGLBinding != this->glBinding()) { |
- // only available in ES |
- fConfigRenderSupport[kRGB_565_GrPixelConfig] = true; |
- } |
- |
- // we no longer support 444 as a render target |
- fConfigRenderSupport[kRGBA_4444_GrPixelConfig] = false; |
- |
- if (this->glCaps().rgba8RenderbufferSupport()) { |
- fConfigRenderSupport[kRGBA_8888_GrPixelConfig] = true; |
- } |
- |
- if (this->glCaps().bgraFormatSupport()) { |
- fConfigRenderSupport[kBGRA_8888_GrPixelConfig] = true; |
- } |
-} |
GrPixelConfig GrGpuGL::preferredReadPixelsConfig(GrPixelConfig readConfig, |
GrPixelConfig surfaceConfig) const { |
@@ -2460,8 +2398,8 @@ inline bool can_blit_framebuffer(const GrSurface* dst, |
const GrSurface* src, |
const GrGpuGL* gpu, |
bool* wouldNeedTempFBO = NULL) { |
- if (gpu->isConfigRenderable(dst->config()) && |
- gpu->isConfigRenderable(src->config()) && |
+ if (gpu->glCaps().isConfigRenderable(dst->config()) && |
+ gpu->glCaps().isConfigRenderable(src->config()) && |
gpu->glCaps().usesMSAARenderBuffers()) { |
// ES3 doesn't allow framebuffer blits when the src has MSAA and the configs don't match |
// or the rects are not the same (not just the same size but have the same edges). |
@@ -2501,7 +2439,7 @@ inline bool can_copy_texsubimage(const GrSurface* dst, |
if (NULL != srcRT && srcRT->renderFBOID() != srcRT->textureFBOID()) { |
return false; |
} |
- if (gpu->isConfigRenderable(src->config()) && NULL != dst->asTexture() && |
+ if (gpu->glCaps().isConfigRenderable(src->config()) && NULL != dst->asTexture() && |
dst->origin() == src->origin() && kIndex_8_GrPixelConfig != src->config()) { |
if (NULL != wouldNeedTempFBO) { |
*wouldNeedTempFBO = NULL == src->asRenderTarget(); |