OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 #ifndef GrProcOptInfo_DEFINED | 8 #ifndef GrProcOptInfo_DEFINED |
9 #define GrProcOptInfo_DEFINED | 9 #define GrProcOptInfo_DEFINED |
10 | 10 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 bool isSingleComponent() const { return fInOut.isSingleComponent(); } | 47 bool isSingleComponent() const { return fInOut.isSingleComponent(); } |
48 bool allStagesMultiplyInput() const { return fInOut.allStagesMulInput(); } | 48 bool allStagesMultiplyInput() const { return fInOut.allStagesMulInput(); } |
49 | 49 |
50 // TODO: Once texture pixel configs quaries are updated, we no longer need t
his function. | 50 // TODO: Once texture pixel configs quaries are updated, we no longer need t
his function. |
51 // For now this function will correctly tell us if we are using LCD text or
not and should only | 51 // For now this function will correctly tell us if we are using LCD text or
not and should only |
52 // be called when looking at the coverage output. | 52 // be called when looking at the coverage output. |
53 bool isFourChannelOutput() const { return !fInOut.isSingleComponent() && | 53 bool isFourChannelOutput() const { return !fInOut.isSingleComponent() && |
54 fInOut.isLCDCoverage(); } | 54 fInOut.isLCDCoverage(); } |
55 | 55 |
56 GrColor color() const { return fInOut.color(); } | 56 GrColor color() const { return fInOut.color(); } |
57 uint8_t validFlags() const { return fInOut.validFlags(); } | 57 |
| 58 GrColorComponentFlags validFlags() const { |
| 59 return static_cast<GrColorComponentFlags>(fInOut.validFlags()); |
| 60 } |
58 | 61 |
59 /** | 62 /** |
60 * Returns the index of the first effective color stage. If an intermediate
stage doesn't read | 63 * Returns the index of the first effective color stage. If an intermediate
stage doesn't read |
61 * its input or has a known output, then we can ignore all earlier stages si
nce they will not | 64 * its input or has a known output, then we can ignore all earlier stages si
nce they will not |
62 * affect the final output. Thus the first effective stage index is the inde
x to the first stage | 65 * affect the final output. Thus the first effective stage index is the inde
x to the first stage |
63 * that will have an effect on the final output. | 66 * that will have an effect on the final output. |
64 * | 67 * |
65 * If stages before the firstEffectiveStageIndex are removed, corresponding
values from | 68 * If stages before the firstEffectiveStageIndex are removed, corresponding
values from |
66 * inputColorIsUsed(), inputColorToEffectiveStage(), removeVertexAttribs(),
and readsDst() must | 69 * inputColorIsUsed(), inputColorToEffectiveStage(), removeVertexAttribs(),
and readsDst() must |
67 * be used when setting up the draw to ensure correct drawing. | 70 * be used when setting up the draw to ensure correct drawing. |
(...skipping 20 matching lines...) Expand all Loading... |
88 void internalCalc(const GrFragmentStage*, int stagecount, bool initWillReadF
ragPosition); | 91 void internalCalc(const GrFragmentStage*, int stagecount, bool initWillReadF
ragPosition); |
89 | 92 |
90 GrInvariantOutput fInOut; | 93 GrInvariantOutput fInOut; |
91 int fFirstEffectStageIndex; | 94 int fFirstEffectStageIndex; |
92 bool fInputColorIsUsed; | 95 bool fInputColorIsUsed; |
93 GrColor fInputColor; | 96 GrColor fInputColor; |
94 bool fReadsFragPosition; | 97 bool fReadsFragPosition; |
95 }; | 98 }; |
96 | 99 |
97 #endif | 100 #endif |
OLD | NEW |