Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: src/gpu/GrBlurUtils.cpp

Issue 1261643004: Some cleanup in GrTextureProvider and GrResourceProvider (Closed) Base URL: https://skia.googlesource.com/skia.git@pathargs
Patch Set: fix Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 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 "GrBlurUtils.h" 8 #include "GrBlurUtils.h"
9 #include "GrDrawContext.h" 9 #include "GrDrawContext.h"
10 #include "GrCaps.h" 10 #include "GrCaps.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 return false; 76 return false;
77 } 77 }
78 78
79 // we now have a device-aligned 8bit mask in dstM, ready to be drawn using 79 // we now have a device-aligned 8bit mask in dstM, ready to be drawn using
80 // the current clip (and identity matrix) and GrPaint settings 80 // the current clip (and identity matrix) and GrPaint settings
81 GrSurfaceDesc desc; 81 GrSurfaceDesc desc;
82 desc.fWidth = dstM.fBounds.width(); 82 desc.fWidth = dstM.fBounds.width();
83 desc.fHeight = dstM.fBounds.height(); 83 desc.fHeight = dstM.fBounds.height();
84 desc.fConfig = kAlpha_8_GrPixelConfig; 84 desc.fConfig = kAlpha_8_GrPixelConfig;
85 85
86 SkAutoTUnref<GrTexture> texture(textureProvider->refScratchTexture( 86 SkAutoTUnref<GrTexture> texture(textureProvider->createApproxTexture(desc));
87 desc, GrTextureProvider::kApprox_ScratchTexMatch));
88 if (!texture) { 87 if (!texture) {
89 return false; 88 return false;
90 } 89 }
91 texture->writePixels(0, 0, desc.fWidth, desc.fHeight, desc.fConfig, 90 texture->writePixels(0, 0, desc.fWidth, desc.fHeight, desc.fConfig,
92 dstM.fImage, dstM.fRowBytes); 91 dstM.fImage, dstM.fRowBytes);
93 92
94 SkRect maskRect = SkRect::Make(dstM.fBounds); 93 SkRect maskRect = SkRect::Make(dstM.fBounds);
95 94
96 return draw_mask(drawContext, rt, clipData, viewMatrix, maskRect, grp, textu re); 95 return draw_mask(drawContext, rt, clipData, viewMatrix, maskRect, grp, textu re);
97 } 96 }
(...skipping 11 matching lines...) Expand all
109 desc.fHeight = SkScalarCeilToInt(maskRect.height()); 108 desc.fHeight = SkScalarCeilToInt(maskRect.height());
110 desc.fSampleCnt = doAA ? sampleCnt : 0; 109 desc.fSampleCnt = doAA ? sampleCnt : 0;
111 // We actually only need A8, but it often isn't supported as a 110 // We actually only need A8, but it often isn't supported as a
112 // render target so default to RGBA_8888 111 // render target so default to RGBA_8888
113 desc.fConfig = kRGBA_8888_GrPixelConfig; 112 desc.fConfig = kRGBA_8888_GrPixelConfig;
114 113
115 if (context->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, desc.fSample Cnt > 0)) { 114 if (context->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, desc.fSample Cnt > 0)) {
116 desc.fConfig = kAlpha_8_GrPixelConfig; 115 desc.fConfig = kAlpha_8_GrPixelConfig;
117 } 116 }
118 117
119 GrTexture* mask = context->textureProvider()->refScratchTexture( 118 GrTexture* mask = context->textureProvider()->createApproxTexture(desc);
120 desc, GrTextureProvider::kApprox_ScratchTexMatch);
121 if (NULL == mask) { 119 if (NULL == mask) {
122 return NULL; 120 return NULL;
123 } 121 }
124 122
125 SkRect clipRect = SkRect::MakeWH(maskRect.width(), maskRect.height()); 123 SkRect clipRect = SkRect::MakeWH(maskRect.width(), maskRect.height());
126 124
127 GrDrawContext* drawContext = context->drawContext(); 125 GrDrawContext* drawContext = context->drawContext();
128 if (!drawContext) { 126 if (!drawContext) {
129 return NULL; 127 return NULL;
130 } 128 }
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 SkPaint::kFill_Sty le; 286 SkPaint::kFill_Sty le;
289 draw_with_mask_filter(drawContext, context->textureProvider(), renderTar get, 287 draw_with_mask_filter(drawContext, context->textureProvider(), renderTar get,
290 clip, viewMatrix, *devPathPtr, 288 clip, viewMatrix, *devPathPtr,
291 paint.getMaskFilter(), clipBounds, &grPaint, style ); 289 paint.getMaskFilter(), clipBounds, &grPaint, style );
292 return; 290 return;
293 } 291 }
294 292
295 drawContext->drawPath(renderTarget, clip, grPaint, viewMatrix, *pathPtr, str okeInfo); 293 drawContext->drawPath(renderTarget, clip, grPaint, viewMatrix, *pathPtr, str okeInfo);
296 } 294 }
297 295
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698