- Fixed HW cursor issues:

- in order to set cursor position SVGA_CURSOR_ON_SHOW has to be written to register SVGA_REG_CURSOR_ON. 
  - do not use alpha cursor because it does not support inverting of source pixels.
- Fixed wrong usage of if-statement inside switch-statement
- Sync at end of SCREEN_TO_SCREEN_BLIT so that app_server does not write to frame buffer while accelerated operation is still running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23193 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Pfeiffer
2007-12-30 10:06:46 +00:00
parent bf41a1c034
commit 5d632c2aba
5 changed files with 109 additions and 43 deletions
@@ -6,6 +6,7 @@
* Authors:
* Be Incorporated
* Eric Petit <[email protected]>
* Michael Pfeiffer <[email protected]>
*/
#ifndef DRIVERINTERFACE_H
@@ -14,6 +15,7 @@
#include <GraphicsDefs.h>
#include <Accelerant.h>
#include <Drivers.h>
#include <KernelExport.h>
#include <PCI.h>
#include <OS.h>
@@ -99,6 +101,7 @@ typedef struct {
/* For registers access */
uint16 indexPort;
uint16 valuePort;
spinlock portLock;
/* Mapped areas */
area_id fbArea;
@@ -116,6 +119,11 @@ typedef struct {
Benaphore engineLock;
Benaphore fifoLock;
uint32 fifoNext;
/* Cursor state */
bool cursorShow;
uint16 cursorX;
uint16 cursorY;
} SharedInfo;
#endif