| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "GrClipMaskManager.h" | 8 #include "GrClipMaskManager.h" |
| 9 #include "GrAAConvexPathRenderer.h" | 9 #include "GrAAConvexPathRenderer.h" |
| 10 #include "GrAAHairLinePathRenderer.h" | 10 #include "GrAAHairLinePathRenderer.h" |
| (...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 482 GrColor_WHITE, | 482 GrColor_WHITE, |
| 483 SkMatrix::I(), | 483 SkMatrix::I(), |
| 484 SkRect::Make(dstBound)); | 484 SkRect::Make(dstBound)); |
| 485 } | 485 } |
| 486 | 486 |
| 487 GrTexture* GrClipMaskManager::createTempMask(int width, int height) { | 487 GrTexture* GrClipMaskManager::createTempMask(int width, int height) { |
| 488 GrSurfaceDesc desc; | 488 GrSurfaceDesc desc; |
| 489 desc.fFlags = kRenderTarget_GrSurfaceFlag; | 489 desc.fFlags = kRenderTarget_GrSurfaceFlag; |
| 490 desc.fWidth = width; | 490 desc.fWidth = width; |
| 491 desc.fHeight = height; | 491 desc.fHeight = height; |
| 492 if (this->getContext()->isConfigRenderable(kAlpha_8_GrPixelConfig, false)) { | 492 if (this->getContext()->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, f
alse)) { |
| 493 desc.fConfig = kAlpha_8_GrPixelConfig; | 493 desc.fConfig = kAlpha_8_GrPixelConfig; |
| 494 } else { | 494 } else { |
| 495 desc.fConfig = kRGBA_8888_GrPixelConfig; | 495 desc.fConfig = kRGBA_8888_GrPixelConfig; |
| 496 } | 496 } |
| 497 | 497 |
| 498 return this->getContext()->textureProvider()->refScratchTexture( | 498 return this->getContext()->textureProvider()->refScratchTexture( |
| 499 desc, GrTextureProvider::kApprox_ScratchTexMatch); | 499 desc, GrTextureProvider::kApprox_ScratchTexMatch); |
| 500 } | 500 } |
| 501 | 501 |
| 502 //////////////////////////////////////////////////////////////////////////////// | 502 //////////////////////////////////////////////////////////////////////////////// |
| (...skipping 16 matching lines...) Expand all Loading... |
| 519 bool willUpload) { | 519 bool willUpload) { |
| 520 // Since we are setting up the cache we should free up the | 520 // Since we are setting up the cache we should free up the |
| 521 // currently cached mask so it can be reused. | 521 // currently cached mask so it can be reused. |
| 522 fAACache.reset(); | 522 fAACache.reset(); |
| 523 | 523 |
| 524 GrSurfaceDesc desc; | 524 GrSurfaceDesc desc; |
| 525 desc.fFlags = willUpload ? kNone_GrSurfaceFlags : kRenderTarget_GrSurfaceFla
g; | 525 desc.fFlags = willUpload ? kNone_GrSurfaceFlags : kRenderTarget_GrSurfaceFla
g; |
| 526 desc.fWidth = clipSpaceIBounds.width(); | 526 desc.fWidth = clipSpaceIBounds.width(); |
| 527 desc.fHeight = clipSpaceIBounds.height(); | 527 desc.fHeight = clipSpaceIBounds.height(); |
| 528 desc.fConfig = kRGBA_8888_GrPixelConfig; | 528 desc.fConfig = kRGBA_8888_GrPixelConfig; |
| 529 if (willUpload || this->getContext()->isConfigRenderable(kAlpha_8_GrPixelCon
fig, false)) { | 529 if (willUpload || |
| 530 this->getContext()->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, f
alse)) { |
| 530 // We would always like A8 but it isn't supported on all platforms | 531 // We would always like A8 but it isn't supported on all platforms |
| 531 desc.fConfig = kAlpha_8_GrPixelConfig; | 532 desc.fConfig = kAlpha_8_GrPixelConfig; |
| 532 } | 533 } |
| 533 | 534 |
| 534 fAACache.acquireMask(elementsGenID, desc, clipSpaceIBounds); | 535 fAACache.acquireMask(elementsGenID, desc, clipSpaceIBounds); |
| 535 return fAACache.getLastMask(); | 536 return fAACache.getLastMask(); |
| 536 } | 537 } |
| 537 | 538 |
| 538 //////////////////////////////////////////////////////////////////////////////// | 539 //////////////////////////////////////////////////////////////////////////////// |
| 539 // Create a 8-bit clip mask in alpha | 540 // Create a 8-bit clip mask in alpha |
| (...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1114 fAACache.setContext(clipTarget->getContext()); | 1115 fAACache.setContext(clipTarget->getContext()); |
| 1115 } | 1116 } |
| 1116 | 1117 |
| 1117 void GrClipMaskManager::adjustPathStencilParams(const GrStencilAttachment* stenc
ilAttachment, | 1118 void GrClipMaskManager::adjustPathStencilParams(const GrStencilAttachment* stenc
ilAttachment, |
| 1118 GrStencilSettings* settings) { | 1119 GrStencilSettings* settings) { |
| 1119 if (stencilAttachment) { | 1120 if (stencilAttachment) { |
| 1120 int stencilBits = stencilAttachment->bits(); | 1121 int stencilBits = stencilAttachment->bits(); |
| 1121 this->adjustStencilParams(settings, fClipMode, stencilBits); | 1122 this->adjustStencilParams(settings, fClipMode, stencilBits); |
| 1122 } | 1123 } |
| 1123 } | 1124 } |
| OLD | NEW |