Lines Matching defs:mode

19 // standard mode list
89 /* 16:10 panel mode; 2.304M pixels */
134 Validate a target display mode is both
135 a) a valid display mode for this device and
138 If the mode is not (or cannot) be made valid for this device, return B_ERROR.
139 If a valid mode can be constructed, but it does not fall within the limits,
141 If the mode is both valid AND falls within the limits, return B_OK.
165 // don't use floating point, we are in kernel mode
398 SHOW_ERROR( 4, "not enough memory for this mode (could show only %d of %d lines)",
435 // if given mode is possible on this card, add it to standard mode list
436 // mode - mode to add (colourspace is ignored but replaced
438 // ignore_timing - don't care if timing has to be modified to make mode valid
440 static void checkAndAddMode( accelerator_info *ai, const display_mode *mode, bool ignore_timing )
449 // for fp modes: don't add mode if its resolution is already in official mode list
451 if( ai->mode_list[i].timing.h_display == mode->timing.h_display &&
452 ai->mode_list[i].timing.v_display == mode->timing.v_display &&
453 ai->mode_list[i].virtual_width == mode->virtual_width &&
454 ai->mode_list[i].virtual_height == mode->virtual_height )
460 low = high = *mode;
487 *dst = *mode;
498 *dst = *mode;
514 // add display mode including span mode variations to offical list
515 static void checkAndAddMultiMode( accelerator_info *ai, const display_mode *mode,
520 SHOW_FLOW( 4, "%ld, %ld", mode->virtual_width, mode->virtual_height );
522 // plain mode
523 checkAndAddMode( ai, mode, ignore_timing );
525 // double width mode
526 wide_mode = *mode;
531 // double height mode
532 wide_mode = *mode;
538 // add display mode of flat panel to official list
546 display_mode mode;
548 mode.virtual_width = mode.timing.h_display = fp_info->panel_xres;
549 mode.virtual_height = mode.timing.v_display = fp_info->panel_yres;
551 mode.timing.h_total = mode.timing.h_display + fp_info->h_blank;
552 mode.timing.h_sync_start = mode.timing.h_display + fp_info->h_over_plus;
553 mode.timing.h_sync_end = mode.timing.h_sync_start + fp_info->h_sync_width;
554 mode.timing.v_total = mode.timing.v_display + fp_info->v_blank;
555 mode.timing.v_sync_start = mode.timing.v_display + fp_info->v_over_plus;
556 mode.timing.v_sync_end = mode.timing.v_sync_start + fp_info->v_sync_width;
558 mode.timing.pixel_clock = fp_info->dot_clock;
562 // if it's wrong, we just want this resolution in the mode list)
563 if( mode.timing.pixel_clock == 0 ) {
565 mode.timing.pixel_clock =
566 ((uint32)mode.timing.h_total * mode.timing.v_total * 60) / 1000;
569 mode.flags = MODE_FLAGS;
570 mode.h_display_start = 0;
571 mode.v_display_start = 0;
574 mode.timing.h_display, mode.timing.h_sync_start,
575 mode.timing.h_sync_end, mode.timing.h_total, mode.virtual_width );
577 mode.timing.v_display, mode.timing.v_sync_start,
578 mode.timing.v_sync_end, mode.timing.v_total, mode.virtual_height );
579 SHOW_FLOW( 2, "clk: %ld", mode.timing.pixel_clock );
583 // the mode can (and usually has to) be modified to be
585 checkAndAddMultiMode( ai, &mode, true );
602 si->mode_list_area = create_area("Radeon accelerant mode info",
615 // plus fp mode
642 // check how many heads are needed by target mode
646 // before checking multi-monitor mode, we must define a monitor signal routing
654 // transform to multi-screen mode first
667 // we must assure that each ProposeMode call doesn't tweak the mode in
676 // if both ports are used, make sure both can handle mode