diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-10-04 12:34:47 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2010-10-04 12:38:41 -0400 |
commit | 0921ecc1c751df0dd56e0b1d0b78ab53d7164904 (patch) | |
tree | af46f93ea14420ebeb9d9cd9b4da7e029fc30572 | |
parent | 5bdb6434975584eef90eb9e5955b9c2a14b7f327 (diff) |
evergreen: use EXACreatePixmap2 if available
-rw-r--r-- | src/evergreen_exa.c | 3 | ||||
-rw-r--r-- | src/evergreen_state.h | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c index 7b6b7ea9..f9d3b48a 100644 --- a/src/evergreen_exa.c +++ b/src/evergreen_exa.c @@ -1873,6 +1873,9 @@ EVERGREENDrawInit(ScreenPtr pScreen) info->accel_state->exa->FinishAccess = RADEONFinishAccess_CS; info->accel_state->exa->UploadToScreen = EVERGREENUploadToScreen; info->accel_state->exa->DownloadFromScreen = EVERGREENDownloadFromScreen; +#if (EXA_VERSION_MAJOR == 2 && EXA_VERSION_MINOR >= 5) + info->accel_state->exa->CreatePixmap2 = RADEONEXACreatePixmap2; +#endif info->accel_state->exa->flags = EXA_OFFSCREEN_PIXMAPS; #ifdef EXA_SUPPORTS_PREPARE_AUX diff --git a/src/evergreen_state.h b/src/evergreen_state.h index 5869256e..7e49164b 100644 --- a/src/evergreen_state.h +++ b/src/evergreen_state.h @@ -331,6 +331,9 @@ EVERGREENSetAccelState(ScrnInfoPtr pScrn, extern Bool RADEONPrepareAccess_CS(PixmapPtr pPix, int index); extern void RADEONFinishAccess_CS(PixmapPtr pPix, int index); extern void *RADEONEXACreatePixmap(ScreenPtr pScreen, int size, int align); +extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height, + int depth, int usage_hint, int bitsPerPixel, + int *new_pitch); extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); extern struct radeon_bo *radeon_get_pixmap_bo(PixmapPtr pPix); extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); |