On Jan 13, 2017 12:31 PM, "dumblob" dumblob@gmail.com wrote:
Hi Luke,
in the case of fixed LCDs, the only way to guarantee that is to have line (or frame) buffer upscaler ICs *ON THE HOUSING*.
I think there was another discussed solution not requiring "anything" (not even line buffer upscaler IC) on the housing. Namely just drawing the small resolution directly to the higher-resolution display to the edge where the signal starts drawing the first line).
Seems to me it's not that simple -- displays not only require a specific resolution, but a specific timing. To display a 1366x768 output unscaled on a 1920x1080 display requires one of two things: (1) Compatible timings -- the 1366x768 output must have the same horizontal, vertical, and pixel frequencies as the 1920x1080 display expects. In essence, the "1366x768" signal is *identical* to a 1920x1080 signal, with black bars on some or all edges. (2) Rescaling hardware -- in general, this means a full frame buffer, whether the vertical frequencies match or not. In specific cases where the vertical frequencies and the horizontal frequencies match, you can use a single line buffer. For example, displaying a 960x1080@60Hz screen on half of a 1920x1080@60Hz screen. (Obviously, if you've got a third approach, do tell us!)
(1) is actually possible in some cases, where the output's limitation is related to the RAM available for framebuffer, rather than the timing, but can't be relied on in general. The pixel clock will be the most critical limit for some Type II CPU cards, so every Type II housing _must_ accept a 1366x768 (or less) signal, _at_ standard timings (or slower) -- demanding low-res display at 1920x1080 timings means some CPU cards simply plug in and don't work, and that's unacceptable.
(2) could work, at least with a full frame buffer -- for the one-line hack, I'm not sure if weird modes like 960x1080 are allowed -- the pixel clock and vertical frequencies are essentially the same as 1366x768, but the horizontal frequency is higher. The new revision of the spec that covers negotiation will no doubt make it clear.
But it doesn't matter, as it's obviously worse than direct scaling; there we only need a full frame for mismatched vertical frequency (so don't do that!), and otherwise only needs a two or three line buffer; to most people, I'm sure it's worth the slight extra cost to have 1366x768 on the full screen, rather than 960x1080 on half of the screen.
Benson