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

Side by Side Diff: tools/skiaserve/Request.cpp

Issue 1902143002: Adding support for controlling the global sRGB SkColor switch. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 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 unified diff | Download patch
« no previous file with comments | « tools/skiaserve/Request.h ('k') | tools/skiaserve/skiaserve.cpp » ('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 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 "Request.h" 8 #include "Request.h"
9 9
10 #include "SkPictureRecorder.h" 10 #include "SkPictureRecorder.h"
11 #include "SkPixelSerializer.h" 11 #include "SkPixelSerializer.h"
12 #include "SkPM4fPriv.h"
12 #include "picture_utils.h" 13 #include "picture_utils.h"
13 14
14 using namespace sk_gpu_test; 15 using namespace sk_gpu_test;
15 16
16 static int kDefaultWidth = 1920; 17 static int kDefaultWidth = 1920;
17 static int kDefaultHeight = 1080; 18 static int kDefaultHeight = 1080;
18 19
19 20
20 Request::Request(SkString rootUrl) 21 Request::Request(SkString rootUrl)
21 : fUploadContext(nullptr) 22 : fUploadContext(nullptr)
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 SkSurface* surface = SkSurface::MakeRenderTarget(context, SkBudgeted::kNo, i nfo, 0, 180 SkSurface* surface = SkSurface::MakeRenderTarget(context, SkBudgeted::kNo, i nfo, 0,
180 &props).release(); 181 &props).release();
181 return surface; 182 return surface;
182 } 183 }
183 184
184 bool Request::setColorMode(int mode) { 185 bool Request::setColorMode(int mode) {
185 fColorMode = mode; 186 fColorMode = mode;
186 return enableGPU(fGPUEnabled); 187 return enableGPU(fGPUEnabled);
187 } 188 }
188 189
190 bool Request::setSRGBMode(bool enable) {
191 gTreatSkColorAsSRGB = enable;
192 return true;
193 }
194
189 bool Request::enableGPU(bool enable) { 195 bool Request::enableGPU(bool enable) {
190 if (enable) { 196 if (enable) {
191 SkSurface* surface = this->createGPUSurface(); 197 SkSurface* surface = this->createGPUSurface();
192 if (surface) { 198 if (surface) {
193 fSurface.reset(surface); 199 fSurface.reset(surface);
194 fGPUEnabled = true; 200 fGPUEnabled = true;
195 201
196 // When we switch to GPU, there seems to be some mystery draws in th e canvas. So we 202 // When we switch to GPU, there seems to be some mystery draws in th e canvas. So we
197 // draw once to flush the pipe 203 // draw once to flush the pipe
198 // TODO understand what is actually happening here 204 // TODO understand what is actually happening here
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 this->getCanvas()->flush(); 237 this->getCanvas()->flush();
232 return true; 238 return true;
233 } 239 }
234 240
235 SkData* Request::getJsonOps(int n) { 241 SkData* Request::getJsonOps(int n) {
236 SkCanvas* canvas = this->getCanvas(); 242 SkCanvas* canvas = this->getCanvas();
237 Json::Value root = fDebugCanvas->toJSON(fUrlDataManager, n, canvas); 243 Json::Value root = fDebugCanvas->toJSON(fUrlDataManager, n, canvas);
238 root["mode"] = Json::Value(fGPUEnabled ? "gpu" : "cpu"); 244 root["mode"] = Json::Value(fGPUEnabled ? "gpu" : "cpu");
239 root["drawGpuBatchBounds"] = Json::Value(fDebugCanvas->getDrawGpuBatchBounds ()); 245 root["drawGpuBatchBounds"] = Json::Value(fDebugCanvas->getDrawGpuBatchBounds ());
240 root["colorMode"] = Json::Value(fColorMode); 246 root["colorMode"] = Json::Value(fColorMode);
247 root["srgbMode"] = Json::Value(gTreatSkColorAsSRGB);
241 SkDynamicMemoryWStream stream; 248 SkDynamicMemoryWStream stream;
242 stream.writeText(Json::FastWriter().write(root).c_str()); 249 stream.writeText(Json::FastWriter().write(root).c_str());
243 250
244 return stream.copyToData(); 251 return stream.copyToData();
245 } 252 }
246 253
247 SkData* Request::getJsonBatchList(int n) { 254 SkData* Request::getJsonBatchList(int n) {
248 SkCanvas* canvas = this->getCanvas(); 255 SkCanvas* canvas = this->getCanvas();
249 SkASSERT(fGPUEnabled); 256 SkASSERT(fGPUEnabled);
250 257
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 SkASSERT(bitmap); 291 SkASSERT(bitmap);
285 292
286 // Convert to format suitable for inspection 293 // Convert to format suitable for inspection
287 sk_sp<SkData> encodedBitmap = sk_tools::encode_bitmap_for_png(*bitmap); 294 sk_sp<SkData> encodedBitmap = sk_tools::encode_bitmap_for_png(*bitmap);
288 SkASSERT(encodedBitmap.get()); 295 SkASSERT(encodedBitmap.get());
289 296
290 const uint8_t* start = encodedBitmap->bytes() + ((y * bitmap->width() + x) * 4); 297 const uint8_t* start = encodedBitmap->bytes() + ((y * bitmap->width() + x) * 4);
291 SkColor result = SkColorSetARGB(start[3], start[0], start[1], start[2]); 298 SkColor result = SkColorSetARGB(start[3], start[0], start[1], start[2]);
292 return result; 299 return result;
293 } 300 }
OLDNEW
« no previous file with comments | « tools/skiaserve/Request.h ('k') | tools/skiaserve/skiaserve.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698