• Jeffrey Lee's avatar
    Initial support for the ExtraBytes VIDC control list item · 90cc1d38
    Jeffrey Lee authored
      The ExtraBytes control list item can be used to add padding between framebuffer rows.
      When the kernel sees a VIDC list containing this item, it will now adjust the LineLength and ScreenSize mode variables accordingly, with the end result that the correct amount of memory will be allocated for the framebuffer and the OS will render into it correctly.
      Files changed:
      - hdr/KernelWS - Add DisplayLineLength variable to allow the correct LineLength value to be preserved when screen output is redirected to a sprite
      - s/vdu/vdudriver - Make ModeChangeSub initialise DisplayLineLength before calling SwitchOutputToSprite. Update PushModeInfo to take ExtraBytes into account when calculating LineLength and ScreenSize.
      - s/vdu/vdugrafl - Adjust SwitchOutputToSprite to use DisplayLineLength when restoring screen output
      - s/vdu/vduwrch - Fix full-screen CLS to not write to the padding bytes
      Tested on Raspberry Pi 3
    Version 5.82. Tagged as 'Kernel-5_82'
VersionNum 799 Bytes