shadow: Lift 32->24 conversion from modesetting to dix

Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Adam Jackson 2016-12-09 14:52:35 -05:00
parent 2b486f052d
commit 1ae0980086
6 changed files with 10 additions and 18 deletions

View File

@ -51,8 +51,6 @@ modesetting_drv_la_SOURCES = \
dumb_bo.c \ dumb_bo.c \
dumb_bo.h \ dumb_bo.h \
present.c \ present.c \
sh3224.c \
sh3224.h \
vblank.c \ vblank.c \
pageflip.c \ pageflip.c \
$(NULL) $(NULL)

View File

@ -60,7 +60,6 @@
#endif #endif
#include "driver.h" #include "driver.h"
#include "sh3224.h"
static void AdjustFrame(ScrnInfoPtr pScrn, int x, int y); static void AdjustFrame(ScrnInfoPtr pScrn, int x, int y);
static Bool CloseScreen(ScreenPtr pScreen); static Bool CloseScreen(ScreenPtr pScreen);
@ -1124,7 +1123,7 @@ msUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
{ {
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
modesettingPtr ms = modesettingPTR(pScrn); modesettingPtr ms = modesettingPTR(pScrn);
Bool use_ms_shadow = ms->drmmode.force_24_32 && pScrn->bitsPerPixel == 32; Bool use_3224 = ms->drmmode.force_24_32 && pScrn->bitsPerPixel == 32;
if (ms->drmmode.shadow_enable2 && ms->drmmode.shadow_fb2) do { if (ms->drmmode.shadow_enable2 && ms->drmmode.shadow_fb2) do {
RegionPtr damage = DamageRegion(pBuf->pDamage), tiles; RegionPtr damage = DamageRegion(pBuf->pDamage), tiles;
@ -1166,8 +1165,8 @@ msUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
free(prect); free(prect);
} while (0); } while (0);
if (use_ms_shadow) if (use_3224)
ms_shadowUpdate32to24(pScreen, pBuf); shadowUpdate32to24(pScreen, pBuf);
else else
shadowUpdatePacked(pScreen, pBuf); shadowUpdatePacked(pScreen, pBuf);
} }

View File

@ -1,7 +0,0 @@
#ifndef SH3224_H
#define SH3224_H
void
ms_shadowUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf);
#endif

View File

@ -10,6 +10,7 @@ libshadow_la_SOURCES = \
c2p_core.h \ c2p_core.h \
shadow.c \ shadow.c \
shadow.h \ shadow.h \
sh3224.c \
shafb4.c \ shafb4.c \
shafb8.c \ shafb8.c \
shalloc.c \ shalloc.c \

View File

@ -1,5 +1,4 @@
/* /*
*
* Copyright © 2000 Keith Packard * Copyright © 2000 Keith Packard
* *
* Permission to use, copy, modify, distribute, and sell this software and its * Permission to use, copy, modify, distribute, and sell this software and its
@ -25,10 +24,9 @@
#include "dix-config.h" #include "dix-config.h"
#endif #endif
#include "shadow.h" #include "shadow.h"
#include "fb.h" #include "fb.h"
#include "sh3224.h"
#define Get8(a) ((CARD32) READ(a)) #define Get8(a) ((CARD32) READ(a))
#if BITMAP_BIT_ORDER == MSBFirst #if BITMAP_BIT_ORDER == MSBFirst
@ -100,7 +98,7 @@ sh24_32BltLine(CARD8 *srcLine,
} }
void void
ms_shadowUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf) shadowUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf)
{ {
RegionPtr damage = shadowDamage(pBuf); RegionPtr damage = shadowDamage(pBuf);
PixmapPtr pShadow = pBuf->pPixmap; PixmapPtr pShadow = pBuf->pPixmap;

View File

@ -156,6 +156,9 @@ extern _X_EXPORT void
extern _X_EXPORT void extern _X_EXPORT void
shadowUpdateRotate32(ScreenPtr pScreen, shadowBufPtr pBuf); shadowUpdateRotate32(ScreenPtr pScreen, shadowBufPtr pBuf);
extern _X_EXPORT void
shadowUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf);
typedef void (*shadowUpdateProc) (ScreenPtr, shadowBufPtr); typedef void (*shadowUpdateProc) (ScreenPtr, shadowBufPtr);
extern _X_EXPORT shadowUpdateProc shadowUpdatePackedWeak(void); extern _X_EXPORT shadowUpdateProc shadowUpdatePackedWeak(void);