Lines Matching refs:Crtc
52 Crtc* crtc;
97 output.crtc = resman.reserve_crtc(output.connector);
99 if (!output.crtc)
100 EXIT("Could not find available crtc");
136 Crtc* c = card.get_crtc(num);
138 EXIT("Bad crtc id '%u'", num);
140 output.crtc = c;
145 EXIT("Bad crtc number '%u'", num);
147 output.crtc = crtcs[num];
150 output.crtc = output.connector->get_current_crtc();
185 Crtc* c = card.get_crtc(num);
187 EXIT("Bad crtc id '%u'", num);
189 output.crtc = c;
194 EXIT("Bad crtc number '%u'", num);
196 output.crtc = crtcs[num];
199 output.crtc = output.connector->get_current_crtc();
234 EXIT("Failed to parse crtc option '%s'", crtc_str.c_str());
237 if (!resman.reserve_crtc(output.crtc))
238 EXIT("Could not find available crtc");
384 " -r, --crtc=CRTC CRTC is [<crtc>:]<w>x<h>[@<Hz>]\n"
386 " [<crtc>:]<pclk>,<hact>/<hfp>/<hsw>/<hbp>/<hsp>,<vact>/<vfp>/<vsw>/<vbp>/<vsp>[,i]\n"
397 "<connector>, <crtc> and <plane> can be given by index (<idx>) or id (@<id>).\n"
401 "Options may apply to previous options, e.g. a plane will be set on a crtc set in\n"
407 "Set eDP-1 mode to 1920x1080@60, show XR24 framebuffer on the crtc, and a 400x400 XB24 plane:\n"
429 Crtc,
459 Option("r|crtc=", [&](string s)
461 args.push_back(Arg { ArgType::Crtc, s });
548 case ArgType::Crtc:
575 if (!current_output->crtc)
595 if (!current_output->crtc)
622 else if (current_output->crtc)
643 output.crtc = resman.reserve_crtc(conn);
644 EXIT_IF(!output.crtc, "Failed to reserve crtc for %s", conn->fullname().c_str());
654 if (!o.crtc)
657 get_props(card, o.crtc_props, o.crtc);
675 p.plane = resman.reserve_generic_plane(o.crtc, p.fbs[0]->format());
677 p.plane = resman.reserve_overlay_plane(o.crtc, p.fbs[0]->format());
715 printf("\n Crtc %u/@%u", o.crtc->idx(), o.crtc->id());
759 for (Crtc* crtc : card.get_crtcs()) {
760 if (find_if(outputs.begin(), outputs.end(), [crtc](const OutputInfo& o) { return o.crtc == crtc; }) != outputs.end())
763 crtc->disable_mode();
768 auto crtc = o.crtc;
775 int r = crtc->set_mode(conn, *fb, o.mode);
777 printf("crtc->set_mode() failed for crtc %u: %s\n",
778 crtc->id(), strerror(-r));
783 int r = crtc->set_plane(p.plane, *fb,
787 printf("crtc->set_plane() failed for plane %u: %s\n",
799 // XXX DRM framework doesn't allow moving an active plane from one crtc to another.
806 for (Crtc* crtc : card.get_crtcs()) {
807 //if (find_if(outputs.begin(), outputs.end(), [crtc](const OutputInfo& o) { return o.crtc == crtc; }) != outputs.end())
810 disable_req.add(crtc, {
834 auto crtc = o.crtc;
840 { "CRTC_ID", crtc->id() },
846 req.add(crtc, {
852 req.add(crtc, prop.prop, prop.val);
859 { "CRTC_ID", crtc->id() },
914 * We get flip event for each crtc in this flipstate. We can commit the next frames
983 int r = o.crtc->page_flip(*fb, this);
992 int r = o.crtc->set_plane(p.plane, *fb,