diff options
author | Mike Klein <mtklein@google.com> | 2017-06-06 21:47:32 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-06 22:12:48 +0000 |
commit | 8b06ed7c9f76760563ed3c46716e8e8f27ec2311 (patch) | |
tree | 13d827f87401f9c7f3dd83d434b5447effe3345b /src/gpu/gl/GrGLGpu.h | |
parent | a88da48436f4c013722b27064e02a0b33574d2f8 (diff) |
Revert "Workaround Adreno driver issue with stencil clears."
This reverts commit 4e8c581f2aa911bf49f97a246cc26134da292a8c.
Reason for revert: breaks Google3 roll
Original change's description:
> Workaround Adreno driver issue with stencil clears.
>
> This also removes the "debug wire rect" which was not used and not implemented for Vulkan.
>
> Also some declared but not implemented methods are removed from GrGLGpu.
>
> Bug: skia:5587
>
> Change-Id: I750051e90e6cfbfad6a6fe20792226182f698bcf
> Reviewed-on: https://skia-review.googlesource.com/18639
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,csmartdalton@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:5587
Change-Id: I65aa16b3f8c70cdef56ff16e16304ba09604c475
Reviewed-on: https://skia-review.googlesource.com/18924
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Diffstat (limited to 'src/gpu/gl/GrGLGpu.h')
-rw-r--r-- | src/gpu/gl/GrGLGpu.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h index 1785eae143..770c357c5f 100644 --- a/src/gpu/gl/GrGLGpu.h +++ b/src/gpu/gl/GrGLGpu.h @@ -162,6 +162,8 @@ public: void resetShaderCacheForTesting() const override; + void drawDebugWireRect(GrRenderTarget*, const SkIRect&, GrColor) override; + GrFence SK_WARN_UNUSED_RESULT insertFence() override; bool waitFence(GrFence, uint64_t timeout) override; void deleteFence(GrFence) const override; @@ -294,7 +296,6 @@ private: const SkIRect& srcRect, const SkIPoint& dstPoint); bool generateMipmap(GrGLTexture* texture, bool gammaCorrect); - void clearStencilClipAsDraw(const GrFixedClip&, bool insideStencilMask, GrRenderTarget*); static bool BlendCoeffReferencesConstant(GrBlendCoeff coeff); @@ -348,6 +349,11 @@ private: void flushWindowRectangles(const GrWindowRectsState&, const GrGLRenderTarget*); void disableWindowRectangles(); + void initFSAASupport(); + + // determines valid stencil formats + void initStencilFormats(); + // sets a texture unit to use for texture operations other than binding a texture to a program. // ensures that such operations don't negatively interact with tracking bound textures. void setScratchTextureUnit(); @@ -401,7 +407,7 @@ private: bool createCopyProgram(GrTexture* srcTexture); bool createMipmapProgram(int progIdx); - bool createStencilClipClearProgram(); + bool createWireRectProgram(); // GL program-related state ProgramCache* fProgramCache; @@ -614,8 +620,12 @@ private: } fMipmapPrograms[4]; sk_sp<GrGLBuffer> fMipmapProgramArrayBuffer; - GrGLuint fStencilClipClearProgram; - sk_sp<GrGLBuffer> fStencilClipClearArrayBuffer; + struct { + GrGLuint fProgram; + GrGLint fColorUniform; + GrGLint fRectUniform; + } fWireRectProgram; + sk_sp<GrGLBuffer> fWireRectArrayBuffer; static int TextureToCopyProgramIdx(GrTexture* texture) { switch (texture->texturePriv().samplerType()) { |