Lines Matching refs:user

27 void GrStencilSettings::reset(const GrUserStencilSettings& user, bool hasStencilClip,
29 uint16_t cwFlags = user.fCWFlags[hasStencilClip];
31 SkASSERT(cwFlags == user.fCCWFlags[hasStencilClip]);
34 fCWFace.reset(user.fCWFace, hasStencilClip, numStencilBits);
39 uint16_t ccwFlags = user.fCCWFlags[hasStencilClip];
45 fCWFace.reset(user.fCWFace, hasStencilClip, numStencilBits);
50 fCCWFace.reset(user.fCCWFace, hasStencilClip, numStencilBits);
138 // Ops that only modify user bits.
152 // Ops that modify clip and user bits.
171 void GrStencilSettings::Face::reset(const GrUserStencilSettings::Face& user, bool hasStencilClip,
173 SkASSERT(user.fTest < (GrUserStencilTest)kGrUserStencilTestCount);
174 SkASSERT(user.fPassOp < (GrUserStencilOp)kGrUserStencilOpCount);
175 SkASSERT(user.fFailOp < (GrUserStencilOp)kGrUserStencilOpCount);
180 GrUserStencilOp maxOp = std::max(user.fPassOp, user.fFailOp);
181 SkDEBUGCODE(GrUserStencilOp otherOp = std::min(user.fPassOp, user.fFailOp);)
183 // Ops that only modify user bits.
184 fWriteMask = user.fWriteMask & userMask;
192 // Ops that modify both clip and user bits.
193 fWriteMask = clipBit | (user.fWriteMask & userMask);
197 fFailOp = gUserStencilOpToRaw[(int)user.fFailOp];
198 fPassOp = gUserStencilOpToRaw[(int)user.fPassOp];
200 if (!hasStencilClip || user.fTest > kLastClippedStencilTest) {
202 fTestMask = user.fTestMask & userMask;
203 fTest = gUserStencilTestToRaw[(int)user.fTest];
204 } else if (GrUserStencilTest::kAlwaysIfInClip != user.fTest) {
206 fTestMask = clipBit | (user.fTestMask & userMask);
207 fTest = gUserStencilTestToRaw[(int)user.fTest];
214 fRef = (clipBit | user.fRef) & (fTestMask | fWriteMask);