Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 "GrContext.h" | 8 #include "GrContext.h" |
| 9 #include "GrContextPriv.h" | 9 #include "GrContextPriv.h" |
| 10 #include "GrContextOptions.h" | 10 #include "GrContextOptions.h" |
| (...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 682 } | 682 } |
| 683 | 683 |
| 684 sk_sp<GrDrawContext> GrContext::makeDrawContext(SkBackingFit fit, | 684 sk_sp<GrDrawContext> GrContext::makeDrawContext(SkBackingFit fit, |
| 685 int width, int height, | 685 int width, int height, |
| 686 GrPixelConfig config, | 686 GrPixelConfig config, |
| 687 sk_sp<SkColorSpace> colorSpace, | 687 sk_sp<SkColorSpace> colorSpace, |
| 688 int sampleCnt, | 688 int sampleCnt, |
| 689 GrSurfaceOrigin origin, | 689 GrSurfaceOrigin origin, |
| 690 const SkSurfaceProps* surfacePro ps, | 690 const SkSurfaceProps* surfacePro ps, |
| 691 SkBudgeted budgeted) { | 691 SkBudgeted budgeted) { |
| 692 // If the config isn't renderable try converting to either A8 or an 32 bit c onfig. Otherwise, | |
|
bsalomon
2016/09/01 19:47:05
I think this should be more narrowly defined as al
robertphillips
2016/09/01 20:52:54
Done.
| |
| 693 // fail. | |
| 694 if (!this->caps()->isConfigRenderable(config, sampleCnt > 0)) { | |
| 695 if (GrPixelConfigIsAlphaOnly(config)) { | |
| 696 if (this->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, sampleC nt > 0)) { | |
| 697 config = kAlpha_8_GrPixelConfig; | |
| 698 } else if (this->caps()->isConfigRenderable(kSkia8888_GrPixelConfig, sampleCnt > 0)) { | |
|
bsalomon
2016/09/01 19:47:05
Let's not use kSkia8888. I'd like to remove it. kR
robertphillips
2016/09/01 20:52:54
Done.
| |
| 699 config = kSkia8888_GrPixelConfig; | |
| 700 } else { | |
| 701 return nullptr; | |
| 702 } | |
| 703 } else if (kRGB_GrColorComponentFlags == | |
| 704 (kRGB_GrColorComponentFlags & GrPixelConfigComponentMask(config) )) { | |
| 705 if (this->caps()->isConfigRenderable(kSkia8888_GrPixelConfig, sample Cnt > 0)) { | |
| 706 config = kSkia8888_GrPixelConfig; | |
| 707 } else { | |
| 708 return nullptr; | |
| 709 } | |
| 710 } else { | |
| 711 return nullptr; | |
| 712 } | |
| 713 } | |
| 714 | |
| 692 GrSurfaceDesc desc; | 715 GrSurfaceDesc desc; |
| 693 desc.fFlags = kRenderTarget_GrSurfaceFlag; | 716 desc.fFlags = kRenderTarget_GrSurfaceFlag; |
| 694 desc.fOrigin = origin; | 717 desc.fOrigin = origin; |
| 695 desc.fWidth = width; | 718 desc.fWidth = width; |
| 696 desc.fHeight = height; | 719 desc.fHeight = height; |
| 697 desc.fConfig = config; | 720 desc.fConfig = config; |
| 698 desc.fSampleCnt = sampleCnt; | 721 desc.fSampleCnt = sampleCnt; |
| 699 | 722 |
| 700 sk_sp<GrTexture> tex; | 723 sk_sp<GrTexture> tex; |
| 701 if (SkBackingFit::kExact == fit) { | 724 if (SkBackingFit::kExact == fit) { |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 797 ASSERT_SINGLE_OWNER | 820 ASSERT_SINGLE_OWNER |
| 798 fResourceCache->setLimits(maxTextures, maxTextureBytes); | 821 fResourceCache->setLimits(maxTextures, maxTextureBytes); |
| 799 } | 822 } |
| 800 | 823 |
| 801 ////////////////////////////////////////////////////////////////////////////// | 824 ////////////////////////////////////////////////////////////////////////////// |
| 802 | 825 |
| 803 void GrContext::dumpMemoryStatistics(SkTraceMemoryDump* traceMemoryDump) const { | 826 void GrContext::dumpMemoryStatistics(SkTraceMemoryDump* traceMemoryDump) const { |
| 804 ASSERT_SINGLE_OWNER | 827 ASSERT_SINGLE_OWNER |
| 805 fResourceCache->dumpMemoryStatistics(traceMemoryDump); | 828 fResourceCache->dumpMemoryStatistics(traceMemoryDump); |
| 806 } | 829 } |
| OLD | NEW |