aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpu/effects/GrConstColorProcessor.fp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effects/GrConstColorProcessor.fp')
-rw-r--r--src/gpu/effects/GrConstColorProcessor.fp21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/gpu/effects/GrConstColorProcessor.fp b/src/gpu/effects/GrConstColorProcessor.fp
index adc1bb5808..fd45328f7c 100644
--- a/src/gpu/effects/GrConstColorProcessor.fp
+++ b/src/gpu/effects/GrConstColorProcessor.fp
@@ -13,7 +13,7 @@ enum class InputMode {
kLast = kModulateA
};
-layout(ctype=GrColor4f, tracked) in uniform half4 color;
+layout(ctype=SkPMColor4f, tracked) in uniform half4 color;
layout(key) in InputMode mode;
@optimizationFlags {
@@ -37,7 +37,7 @@ void main() {
@class {
static const int kInputModeCnt = (int) InputMode::kLast + 1;
- static OptimizationFlags OptFlags(GrColor4f color, InputMode mode) {
+ static OptimizationFlags OptFlags(const SkPMColor4f& color, InputMode mode) {
OptimizationFlags flags = kConstantOutputForConstantInput_OptimizationFlag;
if (mode != InputMode::kIgnore) {
flags |= kCompatibleWithCoverageAsAlpha_OptimizationFlag;
@@ -49,22 +49,21 @@ void main() {
}
SkPMColor4f constantOutputForConstantInput(const SkPMColor4f& input) const override {
- SkPMColor4f color = fColor.asRGBA4f<kPremul_SkAlphaType>();
switch (fMode) {
case InputMode::kIgnore:
- return color;
+ return fColor;
case InputMode::kModulateA:
- return color * input.fA;
+ return fColor * input.fA;
case InputMode::kModulateRGBA:
- return color * input;
+ return fColor * input;
}
SK_ABORT("Unexpected mode");
- return { 0, 0, 0, 0 };
+ return SK_PMColor4fTRANSPARENT;
}
}
@test(d) {
- GrColor4f color;
+ SkPMColor4f color;
int colorPicker = d->fRandom->nextULessThan(3);
switch (colorPicker) {
case 0: {
@@ -72,15 +71,15 @@ void main() {
uint32_t r = d->fRandom->nextULessThan(a+1);
uint32_t g = d->fRandom->nextULessThan(a+1);
uint32_t b = d->fRandom->nextULessThan(a+1);
- color = GrColor4f::FromGrColor(GrColorPackRGBA(r, g, b, a));
+ color = GrColorToPMColor4f(GrColorPackRGBA(r, g, b, a));
break;
}
case 1:
- color = GrColor4f::TransparentBlack();
+ color = SK_PMColor4fTRANSPARENT;
break;
case 2:
uint32_t c = d->fRandom->nextULessThan(0x100);
- color = GrColor4f::FromGrColor(c | (c << 8) | (c << 16) | (c << 24));
+ color = GrColorToPMColor4f(c | (c << 8) | (c << 16) | (c << 24));
break;
}
InputMode mode = static_cast<InputMode>(d->fRandom->nextULessThan(kInputModeCnt));