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

Side by Side Diff: src/effects/gradients/SkGradientShader.cpp

Issue 2365703002: It is possible to try and draw to an unsupported format. Let this go. (Closed)
Patch Set: Created 4 years, 3 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 | « no previous file | 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 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
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 "Sk4fLinearGradient.h" 8 #include "Sk4fLinearGradient.h"
9 #include "SkGradientShaderPriv.h" 9 #include "SkGradientShaderPriv.h"
10 #include "SkHalf.h" 10 #include "SkHalf.h"
(...skipping 1480 matching lines...) Expand 10 before | Expand all | Expand 10 after
1491 1491
1492 SkGradientShaderBase::GradientBitmapType bitmapType = 1492 SkGradientShaderBase::GradientBitmapType bitmapType =
1493 SkGradientShaderBase::GradientBitmapType::kLegacy; 1493 SkGradientShaderBase::GradientBitmapType::kLegacy;
1494 if (args.fGammaCorrect) { 1494 if (args.fGammaCorrect) {
1495 // Try to use F16 if we can 1495 // Try to use F16 if we can
1496 if (args.fContext->caps()->isConfigTexturable(kRGBA_half_GrPixel Config)) { 1496 if (args.fContext->caps()->isConfigTexturable(kRGBA_half_GrPixel Config)) {
1497 bitmapType = SkGradientShaderBase::GradientBitmapType::kHalf Float; 1497 bitmapType = SkGradientShaderBase::GradientBitmapType::kHalf Float;
1498 } else if (args.fContext->caps()->isConfigTexturable(kSRGBA_8888 _GrPixelConfig)) { 1498 } else if (args.fContext->caps()->isConfigTexturable(kSRGBA_8888 _GrPixelConfig)) {
1499 bitmapType = SkGradientShaderBase::GradientBitmapType::kSRGB ; 1499 bitmapType = SkGradientShaderBase::GradientBitmapType::kSRGB ;
1500 } else { 1500 } else {
1501 // This should never happen, but just fall back to legacy be havior 1501 // This can happen, but only if someone explicitly creates a n unsupported
1502 SkDEBUGFAIL("Requesting a gamma-correct gradient FP without F16 or sRGB"); 1502 // (eg sRGB) surface. Just fall back to legacy behavior.
1503 } 1503 }
1504 } 1504 }
1505 1505
1506 SkBitmap bitmap; 1506 SkBitmap bitmap;
1507 shader.getGradientTableBitmap(&bitmap, bitmapType); 1507 shader.getGradientTableBitmap(&bitmap, bitmapType);
1508 1508
1509 GrTextureStripAtlas::Desc desc; 1509 GrTextureStripAtlas::Desc desc;
1510 desc.fWidth = bitmap.width(); 1510 desc.fWidth = bitmap.width();
1511 desc.fHeight = 32; 1511 desc.fHeight = 32;
1512 desc.fRowHeight = bitmap.height(); 1512 desc.fRowHeight = bitmap.height();
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1614 (*stops)[i] = stop; 1614 (*stops)[i] = stop;
1615 stop = i < outColors - 1 ? stop + random->nextUScalar1() * (1.f - st op) : 1.f; 1615 stop = i < outColors - 1 ? stop + random->nextUScalar1() * (1.f - st op) : 1.f;
1616 } 1616 }
1617 } 1617 }
1618 *tm = static_cast<SkShader::TileMode>(random->nextULessThan(SkShader::kTileM odeCount)); 1618 *tm = static_cast<SkShader::TileMode>(random->nextULessThan(SkShader::kTileM odeCount));
1619 1619
1620 return outColors; 1620 return outColors;
1621 } 1621 }
1622 1622
1623 #endif 1623 #endif
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698