/* * Copyright 2014 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "GrInvariantOutput.h" #ifdef SK_DEBUG void GrInvariantOutput::validate() const { if (fIsSingleComponent) { SkASSERT(0 == fValidFlags || kRGBA_GrColorComponentFlags == fValidFlags); if (kRGBA_GrColorComponentFlags == fValidFlags) { SkASSERT(this->colorComponentsAllEqual()); } } // If we claim that we are not using the input color we must not be modulating the input. SkASSERT(fNonMulStageFound || fWillUseInputColor); } bool GrInvariantOutput::colorComponentsAllEqual() const { unsigned colorA = GrColorUnpackA(fColor); return(GrColorUnpackR(fColor) == colorA && GrColorUnpackG(fColor) == colorA && GrColorUnpackB(fColor) == colorA); } #endif // end DEBUG