Lines Matching defs:quad
454 // The clip was folded into the device quad, with updated edge flags and local coords, and
457 // No change to clip, but quad updated to better fit clip/render target, and caller is
463 const GrClip* clip, const GrUserStencilSettings* stencilSettings, GrAA* aa, DrawQuad* quad,
466 // 1. kDiscard applies when clip bounds and quad bounds do not intersect
468 // pixel aligned rect requires rect clip and (rect quad or quad covers clip) OR
469 // 2b. kSubmitted applies when constColor and rrect clip and quad covers clip
470 // 4. kClipApplied applies when rect clip and (rect quad or quad covers clip)
480 // Save the old AA flags since CropToRect will modify 'quad' and if kCropped is returned, it's
482 GrQuadAAFlags oldFlags = quad->fEdgeFlags;
491 SkRect drawBounds = quad->fDevice.bounds();
492 if (!quad->fDevice.isFinite() || drawBounds.isEmpty() ||
495 } else if (GrQuadUtils::WillUseHairline(quad->fDevice, GrAAType::kCoverage, quad->fEdgeFlags)) {
503 // Crop the quad to the render target. This doesn't change the visual results of drawing but
506 GrQuadUtils::CropToRect(rtRect, *aa, quad, /* compute local */ !constColor);
556 if (GrQuadUtils::CropToRect(clippedBounds, result.fAA, quad,
558 if (simpleColor && quad->fDevice.quadType() == GrQuad::Type::kAxisAligned) {
560 drawBounds = quad->fDevice.bounds();
577 quad->fEdgeFlags != GrQuadAAFlags::kNone) {
585 // deviceQuad is exactly the intersection of original quad and clip, so it can be
593 if (GrQuadUtils::CropToRect(clippedBounds, result.fAA, quad,
595 quad->fDevice.quadType() == GrQuad::Type::kAxisAligned &&
596 quad->fDevice.bounds().contains(clippedBounds)) {
597 // Since the cropped quad became a rectangle which covered the bounds of the rrect,
607 quad->fEdgeFlags = oldFlags;
614 DrawQuad* quad,
623 QuadOptimization opt = this->attemptQuadOptimization(clip, ss, &aa, quad, &paint);
639 quad, ss));
684 DrawQuad quad{GrQuad::MakeFromRect(dstRect, viewMatrix), GrQuad(srcRect), edgeAA};
687 mm, color, blendMode, aa, &quad, subset);
699 DrawQuad* quad,
711 QuadOptimization opt = this->attemptQuadOptimization(clip, nullptr/*stencil*/, &aa, quad,
723 // quad is sufficiently inside the subset and the constraint could be dropped.
727 blendMode, aaType, quad, subset));
790 DrawQuad quad{GrQuad::MakeFromRect(rectToDraw, viewMatrix), GrQuad(localRect),
799 QuadOptimization opt = this->attemptQuadOptimization(clip, nullptr/*stencil*/, &aa, &quad,
808 if (clip && viewMatrix.isScaleTranslate() && quad.fDevice.asRect(&croppedRect) &&
809 (!paint.usesLocalCoords() || quad.fLocal.asRect(&croppedLocal))) {
810 // The cropped quad is still a rect, and our view matrix preserves rects. Map it back
822 // Even if attemptQuadOptimization gave us an optimized quad, FillRRectOp needs a rect
837 this->drawFilledQuad(clip, std::move(paint), aa, &quad);
862 // Regardless of how the clear is implemented (native clear or a fullscreen quad), all prior ops