196 | | if (si->ps.crtc1_screen.have_native_edid) { |
197 | | if ((target->timing.h_display - 2) > si->ps.crtc1_screen.timing.h_display |
198 | | || target->timing.v_display > si->ps.crtc1_screen.timing.v_display) { |
199 | | LOG(4, ("PROPOSEMODE: screen at crtc1 can't display requested resolution, aborted.\n")); |
200 | | return B_ERROR; |
201 | | } |
202 | | } |
203 | | if (si->ps.crtc2_screen.have_native_edid) { |
204 | | if ((target->timing.h_display - 2) > si->ps.crtc2_screen.timing.h_display |
205 | | || target->timing.v_display > si->ps.crtc2_screen.timing.v_display) { |
206 | | LOG(4, ("PROPOSEMODE: screen at crtc2 can't display requested resolution, aborted.\n")); |
207 | | return B_ERROR; |
208 | | } |
209 | | } |
| 196 | // Do NOT second-guess the proposed target->timing.{h,v}_display values |
| 197 | // based on our crtc1_screen.timing value, since the latter is based on our |
| 198 | // one-section interpretation of the EDID data and thus is not as complete |
| 199 | // as the value calculated by the caller, which takes all 3 EDID sections |
| 200 | // into account. |
| 201 | // Indeed, in some cases (certain display monitors) we end up breaking the hard work |
| 202 | // done by Axel in create_propose_mode.cpp ;-) by cancelling out the extra digging |
| 203 | // for modes that he has implemented there... |
| 204 | // if (si->ps.crtc1_screen.have_native_edid) { |
| 205 | // if ((target->timing.h_display - 2) > si->ps.crtc1_screen.timing.h_display |
| 206 | // || target->timing.v_display > si->ps.crtc1_screen.timing.v_display) { |
| 207 | // LOG(4, ("PROPOSEMODE: screen at crtc1 can't display requested resolution, aborted.\n")); |
| 208 | // return B_ERROR; |
| 209 | // } |
| 210 | // } |
| 211 | // if (si->ps.crtc2_screen.have_native_edid) { |
| 212 | // if ((target->timing.h_display - 2) > si->ps.crtc2_screen.timing.h_display |
| 213 | // || target->timing.v_display > si->ps.crtc2_screen.timing.v_display) { |
| 214 | // LOG(4, ("PROPOSEMODE: screen at crtc2 can't display requested resolution, aborted.\n")); |
| 215 | // return B_ERROR; |
| 216 | // } |
| 217 | // } |