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

Unified Diff: tests/SRGBReadWritePixelsTest.cpp

Issue 1225923010: Refugee from Dead Machine 4: MDB Monster Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Last update from dead machine Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/ResourceCacheTest.cpp ('k') | tests/SurfaceTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/SRGBReadWritePixelsTest.cpp
diff --git a/tests/SRGBReadWritePixelsTest.cpp b/tests/SRGBReadWritePixelsTest.cpp
index 7e0b721246cd7e6dee3311049b5dd04a9d04b7bf..01d88f9902ef8a3f482a0160698c97061c08c3cb 100644
--- a/tests/SRGBReadWritePixelsTest.cpp
+++ b/tests/SRGBReadWritePixelsTest.cpp
@@ -12,6 +12,7 @@
#include "SkSurface.h"
#include "GrContextFactory.h"
#include "GrCaps.h"
+#include "GrDrawContext.h"
// using anonymous namespace because these functions are used as template params.
namespace {
@@ -137,6 +138,8 @@ void read_and_check_pixels(skiatest::Reporter* reporter, GrTexture* texture, uin
}
}
+#include "GrDrawTarget.h"
+
// TODO: Add tests for copySurface between srgb/linear textures. Add tests for unpremul/premul
// conversion during read/write along with srgb/linear conversions.
DEF_GPUTEST(SRGBReadWritePixels, reporter, factory) {
@@ -175,11 +178,16 @@ DEF_GPUTEST(SRGBReadWritePixels, reporter, factory) {
ERRORF(reporter, "Could not create SRGBA texture.");
continue;
}
+ SkAutoTUnref<GrDrawContext> dc(context->drawContext(tex->asRenderTarget()));
+ if (!dc) {
+ ERRORF(reporter, "Could not create SRGBA texture.");
+ continue;
+ }
float error = context->caps()->shaderCaps()->floatPrecisionVaries() ? 1.2f : 0.5f;
// Write srgba data and read as srgba and then as rgba
- if (tex->writePixels(0, 0, kW, kH, kSRGBA_8888_GrPixelConfig, origData)) {
+ if (tex->writePixels(dc, 0, 0, kW, kH, kSRGBA_8888_GrPixelConfig, origData)) {
// For the all-srgba case, we allow a small error only for devices that have
// precision variation because the srgba data gets converted to linear and back in
// the shader.
@@ -196,7 +204,7 @@ DEF_GPUTEST(SRGBReadWritePixels, reporter, factory) {
}
// Now verify that we can write linear data
- if (tex->writePixels(0, 0, kW, kH, kRGBA_8888_GrPixelConfig, origData)) {
+ if (tex->writePixels(dc, 0, 0, kW, kH, kRGBA_8888_GrPixelConfig, origData)) {
// We allow more error on GPUs with lower precision shader variables.
read_and_check_pixels(reporter, tex, origData, kSRGBA_8888_GrPixelConfig,
check_linear_to_srgb_conversion, error,
@@ -214,9 +222,14 @@ DEF_GPUTEST(SRGBReadWritePixels, reporter, factory) {
ERRORF(reporter, "Could not create RGBA texture.");
continue;
}
+ dc.reset(context->drawContext(tex->asRenderTarget()));
+ if (!dc) {
+ ERRORF(reporter, "Could not create SRGBA texture.");
+ continue;
+ }
// Write srgba data to a rgba texture and read back as srgba and rgba
- if (tex->writePixels(0, 0, kW, kH, kSRGBA_8888_GrPixelConfig, origData)) {
+ if (tex->writePixels(dc, 0, 0, kW, kH, kSRGBA_8888_GrPixelConfig, origData)) {
read_and_check_pixels(reporter, tex, origData, kSRGBA_8888_GrPixelConfig,
check_srgb_to_linear_to_srgb_conversion, error,
"write/read srgba to rgba texture");
@@ -228,7 +241,7 @@ DEF_GPUTEST(SRGBReadWritePixels, reporter, factory) {
}
// Write rgba data to a rgba texture and read back as srgba
- if (tex->writePixels(0, 0, kW, kH, kRGBA_8888_GrPixelConfig, origData)) {
+ if (tex->writePixels(dc, 0, 0, kW, kH, kRGBA_8888_GrPixelConfig, origData)) {
read_and_check_pixels(reporter, tex, origData, kSRGBA_8888_GrPixelConfig,
check_linear_to_srgb_conversion, 1.2f,
"write rgba/read srgba to rgba texture");
« no previous file with comments | « tests/ResourceCacheTest.cpp ('k') | tests/SurfaceTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698