Remove one static initializer in src/gpu/GrGpu.cpp

Review URL: https://codereview.appspot.com/5504073

git-svn-id: http://skia.googlecode.com/svn/trunk@3117 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
digit@google.com 2012-01-31 15:16:10 +00:00
parent c1ea60a9ea
commit c943bd5984
3 changed files with 16 additions and 11 deletions

View File

@ -343,15 +343,20 @@ const GrVertexBuffer* GrGpu::getUnitSquareVertexBuffer() const {
////////////////////////////////////////////////////////////////////////////////
// stencil settings to use when clip is in stencil
GR_STATIC_CONST_SAME_STENCIL(gClipStencilSettings,
kKeep_StencilOp,
kKeep_StencilOp,
kAlwaysIfInClip_StencilFunc,
0x0000,
0x0000,
0x0000);
const GrStencilSettings& GrGpu::gClipStencilSettings = ::gClipStencilSettings;
const GrStencilSettings* GrGpu::GetClipStencilSettings(void) {
// stencil settings to use when clip is in stencil
// NOTE: This is thread-safe on Windows because the implementation of
// GR_STATIC_CONST_SAME_STENCIL simply updates a pointer to an already
// constructed constant structure.
GR_STATIC_CONST_SAME_STENCIL(sClipStencilSettings,
kKeep_StencilOp,
kKeep_StencilOp,
kAlwaysIfInClip_StencilFunc,
0x0000,
0x0000,
0x0000);
return &sClipStencilSettings;
}
// mapping of clip-respecting stencil funcs to normal stencil funcs
// mapping depends on whether stencil-clipping is in effect.

View File

@ -355,7 +355,7 @@ protected:
// stencil settings to clip drawing when stencil clipping is in effect
// and the client isn't using the stencil test.
static const GrStencilSettings& gClipStencilSettings;
static const GrStencilSettings* GetClipStencilSettings(void);
GrGpuStats fStats;

View File

@ -1776,7 +1776,7 @@ void GrGpuGL::flushStencil() {
if (settings->isDisabled()) {
if (stencilClip) {
settings = &gClipStencilSettings;
settings = GetClipStencilSettings();
}
}