path: root/com32/lib/sys/vesa/screencpy.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix all warnings, and better separate code that should not be mixedsyslinux-6.04-pre3H. Peter Anvin (Intel)2019-02-071-1/+1
| | | | | | | | | Clean up a number of warnings in the tree. Refactor especially the core code so we don't end up building a bunch of BIOS-specific code for EFI, and general build cleanups. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* Revert "vesa: Correct screencpy() prototype"Matt Fleming2013-01-111-2/+2
| | | | | | | | | | | | | | This reverts commit 15a67011987c341814533ac4d8e23c9a72dc7605, because as Peter points out, The objects are uint32_t and so the prototype is correct. It should not "leak" outside the screencpy function that we play ugly tricks with these pointers; that is better handled by an internal cast. So do the necessary casting inside bios_vesacon_screencpy(). Cc: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* sys/vesa: Modularise common vesa codeMatt Fleming2012-11-151-43/+3
| | | | | | | | | | | | | | There's lots of the vesa infrastructure that can be shared for both BIOS and EFI, so share the things that are common and split out the things that are not into firmware-specific functions and use the 'firmware' structure to access them. This commit is part of a series of changes that removes all EFI-specific code from everywhere except efi/, which means we can delete inclusion of any gnu-efi header files and remove gnu-efi paths from CFLAGS. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* Unify instances of integer log2H. Peter Anvin2010-06-091-6/+1
| | | | | | Unify multiple open-coded instances of integer binary logarithm. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* vesa: formatting fixH. Peter Anvin2009-12-221-1/+1
| | | | | | Code formatting fix in screencpy.c Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Run Nindent on com32/lib/sys/vesa/screencpy.cH. Peter Anvin2009-05-291-66/+66
| | | | | | | | | Automatically reformat com32/lib/sys/vesa/screencpy.c using Nindent. Do this for all files except HDT, gPXE and externally maintained libraries (zlib, tinyjpeg, libpng). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Whitespace cleanup...syslinux-3.62-pre11H. Peter Anvin2008-02-191-5/+5
* VESA: align the row buffer to a multiple of 4 bytes.H. Peter Anvin2008-02-141-1/+1
| | | | We do dword accesses to the row buffer, so align it to 4 bytes.
* VESA: Minor cleanupssyslinux-3.62-pre6H. Peter Anvin2008-02-131-2/+3
| | | | Minor cleanups for clarity
* Set the window size to 2 GB for linear framebufferH. Peter Anvin2008-02-131-1/+5
| | | | | | | | | Set the window size to 2 GB for linear framebuffer, lest the calculation: l = min(bytes, win_size-win_off); ... incorrectly returns zero when win_off == 0.
* Bypass pixel conversion when the output format is BGRA32H. Peter Anvin2008-02-131-2/+1
| | | | | When the output format is BGRA32, we don't need any conversion at all. Skip the dummy copy.
* Treat linear framebuffer as a degenerate paged framebufferH. Peter Anvin2008-02-131-37/+31
| | | | | | Simplify the code by treating linear framebuffer as a degenerate case of a paged framebuffer (a single window covering all of memory, which is already in position 0 - the only possible position.)
* VESA: move pixel formatting into __vesacon_copy_to_screen()syslinux-3.62-pre5H. Peter Anvin2008-02-131-10/+19
| | | | | | | | Make pixel formatting an integral part of __vesacon_copy_to_screen(). In order to cut down on the dispatch overhead, make the formatting functions contain the pixel loop, so we only do indirect dispatch twice per pixel row - once for the formatting and once for copying to the screen.
* Add support for paged (banked) VESA video modeH. Peter Anvin2008-02-131-0/+115
Add support for paged ("banked", non-linear-framebuffer) VESA video modes. Apparently some manufacturers haven't caught on that non-linear graphics modes have been obsolete for 15 years or so already.