diff options
author | Matthieu Herrb <matthieu@herrb.eu> | 2022-06-27 21:53:55 +0200 |
---|---|---|
committer | Matthieu Herrb <matthieu@herrb.eu> | 2022-06-28 15:31:39 +0200 |
commit | 38de69f99a07b22b3a001e5709456e5351a972ba (patch) | |
tree | 3e9779b977005a4d2e15784444d17a10d985c62b /x11 | |
parent | de51594fad2eb02397af12f89e75a7555ab9bc30 (diff) |
add x11/xf86-video-ati version 19.1.0
Diffstat (limited to 'x11')
-rw-r--r-- | x11/xf86-video-ati/Makefile | 29 | ||||
-rw-r--r-- | x11/xf86-video-ati/distinfo | 2 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_compat-api_h | 14 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_drmmode_display_c | 21 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_drmmode_display_h | 12 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_evergreen_state_h | 12 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_r600_state_h | 11 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_radeon_dri3_c | 34 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_radeon_exa_c | 12 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_radeon_glamor_c | 12 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_radeon_h | 55 | ||||
-rw-r--r-- | x11/xf86-video-ati/patches/patch-src_radeon_kms_c | 239 | ||||
-rw-r--r-- | x11/xf86-video-ati/pkg/DESCR | 1 | ||||
-rw-r--r-- | x11/xf86-video-ati/pkg/PLIST | 9 |
14 files changed, 463 insertions, 0 deletions
diff --git a/x11/xf86-video-ati/Makefile b/x11/xf86-video-ati/Makefile new file mode 100644 index 0000000..d466706 --- /dev/null +++ b/x11/xf86-video-ati/Makefile @@ -0,0 +1,29 @@ +COMMENT = video driver for ATI/Radeon graphics chipsets +DISTNAME = xf86-video-ati-19.1.0 +CATEGORIES = x11 + +HOMEPAGE = https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati + +MAINTAINER = xenocara@openbsd.org + +# MIT +PERMIT_PACKAGE = Yes + +MASTER_SITES = ${MASTER_SITE_XORG:=driver/} + +MODULES = xenocara + +WANTLIB = drm drm_radeon gbm pciaccess expat m + +BUILD_DEPENDS = x11/xorg-server + +SEPARATE_BUILD = Yes +CONFIGURE_STYLE = autoreconf +CONFIGURE_ARGS = --with-xorg-module-dir=${X11BASE}/lib/modules \ + +AUTOCONF_VERSION = 2.69 +AUTOMAKE_VERSION = 1.12 + +NO_TEST = Yes + +.include <bsd.port.mk> diff --git a/x11/xf86-video-ati/distinfo b/x11/xf86-video-ati/distinfo new file mode 100644 index 0000000..9bf4aee --- /dev/null +++ b/x11/xf86-video-ati/distinfo @@ -0,0 +1,2 @@ +SHA256 (xf86-video-ati-19.1.0.tar.gz) = wFxuDDlqAUgRPxg2z6t/LkP3hMm3BB8R6cq0CkvAyQ8= +SIZE (xf86-video-ati-19.1.0.tar.gz) = 1160362 diff --git a/x11/xf86-video-ati/patches/patch-src_compat-api_h b/x11/xf86-video-ati/patches/patch-src_compat-api_h new file mode 100644 index 0000000..043c232 --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_compat-api_h @@ -0,0 +1,14 @@ +Index: src/compat-api.h +--- src/compat-api.h.orig ++++ src/compat-api.h +@@ -34,4 +34,10 @@ + #define BLOCKHANDLER_ARGS pScreen, pTimeout, pReadmask + #endif + ++#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2) ++#define current_primary current_master ++#define primary_pixmap master_pixmap ++#define secondary_dst slave_dst ++#endif ++ + #endif diff --git a/x11/xf86-video-ati/patches/patch-src_drmmode_display_c b/x11/xf86-video-ati/patches/patch-src_drmmode_display_c new file mode 100644 index 0000000..011857d --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_drmmode_display_c @@ -0,0 +1,21 @@ +Index: src/drmmode_display.c +--- src/drmmode_display.c.orig ++++ src/drmmode_display.c +@@ -720,7 +720,7 @@ drmmode_crtc_prime_scanout_update(xf86CrtcPtr crtc, Di + xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, + ent) { + if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { +- dirty->slave_dst = ++ dirty->secondary_dst = + drmmode_crtc->scanout[scanout_id].pixmap; + break; + } +@@ -1356,7 +1356,7 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr + + xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) { + if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { +- PixmapStopDirtyTracking(dirty->src, dirty->slave_dst); ++ PixmapStopDirtyTracking(dirty->src, dirty->secondary_dst); + break; + } + } diff --git a/x11/xf86-video-ati/patches/patch-src_drmmode_display_h b/x11/xf86-video-ati/patches/patch-src_drmmode_display_h new file mode 100644 index 0000000..ae6b301 --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_drmmode_display_h @@ -0,0 +1,12 @@ +Index: src/drmmode_display.h +--- src/drmmode_display.h.orig ++++ src/drmmode_display.h +@@ -262,7 +262,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSe + uint64_t *ust, uint32_t *result_seq); + + +-miPointerSpriteFuncRec drmmode_sprite_funcs; ++extern miPointerSpriteFuncRec drmmode_sprite_funcs; + + + #endif diff --git a/x11/xf86-video-ati/patches/patch-src_evergreen_state_h b/x11/xf86-video-ati/patches/patch-src_evergreen_state_h new file mode 100644 index 0000000..b0151e5 --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_evergreen_state_h @@ -0,0 +1,12 @@ +Index: src/evergreen_state.h +--- src/evergreen_state.h.orig ++++ src/evergreen_state.h +@@ -350,7 +350,7 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, + int *new_pitch); + extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); + extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); +-extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); ++extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); + extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); + + #endif diff --git a/x11/xf86-video-ati/patches/patch-src_r600_state_h b/x11/xf86-video-ati/patches/patch-src_r600_state_h new file mode 100644 index 0000000..8e89840 --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_r600_state_h @@ -0,0 +1,11 @@ +Index: src/r600_state.h +--- src/r600_state.h.orig ++++ src/r600_state.h +@@ -321,6 +321,6 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, + int *new_pitch); + extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); + extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); +-extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); ++extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); + extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); + #endif diff --git a/x11/xf86-video-ati/patches/patch-src_radeon_dri3_c b/x11/xf86-video-ati/patches/patch-src_radeon_dri3_c new file mode 100644 index 0000000..6a3f356 --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_radeon_dri3_c @@ -0,0 +1,34 @@ +Index: src/radeon_dri3.c +--- src/radeon_dri3.c.orig ++++ src/radeon_dri3.c +@@ -41,6 +41,12 @@ + #include <errno.h> + #include <libgen.h> + ++#ifdef X_PRIVSEP ++extern int priv_open_device(const char *); ++#else ++#define priv_open_device(n) open(n,O_RDWR|O_CLOEXEC); ++#endif ++ + static int open_master_node(ScreenPtr screen, int *out) + { + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); +@@ -49,7 +55,7 @@ static int open_master_node(ScreenPtr screen, int *out + drm_magic_t magic; + int fd; + +- fd = open(info->dri2.device_name, O_RDWR | O_CLOEXEC); ++ fd = priv_open_device(info->dri2.device_name); + if (fd < 0) + return BadAlloc; + +@@ -93,7 +99,7 @@ static int open_render_node(ScreenPtr screen, int *out + RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); + int fd; + +- fd = open(pRADEONEnt->render_node, O_RDWR | O_CLOEXEC); ++ fd = priv_open_device(pRADEONEnt->render_node); + if (fd < 0) + return BadAlloc; + diff --git a/x11/xf86-video-ati/patches/patch-src_radeon_exa_c b/x11/xf86-video-ati/patches/patch-src_radeon_exa_c new file mode 100644 index 0000000..8ec8280 --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_radeon_exa_c @@ -0,0 +1,12 @@ +Index: src/radeon_exa.c +--- src/radeon_exa.c.orig ++++ src/radeon_exa.c +@@ -282,7 +282,7 @@ void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *d + free(driverPriv); + } + +-Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **fd_handle) ++Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr seconndary, void **fd_handle) + { + struct radeon_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(ppix); + diff --git a/x11/xf86-video-ati/patches/patch-src_radeon_glamor_c b/x11/xf86-video-ati/patches/patch-src_radeon_glamor_c new file mode 100644 index 0000000..38c05eb --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_radeon_glamor_c @@ -0,0 +1,12 @@ +Index: src/radeon_glamor.c +--- src/radeon_glamor.c.orig ++++ src/radeon_glamor.c +@@ -366,7 +366,7 @@ radeon_glamor_set_pixmap_bo(DrawablePtr drawable, Pixm + + + static Bool +-radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr slave, ++radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr secondary, + void **handle_p) + { + ScreenPtr screen = pixmap->drawable.pScreen; diff --git a/x11/xf86-video-ati/patches/patch-src_radeon_h b/x11/xf86-video-ati/patches/patch-src_radeon_h new file mode 100644 index 0000000..f1f225b --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_radeon_h @@ -0,0 +1,55 @@ +Index: src/radeon.h +--- src/radeon.h.orig ++++ src/radeon.h +@@ -182,18 +182,18 @@ typedef enum { + + + static inline ScreenPtr +-radeon_master_screen(ScreenPtr screen) ++radeon_primary_screen(ScreenPtr screen) + { +- if (screen->current_master) +- return screen->current_master; ++ if (screen->current_primary) ++ return screen->current_primary; + + return screen; + } + + static inline ScreenPtr +-radeon_dirty_master(PixmapDirtyUpdatePtr dirty) ++radeon_dirty_primary(PixmapDirtyUpdatePtr dirty) + { +- return radeon_master_screen(dirty->slave_dst->drawable.pScreen); ++ return radeon_primary_screen(dirty->secondary_dst->drawable.pScreen); + } + + static inline DrawablePtr +@@ -790,8 +790,8 @@ static inline Bool radeon_set_pixmap_bo(PixmapPtr pPix + + static inline struct radeon_buffer *radeon_get_pixmap_bo(PixmapPtr pPix) + { +-#ifdef USE_GLAMOR + RADEONInfoPtr info = RADEONPTR(xf86ScreenToScrn(pPix->drawable.pScreen)); ++#ifdef USE_GLAMOR + + if (info->use_glamor) { + struct radeon_pixmap *priv; +@@ -799,7 +799,7 @@ static inline struct radeon_buffer *radeon_get_pixmap_ + return priv ? priv->bo : NULL; + } else + #endif +- { ++ if (info->accelOn) { + struct radeon_exa_pixmap_priv *driver_priv; + driver_priv = exaGetPixmapDriverPrivate(pPix); + return driver_priv ? driver_priv->bo : NULL; +@@ -896,7 +896,7 @@ radeon_pixmap_get_fb(PixmapPtr pix) + handle); + } + +- return *fb_ptr; ++ return fb_ptr ? *fb_ptr : NULL; + } + + diff --git a/x11/xf86-video-ati/patches/patch-src_radeon_kms_c b/x11/xf86-video-ati/patches/patch-src_radeon_kms_c new file mode 100644 index 0000000..9d6998e --- /dev/null +++ b/x11/xf86-video-ati/patches/patch-src_radeon_kms_c @@ -0,0 +1,239 @@ +Index: src/radeon_kms.c +--- src/radeon_kms.c.orig ++++ src/radeon_kms.c +@@ -559,8 +559,8 @@ dirty_region(PixmapDirtyUpdatePtr dirty) + if (dirty->rotation != RR_Rotate_0) { + dstregion = transform_region(damageregion, + &dirty->f_inverse, +- dirty->slave_dst->drawable.width, +- dirty->slave_dst->drawable.height); ++ dirty->secondary_dst->drawable.width, ++ dirty->secondary_dst->drawable.height); + } else + #endif + { +@@ -568,7 +568,7 @@ dirty_region(PixmapDirtyUpdatePtr dirty) + + dstregion = RegionDuplicate(damageregion); + RegionTranslate(dstregion, -dirty->x, -dirty->y); +- PixmapRegionInit(&pixregion, dirty->slave_dst); ++ PixmapRegionInit(&pixregion, dirty->secondary_dst); + RegionIntersect(dstregion, dstregion, &pixregion); + RegionUninit(&pixregion); + } +@@ -585,8 +585,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr + if (RegionNil(region)) + goto out; + +- if (dirty->slave_dst->master_pixmap) +- DamageRegionAppend(&dirty->slave_dst->drawable, region); ++ if (dirty->secondary_dst->primary_pixmap) ++ DamageRegionAppend(&dirty->secondary_dst->drawable, region); + + #ifdef HAS_DIRTYTRACKING_ROTATION + PixmapSyncDirtyHelper(dirty); +@@ -595,8 +595,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr + #endif + + radeon_cs_flush_indirect(src_scrn); +- if (dirty->slave_dst->master_pixmap) +- DamageRegionProcessPending(&dirty->slave_dst->drawable); ++ if (dirty->secondary_dst->primary_pixmap) ++ DamageRegionProcessPending(&dirty->secondary_dst->drawable); + + out: + DamageEmpty(dirty->damage); +@@ -613,12 +613,12 @@ radeon_prime_scanout_update_abort(xf86CrtcPtr crtc, vo + void + radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr master_screen = radeon_dirty_master(dirty); ++ ScreenPtr primary_screen = radeon_dirty_primary(dirty); + PixmapDirtyUpdatePtr ent; + RegionPtr region; + +- xorg_list_for_each_entry(ent, &master_screen->pixmap_dirty_list, ent) { +- if (!radeon_dirty_src_equals(dirty, ent->slave_dst)) ++ xorg_list_for_each_entry(ent, &primary_screen->pixmap_dirty_list, ent) { ++ if (!radeon_dirty_src_equals(dirty, ent->secondary_dst)) + continue; + + region = dirty_region(ent); +@@ -631,45 +631,45 @@ radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) + #if HAS_SYNC_SHARED_PIXMAP + + static Bool +-master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) ++primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr master_screen = radeon_dirty_master(dirty); ++ ScreenPtr primary_screen = radeon_dirty_primary(dirty); + +- return !!master_screen->SyncSharedPixmap; ++ return !!primary_screen->SyncSharedPixmap; + } + + static Bool +-slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) ++secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr slave_screen = dirty->slave_dst->drawable.pScreen; ++ ScreenPtr secondary_screen = dirty->secondary_dst->drawable.pScreen; + +- return !!slave_screen->SyncSharedPixmap; ++ return !!secondary_screen->SyncSharedPixmap; + } + + static void + call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr master_screen = radeon_dirty_master(dirty); ++ ScreenPtr primary_screen = radeon_dirty_primary(dirty); + +- master_screen->SyncSharedPixmap(dirty); ++ primary_screen->SyncSharedPixmap(dirty); + } + + #else /* !HAS_SYNC_SHARED_PIXMAP */ + + static Bool +-master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) ++primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) + { +- ScrnInfoPtr master_scrn = xf86ScreenToScrn(radeon_dirty_master(dirty)); ++ ScrnInfoPtr primary_scrn = xf86ScreenToScrn(radeon_dirty_primary(dirty)); + +- return master_scrn->driverName == scrn->driverName; ++ return primary_scrn->driverName == scrn->driverName; + } + + static Bool +-slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) ++secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) + { +- ScrnInfoPtr slave_scrn = xf86ScreenToScrn(dirty->slave_dst->drawable.pScreen); ++ ScrnInfoPtr secondary_scrn = xf86ScreenToScrn(dirty->secondary_dst->drawable.pScreen); + +- return slave_scrn->driverName == scrn->driverName; ++ return secondary_scrn->driverName == scrn->driverName; + } + + static void +@@ -684,12 +684,12 @@ call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) + static xf86CrtcPtr + radeon_prime_dirty_to_crtc(PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; ++ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); + int c; + +- /* Find the CRTC which is scanning out from this slave pixmap */ ++ /* Find the CRTC which is scanning out from this secondary pixmap */ + for (c = 0; c < xf86_config->num_crtc; c++) { + xf86CrtcPtr xf86_crtc = xf86_config->crtc[c]; + drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private; +@@ -714,7 +714,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsig + if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { + RegionPtr region; + +- if (master_has_sync_shared_pixmap(scrn, dirty)) ++ if (primary_has_sync_shared_pixmap(scrn, dirty)) + call_sync_shared_pixmap(dirty); + + region = dirty_region(dirty); +@@ -727,7 +727,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsig + radeon_cs_flush_indirect(scrn); + RegionCopy(&drmmode_crtc->scanout_last_region, region); + RegionTranslate(region, -crtc->x, -crtc->y); +- dirty->slave_dst = drmmode_crtc->scanout[scanout_id].pixmap; ++ dirty->secondary_dst = drmmode_crtc->scanout[scanout_id].pixmap; + } + + redisplay_dirty(dirty, region); +@@ -754,7 +754,7 @@ radeon_prime_scanout_update_handler(xf86CrtcPtr crtc, + static void + radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty) + { +- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; ++ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); + xf86CrtcPtr xf86_crtc = radeon_prime_dirty_to_crtc(dirty); +@@ -818,7 +818,7 @@ radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty + static void + radeon_prime_scanout_flip(PixmapDirtyUpdatePtr ent) + { +- ScreenPtr screen = ent->slave_dst->drawable.pScreen; ++ ScreenPtr screen = ent->secondary_dst->drawable.pScreen; + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); + xf86CrtcPtr crtc = radeon_prime_dirty_to_crtc(ent); +@@ -893,11 +893,11 @@ radeon_dirty_update(ScrnInfoPtr scrn) + if (screen->isGPU) { + PixmapDirtyUpdatePtr region_ent = ent; + +- if (master_has_sync_shared_pixmap(scrn, ent)) { +- ScreenPtr master_screen = radeon_dirty_master(ent); ++ if (primary_has_sync_shared_pixmap(scrn, ent)) { ++ ScreenPtr primary_screen = radeon_dirty_primary(ent); + +- xorg_list_for_each_entry(region_ent, &master_screen->pixmap_dirty_list, ent) { +- if (radeon_dirty_src_equals(ent, region_ent->slave_dst)) ++ xorg_list_for_each_entry(region_ent, &primary_screen->pixmap_dirty_list, ent) { ++ if (radeon_dirty_src_equals(ent, region_ent->secondary_dst)) + break; + } + } +@@ -921,7 +921,7 @@ radeon_dirty_update(ScrnInfoPtr scrn) + + RegionDestroy(region); + } else { +- if (slave_has_sync_shared_pixmap(scrn, ent)) ++ if (secondary_has_sync_shared_pixmap(scrn, ent)) + continue; + + region = dirty_region(ent); +@@ -931,7 +931,14 @@ radeon_dirty_update(ScrnInfoPtr scrn) + } + } + ++static void ++radeonSourceValidate(DrawablePtr draw, int x, int y, int w, int h, ++ unsigned int subWindowMode) ++{ ++} + ++ ++ + Bool + radeon_scanout_do_update(xf86CrtcPtr xf86_crtc, int scanout_id, + PixmapPtr src_pix, BoxRec extents) +@@ -993,7 +1000,7 @@ radeon_scanout_do_update(xf86CrtcPtr xf86_crtc, int sc + SetPicturePictFilter(src, xf86_crtc->filter, xf86_crtc->params, + xf86_crtc->nparams); + +- pScreen->SourceValidate = NULL; ++ pScreen->SourceValidate = radeonSourceValidate; + CompositePicture(PictOpSrc, + src, NULL, dst, + extents.x1, extents.y1, 0, 0, extents.x1, +@@ -1216,7 +1223,7 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_D + (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS); + pScreen->BlockHandler = RADEONBlockHandler_KMS; + +- if (!xf86ScreenToScrn(radeon_master_screen(pScreen))->vtSema) ++ if (!xf86ScreenToScrn(radeon_primary_screen(pScreen))->vtSema) + return; + + if (!pScreen->isGPU) +@@ -2584,7 +2591,7 @@ CARD32 cleanup_black_fb(OsTimerPtr timer, CARD32 now, + xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); + int c; + +- if (xf86ScreenToScrn(radeon_master_screen(screen))->vtSema) ++ if (xf86ScreenToScrn(radeon_primary_screen(screen))->vtSema) + return 0; + + /* Unreference the all-black FB created by RADEONLeaveVT_KMS. After diff --git a/x11/xf86-video-ati/pkg/DESCR b/x11/xf86-video-ati/pkg/DESCR new file mode 100644 index 0000000..0d1bc98 --- /dev/null +++ b/x11/xf86-video-ati/pkg/DESCR @@ -0,0 +1 @@ +xf86-video-ati - ATI/AMD Radeon video driver for the Xorg X server diff --git a/x11/xf86-video-ati/pkg/PLIST b/x11/xf86-video-ati/pkg/PLIST new file mode 100644 index 0000000..8af6579 --- /dev/null +++ b/x11/xf86-video-ati/pkg/PLIST @@ -0,0 +1,9 @@ +lib/modules/drivers/ati_drv.a +lib/modules/drivers/ati_drv.la +@so lib/modules/drivers/ati_drv.so +lib/modules/drivers/radeon_drv.a +lib/modules/drivers/radeon_drv.la +@so lib/modules/drivers/radeon_drv.so +@man man/man4/ati.4 +@man man/man4/radeon.4 +share/X11/xorg.conf.d/10-radeon.conf |