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

Side by Side Diff: tests/SpecialImageTest.cpp

Issue 2163343002: Adding color space to SkSpecialImage (Closed) Base URL: https://skia.googlesource.com/skia.git@colorspace-on-image
Patch Set: Fix compile after rebase Created 4 years, 5 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 | « tests/ImageFilterCacheTest.cpp ('k') | no next file » | 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 2016 Google Inc. 2 * Copyright 2016 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 "SkAutoPixmapStorage.h" 8 #include "SkAutoPixmapStorage.h"
9 #include "SkBitmap.h" 9 #include "SkBitmap.h"
10 #include "SkCanvas.h" 10 #include "SkCanvas.h"
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 #if SK_SUPPORT_GPU 180 #if SK_SUPPORT_GPU
181 181
182 static void test_texture_backed(skiatest::Reporter* reporter, 182 static void test_texture_backed(skiatest::Reporter* reporter,
183 const sk_sp<SkSpecialImage>& orig, 183 const sk_sp<SkSpecialImage>& orig,
184 const sk_sp<SkSpecialImage>& gpuBacked) { 184 const sk_sp<SkSpecialImage>& gpuBacked) {
185 REPORTER_ASSERT(reporter, gpuBacked); 185 REPORTER_ASSERT(reporter, gpuBacked);
186 REPORTER_ASSERT(reporter, gpuBacked->isTextureBacked()); 186 REPORTER_ASSERT(reporter, gpuBacked->isTextureBacked());
187 REPORTER_ASSERT(reporter, gpuBacked->uniqueID() == orig->uniqueID()); 187 REPORTER_ASSERT(reporter, gpuBacked->uniqueID() == orig->uniqueID());
188 REPORTER_ASSERT(reporter, gpuBacked->subset().width() == orig->subset().widt h() && 188 REPORTER_ASSERT(reporter, gpuBacked->subset().width() == orig->subset().widt h() &&
189 gpuBacked->subset().height() == orig->subset().hei ght()); 189 gpuBacked->subset().height() == orig->subset().hei ght());
190 REPORTER_ASSERT(reporter, gpuBacked->getColorSpace() == orig->getColorSpace( ));
190 } 191 }
191 192
192 // Test out the SkSpecialImage::makeTextureImage entry point 193 // Test out the SkSpecialImage::makeTextureImage entry point
193 DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SpecialImage_MakeTexture, reporter, ctxInfo) { 194 DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SpecialImage_MakeTexture, reporter, ctxInfo) {
194 GrContext* context = ctxInfo.grContext(); 195 GrContext* context = ctxInfo.grContext();
195 SkBitmap bm = create_bm(); 196 SkBitmap bm = create_bm();
196 197
197 const SkIRect& subset = SkIRect::MakeXYWH(kPad, kPad, kSmallerSize, kSmaller Size); 198 const SkIRect& subset = SkIRect::MakeXYWH(kPad, kPad, kSmallerSize, kSmaller Size);
198 199
199 { 200 {
(...skipping 29 matching lines...) Expand all
229 bm.ge tPixels(), 230 bm.ge tPixels(),
230 0)); 231 0));
231 if (!texture) { 232 if (!texture) {
232 return; 233 return;
233 } 234 }
234 235
235 sk_sp<SkSpecialImage> gpuImage(SkSpecialImage::MakeFromGpu( 236 sk_sp<SkSpecialImage> gpuImage(SkSpecialImage::MakeFromGpu(
236 SkIRect::MakeWH( kFullSize, 237 SkIRect::MakeWH( kFullSize,
237 kFullSize), 238 kFullSize),
238 kNeedNewImageUni queID_SpecialImage, 239 kNeedNewImageUni queID_SpecialImage,
239 std::move(textur e))); 240 std::move(textur e), nullptr));
240 241
241 { 242 {
242 sk_sp<SkSpecialImage> fromGPU(gpuImage->makeTextureImage(context)); 243 sk_sp<SkSpecialImage> fromGPU(gpuImage->makeTextureImage(context));
243 test_texture_backed(reporter, gpuImage, fromGPU); 244 test_texture_backed(reporter, gpuImage, fromGPU);
244 } 245 }
245 246
246 { 247 {
247 sk_sp<SkSpecialImage> subGPUImage(gpuImage->makeSubset(subset)); 248 sk_sp<SkSpecialImage> subGPUImage(gpuImage->makeSubset(subset));
248 249
249 sk_sp<SkSpecialImage> fromSubGPU(subGPUImage->makeTextureImage(conte xt)); 250 sk_sp<SkSpecialImage> fromSubGPU(subGPUImage->makeTextureImage(conte xt));
(...skipping 15 matching lines...) Expand all
265 sk_sp<GrTexture> texture(context->textureProvider()->createTexture(desc, 266 sk_sp<GrTexture> texture(context->textureProvider()->createTexture(desc,
266 SkBudgete d::kNo, 267 SkBudgete d::kNo,
267 bm.getPix els(), 0)); 268 bm.getPix els(), 0));
268 if (!texture) { 269 if (!texture) {
269 return; 270 return;
270 } 271 }
271 272
272 sk_sp<SkSpecialImage> fullSImg(SkSpecialImage::MakeFromGpu( 273 sk_sp<SkSpecialImage> fullSImg(SkSpecialImage::MakeFromGpu(
273 SkIRect::MakeWH(kFul lSize, kFullSize), 274 SkIRect::MakeWH(kFul lSize, kFullSize),
274 kNeedNewImageUniqueI D_SpecialImage, 275 kNeedNewImageUniqueI D_SpecialImage,
275 texture)); 276 texture, nullptr));
276 277
277 const SkIRect& subset = SkIRect::MakeXYWH(kPad, kPad, kSmallerSize, kSmaller Size); 278 const SkIRect& subset = SkIRect::MakeXYWH(kPad, kPad, kSmallerSize, kSmaller Size);
278 279
279 { 280 {
280 sk_sp<SkSpecialImage> subSImg1(SkSpecialImage::MakeFromGpu( 281 sk_sp<SkSpecialImage> subSImg1(SkSpecialImage::MakeFromGpu(
281 subset, 282 subset,
282 kNeedNewImageUniq ueID_SpecialImage, 283 kNeedNewImageUniq ueID_SpecialImage,
283 texture)); 284 texture, nullptr) );
284 test_image(subSImg1, reporter, context, true, kPad, kFullSize); 285 test_image(subSImg1, reporter, context, true, kPad, kFullSize);
285 } 286 }
286 287
287 { 288 {
288 sk_sp<SkSpecialImage> subSImg2(fullSImg->makeSubset(subset)); 289 sk_sp<SkSpecialImage> subSImg2(fullSImg->makeSubset(subset));
289 test_image(subSImg2, reporter, context, true, kPad, kFullSize); 290 test_image(subSImg2, reporter, context, true, kPad, kFullSize);
290 } 291 }
291 } 292 }
292 293
293 #endif 294 #endif
OLDNEW
« no previous file with comments | « tests/ImageFilterCacheTest.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698