summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/screen.h
AgeCommit message (Collapse)Author
2016-12-10devmouse: change msec argument of *mousetrack() to ulongcinap_lenrek
2015-08-02pc, pc64: set *bootscreen= when framebuffer changescinap_lenrek
add bootscreenconf(VGAscr *) function, that is called whenever the framebuffer configuration is changed by devvga. that way, we can pass the current setting of the framebuffer to the new kernel when using /dev/reboot.
2015-01-16devvga: use uintptr for VGAscr.paddr and VGAscr.storagecinap_lenrek
some vga drivers use virtual addresses in VGAscr.storage, so has to be uintptr sized for amd64.
2015-01-03devvga: disable hardware blanking when switching drivers, check softscreencinap_lenrek
we have to reset hwblank when switching drivers to prevent the generic vgablank() to be called by blankscreen(). remove code setting hwblank from vga drivers as devvga will always force hwblank to be 1 or 0 depending on if the driver provides a native blanking routine. set hwaccel to 1 when the driver provides native fill and scroll routines independent of softscreen being disabled. this allows hw acceleration to be used when softscreen gets switched off.
2014-12-26vga, vesa: revert. this needs to be in aux/vga insteadftrvxmtrx
2014-12-26vga, vesa: scaling modesftrvxmtrx
At least on some NVIDIA cards the default scaling mode makes black borders visible on all sides, even on native resolution. This patch adds a generic "scaling MODE" command to vgactl and adds support for it on VESA through NVIDIA VBE OEM extension. It hasn't been tested on any other video cards, but shouldn't break anything as the scaling mode is only set on write to vgactl.
2013-04-14reduce software cursor flickeringcinap_lenrek
the software cursor starts flickering and reacts bumby if a process spends most of its time with drawlock acquired because the timer interrupt thats supposed to redraw the cursor fails to acquire the lock at the time the timer fires. instead of trying to draw the cursor on the screen from a timer interrupt 30 times per second, devmouse now creates a process calling cursoron() and cursoroff() when the cursor needs to be redrawn. this allows the swcursor to schedule a redraw while holding the drawlock in swcursoravoid() and cursoron()/cursoroff() are now able to wait for a qlock (drawlock) because they get called from process context. the overall responsiveness is also improved with this change as the cursor redraw rate isnt limited to 30 times a second anymore.
2013-01-02vga: make kernel vga drivers more stupidcinap_lenrek
previously, we had to maintain 3 sets of pci vid/did's: 1) in /lib/vgadb for detection 2) in the userspace driver in aux/vga 3) in the kernel mode driver this change makes the kernel mode driver more dumb in the cases where possible. we let userspace do the pci enumeration and if needed, it can set the pci address of the vga card. kernel mode drivers can assume to get the right pci device passed in scr->pci for enable() and linear() functions and just do very basic sanity checking before mapping framebuffer and mmio regions. vgalinearpciid() was removed as userspace is responsible to pick pci device. theres a new vgactl message "pcidev" where userspace can set the bus address. we initialize scr->pci in vgareset() to the first pci graphics card found. this should cover cases when an old aux/vga binary is used that doesnt use the new pcidev message. userspace drivers will now use the pci device that got a match from /lib/vgadb and skip ther own enumeration. this way, vga cards can be made to work by simply adding an entry in vgadb with no need to modify userspace or kernelspace drivers. this is not always possible if the driver derives information from the specific card model.
2012-07-18vga: softscreencinap_lenrek
allow the shadow framebuffer (softscreen) to be used with any vga driver, not just vesa. this removes the ugly scr->paddr = 0 hack employed by vesa driver to force softscreen and adds a softscreen vgactl message that can switch the feature on and off at runtime. softscreen can greatly improve graphics performance when bus reads are slow even tho it disables hardware acceleration.
2011-05-09added absolute movement for mouseinaiju
2011-03-30Import sources from 2011-03-30 iso image - libTaru Karttunen
2011-03-30Import sources from 2011-03-30 iso imageTaru Karttunen