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

Side by Side Diff: tests/ImageTest.cpp

Issue 2034933003: Store mipmap levels in deferred texture image (Closed) Base URL: https://skia.googlesource.com/skia.git@pipe-mipmap-levels-to-creation
Patch Set: Fixing Windows build. 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
« src/image/SkImage_Gpu.cpp ('K') | « src/image/SkImage_Gpu.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 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 <functional> 8 #include <functional>
9 #include <initializer_list> 9 #include <initializer_list>
10 #include "DMGpuSupport.h" 10 #include "DMGpuSupport.h"
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 856
857 857
858 for (auto testCase : testCases) { 858 for (auto testCase : testCases) {
859 sk_sp<SkImage> image(testCase.fImageFactory()); 859 sk_sp<SkImage> image(testCase.fImageFactory());
860 860
861 // This isn't currently used in the implementation, just set any old val ues. 861 // This isn't currently used in the implementation, just set any old val ues.
862 SkImage::DeferredTextureImageUsageParams params; 862 SkImage::DeferredTextureImageUsageParams params;
863 params.fQuality = kLow_SkFilterQuality; 863 params.fQuality = kLow_SkFilterQuality;
864 params.fMatrix = SkMatrix::I(); 864 params.fMatrix = SkMatrix::I();
865 865
866 size_t size = image->getDeferredTextureImageData(*proxy, &params, 1, nul lptr); 866 size_t size = image->getDeferredTextureImageData(*proxy, &params, 1, nul lptr,
867 SkSourceGammaTreatment: :kRespect);
867 868
868 static const char *const kFS[] = { "fail", "succeed" }; 869 static const char *const kFS[] = { "fail", "succeed" };
869 if (SkToBool(size) != testCase.fExpectation) { 870 if (SkToBool(size) != testCase.fExpectation) {
870 ERRORF(reporter, "This image was expected to %s but did not.", 871 ERRORF(reporter, "This image was expected to %s but did not.",
871 kFS[testCase.fExpectation]); 872 kFS[testCase.fExpectation]);
872 } 873 }
873 if (size) { 874 if (size) {
874 void* buffer = sk_malloc_throw(size); 875 void* buffer = sk_malloc_throw(size);
875 void* misaligned = reinterpret_cast<void*>(reinterpret_cast<intptr_t >(buffer) + 3); 876 void* misaligned = reinterpret_cast<void*>(reinterpret_cast<intptr_t >(buffer) + 3);
876 if (image->getDeferredTextureImageData(*proxy, &params, 1, misaligne d)) { 877 if (image->getDeferredTextureImageData(*proxy, &params, 1, misaligne d,
878 SkSourceGammaTreatment::kResp ect)) {
877 ERRORF(reporter, "Should fail when buffer is misaligned."); 879 ERRORF(reporter, "Should fail when buffer is misaligned.");
878 } 880 }
879 if (!image->getDeferredTextureImageData(*proxy, &params, 1, buffer)) { 881 if (!image->getDeferredTextureImageData(*proxy, &params, 1, buffer,
882 SkSourceGammaTreatment::kRes pect)) {
880 ERRORF(reporter, "deferred image size succeeded but creation fai led."); 883 ERRORF(reporter, "deferred image size succeeded but creation fai led.");
881 } else { 884 } else {
882 for (auto budgeted : { SkBudgeted::kNo, SkBudgeted::kYes }) { 885 for (auto budgeted : { SkBudgeted::kNo, SkBudgeted::kYes }) {
883 sk_sp<SkImage> newImage( 886 sk_sp<SkImage> newImage(
884 SkImage::MakeFromDeferredTextureImageData(context, buffe r, budgeted)); 887 SkImage::MakeFromDeferredTextureImageData(context, buffe r, budgeted));
885 REPORTER_ASSERT(reporter, newImage != nullptr); 888 REPORTER_ASSERT(reporter, newImage != nullptr);
886 if (newImage) { 889 if (newImage) {
887 check_images_same(reporter, image.get(), newImage.get()) ; 890 check_images_same(reporter, image.get(), newImage.get()) ;
888 } 891 }
889 // The other context should not be able to create images fro m texture data 892 // The other context should not be able to create images fro m texture data
890 // created by the original context. 893 // created by the original context.
891 sk_sp<SkImage> newImage2(SkImage::MakeFromDeferredTextureIma geData( 894 sk_sp<SkImage> newImage2(SkImage::MakeFromDeferredTextureIma geData(
892 otherContextInfo.grContext(), buffer, budgeted)); 895 otherContextInfo.grContext(), buffer, budgeted));
893 REPORTER_ASSERT(reporter, !newImage2); 896 REPORTER_ASSERT(reporter, !newImage2);
894 testContext->makeCurrent(); 897 testContext->makeCurrent();
895 } 898 }
896 } 899 }
897 sk_free(buffer); 900 sk_free(buffer);
898 } 901 }
899 } 902 }
900 } 903 }
901 #endif 904 #endif
OLDNEW
« src/image/SkImage_Gpu.cpp ('K') | « src/image/SkImage_Gpu.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698