diff options
author | Dave Airlie <airlied@redhat.com> | 2009-06-30 16:55:26 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-07-02 14:43:01 +1000 |
commit | 1782ce28953184776c90eb1255208a3e0ad245f0 (patch) | |
tree | df4bdd3c4e1ff58a4890d29e3998506745954419 /src/radeon.h | |
parent | ac4bd24a66c1bdda0293f770a3f891e2b88cc8ee (diff) |
radeon: add KMS support (still disabled)
This adds DRI2 + KMS + driver pixmaps support to the driver.
I've decided to just do a completely separate KMS driver file
instead of hacking the crap out of radeon_driver.c. So now
I do the KMS check in radeon_probe.c time and set the DDX
pointed up to a completely different set at this stage.
This avoids a lot of if (kms) type crap in the code at
the expense of making sure we make changes to both files
if necessary.
This code is still disabled in configure.ac as I broke EXA composite
rendering somehow in KMS mode
Diffstat (limited to 'src/radeon.h')
-rw-r--r-- | src/radeon.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/radeon.h b/src/radeon.h index 0dce081a..82136c83 100644 --- a/src/radeon.h +++ b/src/radeon.h @@ -89,6 +89,8 @@ #ifdef XF86DRM_MODE #include "radeon_bo.h" #include "radeon_cs.h" +#include "radeon_dri2.h" +#include "drmmode_display.h" #else #include "radeon_dummy_bufmgr.h" #endif @@ -857,6 +859,9 @@ typedef struct { RADEONCardType cardType; /* Current card is a PCI card */ struct radeon_cp *cp; struct radeon_dri *dri; +#ifdef XF86DRM_MODE + struct radeon_dri2 dri2; +#endif #ifdef USE_EXA Bool accelDFS; #endif @@ -972,10 +977,17 @@ typedef struct { int can_resize; void (*reemit_current2d)(ScrnInfoPtr pScrn, int op); // emit the current 2D state into the IB struct radeon_2d_state state_2d; + Bool kms_enabled; + struct radeon_bo *front_bo; #ifdef XF86DRM_MODE struct radeon_bo_manager *bufmgr; struct radeon_cs_manager *csm; struct radeon_cs *cs; + + struct radeon_bo *cursor_bo[2]; + uint64_t vram_size; + uint64_t gart_size; + drmmode_rec drmmode; #else /* fake bool */ Bool cs; @@ -1163,6 +1175,12 @@ extern void RADEONInitMemMapRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save, extern void RADEONRestoreMemMapRegisters(ScrnInfoPtr pScrn, RADEONSavePtr restore); +Bool RADEONGetRec(ScrnInfoPtr pScrn); +void RADEONFreeRec(ScrnInfoPtr pScrn); +Bool RADEONPreInitVisual(ScrnInfoPtr pScrn); +Bool RADEONPreInitWeight(ScrnInfoPtr pScrn); + + /* radeon_pm.c */ extern void RADEONPMInit(ScrnInfoPtr pScrn); extern void RADEONPMBlockHandler(ScrnInfoPtr pScrn); |