OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2010 Google Inc. | 2 * Copyright 2010 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 | 8 |
9 #include "GrGpu.h" | 9 #include "GrGpu.h" |
10 | 10 |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
270 ReadPixelTempDrawInfo* tempDrawInfo) { | 270 ReadPixelTempDrawInfo* tempDrawInfo) { |
271 SkASSERT(drawPreference); | 271 SkASSERT(drawPreference); |
272 SkASSERT(tempDrawInfo); | 272 SkASSERT(tempDrawInfo); |
273 SkASSERT(kGpuPrefersDraw_DrawPreference != *drawPreference); | 273 SkASSERT(kGpuPrefersDraw_DrawPreference != *drawPreference); |
274 | 274 |
275 // We currently do not support reading into a compressed buffer | 275 // We currently do not support reading into a compressed buffer |
276 if (GrPixelConfigIsCompressed(readConfig)) { | 276 if (GrPixelConfigIsCompressed(readConfig)) { |
277 return false; | 277 return false; |
278 } | 278 } |
279 | 279 |
280 // We currently do not support reading into the pack formats 565 or 4444 as they are not | |
281 // required to be renderable formats on all backends. | |
bsalomon
2016/08/15 16:24:08
I don't know that the fundamental problem is rende
egdaniel
2016/08/15 17:03:01
Done.
| |
282 if (kRGB_565_GrPixelConfig == readConfig || kRGBA_4444_GrPixelConfig == read Config) { | |
283 return false; | |
284 } | |
285 | |
280 if (!this->onGetReadPixelsInfo(srcSurface, width, height, rowBytes, readConf ig, drawPreference, | 286 if (!this->onGetReadPixelsInfo(srcSurface, width, height, rowBytes, readConf ig, drawPreference, |
281 tempDrawInfo)) { | 287 tempDrawInfo)) { |
282 return false; | 288 return false; |
283 } | 289 } |
284 | 290 |
285 // Check to see if we're going to request that the caller draw when drawing is not possible. | 291 // Check to see if we're going to request that the caller draw when drawing is not possible. |
286 if (!srcSurface->asTexture() || | 292 if (!srcSurface->asTexture() || |
287 !this->caps()->isConfigRenderable(tempDrawInfo->fTempSurfaceDesc.fConfig , false)) { | 293 !this->caps()->isConfigRenderable(tempDrawInfo->fTempSurfaceDesc.fConfig , false)) { |
288 // If we don't have a fallback to a straight read then fail. | 294 // If we don't have a fallback to a straight read then fail. |
289 if (kRequireDraw_DrawPreference == *drawPreference) { | 295 if (kRequireDraw_DrawPreference == *drawPreference) { |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
483 // This doesn't have geometric meaning. We just need to define an orderi ng for std::map. | 489 // This doesn't have geometric meaning. We just need to define an orderi ng for std::map. |
484 if (a[i].x() != b[i].x()) { | 490 if (a[i].x() != b[i].x()) { |
485 return a[i].x() < b[i].x(); | 491 return a[i].x() < b[i].x(); |
486 } | 492 } |
487 if (a[i].y() != b[i].y()) { | 493 if (a[i].y() != b[i].y()) { |
488 return a[i].y() < b[i].y(); | 494 return a[i].y() < b[i].y(); |
489 } | 495 } |
490 } | 496 } |
491 return false; // Equal. | 497 return false; // Equal. |
492 } | 498 } |
OLD | NEW |