Ticket #8457: edid_use_firstmonitor_r1.diff

File edid_use_firstmonitor_r1.diff, 1.6 KB (added by kallisti5, 5 years ago)

try this one.

  • src/add-ons/accelerants/radeon_hd/mode.cpp

    diff --git a/src/add-ons/accelerants/radeon_hd/mode.cpp b/src/add-ons/accelerants/radeon_hd/mode.cpp
    index 815d52f..e09b6e5 100644
    a b status_t 
    4444create_mode_list(void)
    4545{
    4646    // TODO: multi-monitor?  for now we use VESA and not gDisplay edid
     47    uint8 crtcID = 0;
    4748
    4849    const color_space kRadeonHDSpaces[] = {B_RGB32_LITTLE, B_RGB24_LITTLE,
    4950        B_RGB16_LITTLE, B_RGB15_LITTLE, B_CMAP8};
    5051
    5152    gInfo->mode_list_area = create_display_modes("radeon HD modes",
    52         gInfo->shared_info->has_edid ? &gInfo->shared_info->edid_info : NULL,
    53         NULL, 0, kRadeonHDSpaces,
     53        &gDisplay[crtcID]->edidData, NULL, 0, kRadeonHDSpaces,
    5454        sizeof(kRadeonHDSpaces) / sizeof(kRadeonHDSpaces[0]),
    5555        is_mode_supported, &gInfo->mode_list, &gInfo->shared_info->mode_count);
    5656    if (gInfo->mode_list_area < B_OK)
    status_t 
    111111radeon_get_edid_info(void* info, size_t size, uint32* edid_version)
    112112{
    113113    // TODO: multi-monitor?  for now we use VESA edid
     114    uint8 crtcID = 0;
    114115
    115116    TRACE("%s\n", __func__);
    116117    if (!gInfo->shared_info->has_edid)
    radeon_get_edid_info(void* info, size_t size, uint32* edid_version) 
    118119    if (size < sizeof(struct edid1_info))
    119120        return B_BUFFER_OVERFLOW;
    120121
    121     memcpy(info, &gInfo->shared_info->edid_info, sizeof(struct edid1_info));
     122    //memcpy(info, &gInfo->shared_info->edid_info, sizeof(struct edid1_info));
    122123        // VESA
    123     //memcpy(info, &gDisplay[0]->edidData, sizeof(struct edid1_info));
     124    memcpy(info, &gDisplay[crtcID]->edidData, sizeof(struct edid1_info));
    124125        // Display 0
    125126
    126127    *edid_version = EDID_VERSION_1;