Index: src/gpu/gl/GrGLGpu.cpp |
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp |
index 7be4d32b88aa2bca4d95ffe8430b5300d85df7e8..42c92687f774f7a408836a4cef1bb3ad177993ec 100644 |
--- a/src/gpu/gl/GrGLGpu.cpp |
+++ b/src/gpu/gl/GrGLGpu.cpp |
@@ -160,14 +160,6 @@ bool GrGLGpu::BlendCoeffReferencesConstant(GrBlendCoeff coeff) { |
/////////////////////////////////////////////////////////////////////////////// |
-// Used in the map of pixel configs to stencil format indices. This value is used to |
-// indicate that a stencil format has not yet been set for the given config. |
-static const int kUnknownStencilIndex = -1; |
-// This value is used as the stencil index when no stencil configs are supported with the |
-// given pixel config. |
-static const int kUnsupportedStencilIndex = -2; |
- |
-/////////////////////////////////////////////////////////////////////////////// |
GrGpu* GrGLGpu::Create(GrBackendContext backendContext, const GrContextOptions& options, |
GrContext* context) { |
@@ -222,9 +214,6 @@ GrGLGpu::GrGLGpu(GrGLContext* ctx, GrContext* context) |
SkASSERT(this->glCaps().maxVertexAttributes() >= GrGeometryProcessor::kMaxVertexAttribs); |
- for (int i = 0; i < kGrPixelConfigCnt; ++i) { |
- fPixelConfigToStencilIndex[i] = kUnknownStencilIndex; |
- } |
fHWProgramID = 0; |
fTempSrcFBOID = 0; |
fTempDstFBOID = 0; |
@@ -1279,9 +1268,9 @@ void inline get_stencil_rb_sizes(const GrGLInterface* gl, |
int GrGLGpu::getCompatibleStencilIndex(GrPixelConfig config) { |
static const int kSize = 16; |
- if (kUnknownStencilIndex == fPixelConfigToStencilIndex[config]) { |
+ if (ConfigEntry::kUnknown_StencilIndex == fConfigTable[config].fStencilFormatIndex) { |
// Default to unsupported |
- fPixelConfigToStencilIndex[config] = kUnsupportedStencilIndex; |
+ fConfigTable[config].fStencilFormatIndex = ConfigEntry::kUnsupported_StencilFormatIndex; |
// Create color texture |
GrGLuint colorID = 0; |
GL_CALL(GenTextures(1, &colorID)); |
@@ -1307,8 +1296,7 @@ int GrGLGpu::getCompatibleStencilIndex(GrPixelConfig config) { |
if (!this->configToGLFormats(config, useSizedFormat, &internalFormat, |
&externalFormat, &externalType)) { |
GL_CALL(DeleteTextures(1, &colorID)); |
- fPixelConfigToStencilIndex[config] = kUnsupportedStencilIndex; |
- return kUnsupportedStencilIndex; |
+ return ConfigEntry::kUnsupported_StencilFormatIndex; |
} |
CLEAR_ERROR_BEFORE_ALLOC(this->glInterface()); |
@@ -1322,8 +1310,7 @@ int GrGLGpu::getCompatibleStencilIndex(GrPixelConfig config) { |
NULL)); |
if (GR_GL_NO_ERROR != GR_GL_GET_ERROR(this->glInterface())) { |
GL_CALL(DeleteTextures(1, &colorID)); |
- fPixelConfigToStencilIndex[config] = kUnsupportedStencilIndex; |
- return kUnsupportedStencilIndex; |
+ return ConfigEntry::kUnsupported_StencilFormatIndex; |
} |
// unbind the texture from the texture unit before binding it to the frame buffer |
@@ -1380,7 +1367,7 @@ int GrGLGpu::getCompatibleStencilIndex(GrPixelConfig config) { |
GR_GL_RENDERBUFFER, 0)); |
} |
} else { |
- fPixelConfigToStencilIndex[config] = i; |
+ fConfigTable[config].fStencilFormatIndex = i; |
break; |
} |
} |
@@ -1391,8 +1378,8 @@ int GrGLGpu::getCompatibleStencilIndex(GrPixelConfig config) { |
GL_CALL(BindFramebuffer(GR_GL_FRAMEBUFFER, 0)); |
GL_CALL(DeleteFramebuffers(1, &fb)); |
} |
- SkASSERT(kUnknownStencilIndex != fPixelConfigToStencilIndex[config]); |
- return fPixelConfigToStencilIndex[config]; |
+ SkASSERT(ConfigEntry::kUnknown_StencilIndex != fConfigTable[config].fStencilFormatIndex); |
+ return fConfigTable[config].fStencilFormatIndex; |
} |
GrStencilAttachment* GrGLGpu::createStencilAttachmentForRenderTarget(const GrRenderTarget* rt, |
@@ -1408,7 +1395,7 @@ GrStencilAttachment* GrGLGpu::createStencilAttachmentForRenderTarget(const GrRen |
GrGLStencilAttachment::IDDesc sbDesc; |
int sIdx = this->getCompatibleStencilIndex(rt->config()); |
- if (sIdx == kUnsupportedStencilIndex) { |
+ if (sIdx < 0) { |
return nullptr; |
} |