mirror of
https://github.com/X11Libre/xf86-video-ati.git
synced 2026-03-24 01:24:43 +00:00
Add radeon_dirty_src_drawable helper
Allows tidying up radeon_dirty_src_equals and redisplay_dirty slightly. (Cherry picked from amdgpu commit 1d65ac395971571094df21ca0408d5972c6b56ec) Acked-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
22
src/radeon.h
22
src/radeon.h
@@ -192,23 +192,23 @@ radeon_master_screen(ScreenPtr screen)
|
||||
static inline ScreenPtr
|
||||
radeon_dirty_master(PixmapDirtyUpdatePtr dirty)
|
||||
{
|
||||
#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
|
||||
ScreenPtr screen = dirty->src->pScreen;
|
||||
#else
|
||||
ScreenPtr screen = dirty->src->drawable.pScreen;
|
||||
#endif
|
||||
return radeon_master_screen(dirty->slave_dst->drawable.pScreen);
|
||||
}
|
||||
|
||||
return radeon_master_screen(screen);
|
||||
static inline DrawablePtr
|
||||
radeon_dirty_src_drawable(PixmapDirtyUpdatePtr dirty)
|
||||
{
|
||||
#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
|
||||
return dirty->src;
|
||||
#else
|
||||
return &dirty->src->drawable;
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline Bool
|
||||
radeon_dirty_src_equals(PixmapDirtyUpdatePtr dirty, PixmapPtr pixmap)
|
||||
{
|
||||
#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
|
||||
return dirty->src == &pixmap->drawable;
|
||||
#else
|
||||
return dirty->src == pixmap;
|
||||
#endif
|
||||
return radeon_dirty_src_drawable(dirty) == &pixmap->drawable;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -570,11 +570,8 @@ dirty_region(PixmapDirtyUpdatePtr dirty)
|
||||
static void
|
||||
redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region)
|
||||
{
|
||||
#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC
|
||||
ScrnInfoPtr src_scrn = xf86ScreenToScrn(dirty->src->pScreen);
|
||||
#else
|
||||
ScrnInfoPtr src_scrn = xf86ScreenToScrn(dirty->src->drawable.pScreen);
|
||||
#endif
|
||||
ScrnInfoPtr src_scrn =
|
||||
xf86ScreenToScrn(radeon_dirty_src_drawable(dirty)->pScreen);
|
||||
|
||||
if (RegionNil(region))
|
||||
goto out;
|
||||
|
||||
Reference in New Issue
Block a user