| /* | 
 |  * 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 | 
 |  |