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

Side by Side Diff: gm/yuvtorgbeffect.cpp

Issue 2086293006: Move GrPipelineBuilder out of gms & reduce use of GrPipelineBuilder.h (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: update to ToT Created 4 years, 6 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
« no previous file with comments | « gm/texturedomaineffect.cpp ('k') | src/gpu/GrClipMaskManager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 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 // This test only works with the GPU backend. 8 // This test only works with the GPU backend.
9 9
10 #include "gm.h" 10 #include "gm.h"
11 11
12 #if SK_SUPPORT_GPU 12 #if SK_SUPPORT_GPU
13 13
14 #include "GrContext.h" 14 #include "GrContext.h"
15 #include "GrDrawContextPriv.h" 15 #include "GrDrawContextPriv.h"
16 #include "GrPipelineBuilder.h"
17 #include "SkBitmap.h" 16 #include "SkBitmap.h"
18 #include "SkGr.h" 17 #include "SkGr.h"
19 #include "SkGradientShader.h" 18 #include "SkGradientShader.h"
20 #include "batches/GrDrawBatch.h" 19 #include "batches/GrDrawBatch.h"
21 #include "batches/GrRectBatchFactory.h" 20 #include "batches/GrRectBatchFactory.h"
22 #include "effects/GrYUVEffect.h" 21 #include "effects/GrYUVEffect.h"
23 22
24 #define YSIZE 8 23 #define YSIZE 8
25 #define USIZE 4 24 #define USIZE 4
26 #define VSIZE 4 25 #define VSIZE 4
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 SkIntToScalar(fBmp[0].height())); 105 SkIntToScalar(fBmp[0].height()));
107 renderRect.outset(kDrawPad, kDrawPad); 106 renderRect.outset(kDrawPad, kDrawPad);
108 107
109 SkScalar y = kDrawPad + kTestPad + space * kColorSpaceOffset; 108 SkScalar y = kDrawPad + kTestPad + space * kColorSpaceOffset;
110 SkScalar x = kDrawPad + kTestPad; 109 SkScalar x = kDrawPad + kTestPad;
111 110
112 const int indices[6][3] = {{0, 1, 2}, {0, 2, 1}, {1, 0, 2}, 111 const int indices[6][3] = {{0, 1, 2}, {0, 2, 1}, {1, 0, 2},
113 {1, 2, 0}, {2, 0, 1}, {2, 1, 0}}; 112 {1, 2, 0}, {2, 0, 1}, {2, 1, 0}};
114 113
115 for (int i = 0; i < 6; ++i) { 114 for (int i = 0; i < 6; ++i) {
116 GrPipelineBuilder pipelineBuilder; 115 GrPaint grPaint;
117 pipelineBuilder.setXPFactory(GrPorterDuffXPFactory::Make(SkXferm ode::kSrc_Mode)); 116 grPaint.setXPFactory(GrPorterDuffXPFactory::Make(SkXfermode::kSr c_Mode));
118 sk_sp<GrFragmentProcessor> fp(GrYUVEffect::MakeYUVToRGB( 117 sk_sp<GrFragmentProcessor> fp(GrYUVEffect::MakeYUVToRGB(
119 texture[indices[i][0]], texture[indices[i][1]], texture[indi ces[i][2]], sizes, 118 texture[indices[i][0]], texture[indices[i][1]], texture[indi ces[i][2]], sizes,
120 static_cast<SkYUVColorSpace>(space), false)); 119 static_cast<SkYUVColorSpace>(space), false));
121 if (fp) { 120 if (fp) {
122 SkMatrix viewMatrix; 121 SkMatrix viewMatrix;
123 viewMatrix.setTranslate(x, y); 122 viewMatrix.setTranslate(x, y);
124 pipelineBuilder.addColorFragmentProcessor(std::move(fp)); 123 grPaint.addColorFragmentProcessor(std::move(fp));
125 SkAutoTUnref<GrDrawBatch> batch( 124 SkAutoTUnref<GrDrawBatch> batch(
126 GrRectBatchFactory::CreateNonAAFill(GrColor_WHITE, v iewMatrix, 125 GrRectBatchFactory::CreateNonAAFill(GrColor_WHITE, v iewMatrix,
127 renderRect, null ptr, nullptr)); 126 renderRect, null ptr, nullptr));
128 drawContext->drawContextPriv().testingOnly_drawBatch(pipelin eBuilder, batch); 127 drawContext->drawContextPriv().testingOnly_drawBatch(grPaint , batch);
129 } 128 }
130 x += renderRect.width() + kTestPad; 129 x += renderRect.width() + kTestPad;
131 } 130 }
132 } 131 }
133 } 132 }
134 133
135 private: 134 private:
136 SkBitmap fBmp[3]; 135 SkBitmap fBmp[3];
137 136
138 typedef GM INHERITED; 137 typedef GM INHERITED;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 SkISize sizes[3] = {{YSIZE, YSIZE}, {USIZE, USIZE}, {VSIZE, VSIZE}}; 217 SkISize sizes[3] = {{YSIZE, YSIZE}, {USIZE, USIZE}, {VSIZE, VSIZE}};
219 218
220 for (int space = kJPEG_SkYUVColorSpace; space <= kLastEnum_SkYUVColorSpa ce; ++space) { 219 for (int space = kJPEG_SkYUVColorSpace; space <= kLastEnum_SkYUVColorSpa ce; ++space) {
221 SkRect renderRect = 220 SkRect renderRect =
222 SkRect::MakeWH(SkIntToScalar(fBmp[0].width()), SkIntToScalar(fBm p[0].height())); 221 SkRect::MakeWH(SkIntToScalar(fBmp[0].width()), SkIntToScalar(fBm p[0].height()));
223 renderRect.outset(kDrawPad, kDrawPad); 222 renderRect.outset(kDrawPad, kDrawPad);
224 223
225 SkScalar y = kDrawPad + kTestPad + space * kColorSpaceOffset; 224 SkScalar y = kDrawPad + kTestPad + space * kColorSpaceOffset;
226 SkScalar x = kDrawPad + kTestPad; 225 SkScalar x = kDrawPad + kTestPad;
227 226
228 GrPipelineBuilder pipelineBuilder; 227 GrPaint grPaint;
229 pipelineBuilder.setXPFactory(GrPorterDuffXPFactory::Make(SkXfermode: :kSrc_Mode)); 228 grPaint.setXPFactory(GrPorterDuffXPFactory::Make(SkXfermode::kSrc_Mo de));
230 sk_sp<GrFragmentProcessor> fp( 229 sk_sp<GrFragmentProcessor> fp(
231 GrYUVEffect::MakeYUVToRGB(texture[0], texture[1], texture[2], si zes, 230 GrYUVEffect::MakeYUVToRGB(texture[0], texture[1], texture[2], si zes,
232 static_cast<SkYUVColorSpace>(space), t rue)); 231 static_cast<SkYUVColorSpace>(space), t rue));
233 if (fp) { 232 if (fp) {
234 SkMatrix viewMatrix; 233 SkMatrix viewMatrix;
235 viewMatrix.setTranslate(x, y); 234 viewMatrix.setTranslate(x, y);
236 pipelineBuilder.addColorFragmentProcessor(fp); 235 grPaint.addColorFragmentProcessor(fp);
237 SkAutoTUnref<GrDrawBatch> batch(GrRectBatchFactory::CreateNonAAF ill( 236 SkAutoTUnref<GrDrawBatch> batch(GrRectBatchFactory::CreateNonAAF ill(
238 GrColor_WHITE, viewMatrix, renderRect, nullptr, nullptr)); 237 GrColor_WHITE, viewMatrix, renderRect, nullptr, nullptr));
239 drawContext->drawContextPriv().testingOnly_drawBatch(pipelineBui lder, batch); 238 drawContext->drawContextPriv().testingOnly_drawBatch(grPaint, ba tch);
240 } 239 }
241 } 240 }
242 } 241 }
243 242
244 private: 243 private:
245 SkBitmap fBmp[2]; 244 SkBitmap fBmp[2];
246 245
247 typedef GM INHERITED; 246 typedef GM INHERITED;
248 }; 247 };
249 248
250 DEF_GM(return new YUVNV12toRGBEffect;) 249 DEF_GM(return new YUVNV12toRGBEffect;)
251 } 250 }
252 251
253 #endif 252 #endif
OLDNEW
« no previous file with comments | « gm/texturedomaineffect.cpp ('k') | src/gpu/GrClipMaskManager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698