Merge remote-tracking branch 'anholt/modesetting-glamor'

This commit is contained in:
Keith Packard 2014-10-09 14:21:19 +02:00
commit f12e7f4980
6 changed files with 1545 additions and 1393 deletions

View File

@ -28,6 +28,7 @@ AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) $(LIBDRM_CFLAGS) $(UDEV_CFLAGS) $(CWARN
AM_CPPFLAGS = \ AM_CPPFLAGS = \
$(XORG_INCS) \ $(XORG_INCS) \
-I$(top_srcdir)/glamor \
-I$(srcdir)/../../ddc \ -I$(srcdir)/../../ddc \
-I$(srcdir)/../../i2c \ -I$(srcdir)/../../i2c \
-I$(srcdir)/../../modes \ -I$(srcdir)/../../modes \

File diff suppressed because it is too large Load Diff

View File

@ -35,16 +35,14 @@
#include "drmmode_display.h" #include "drmmode_display.h"
#define DRV_ERROR(msg) xf86DrvMsg(pScrn->scrnIndex, X_ERROR, msg); #define DRV_ERROR(msg) xf86DrvMsg(pScrn->scrnIndex, X_ERROR, msg);
typedef struct typedef struct {
{
int lastInstance; int lastInstance;
int refCount; int refCount;
ScrnInfoPtr pScrn_1; ScrnInfoPtr pScrn_1;
ScrnInfoPtr pScrn_2; ScrnInfoPtr pScrn_2;
} EntRec, *EntPtr; } EntRec, *EntPtr;
typedef struct _modesettingRec typedef struct _modesettingRec {
{
int fd; int fd;
EntPtr entityPrivate; EntPtr entityPrivate;
@ -76,6 +74,7 @@ typedef struct _modesettingRec
Bool dirty_enabled; Bool dirty_enabled;
uint32_t cursor_width, cursor_height; uint32_t cursor_width, cursor_height;
Bool glamor;
} modesettingRec, *modesettingPtr; } modesettingRec, *modesettingPtr;
#define modesettingPTR(p) ((modesettingPtr)((p)->driverPrivate)) #define modesettingPTR(p) ((modesettingPtr)((p)->driverPrivate))

File diff suppressed because it is too large Load Diff

View File

@ -74,11 +74,10 @@ typedef struct {
typedef struct { typedef struct {
drmModePropertyPtr mode_prop; drmModePropertyPtr mode_prop;
uint64_t value; uint64_t value;
int num_atoms; /* if range prop, num_atoms == 1; if enum prop, num_atoms == num_enums + 1 */ int num_atoms; /* if range prop, num_atoms == 1; if enum prop, num_atoms == num_enums + 1 */
Atom *atoms; Atom *atoms;
} drmmode_prop_rec, *drmmode_prop_ptr; } drmmode_prop_rec, *drmmode_prop_ptr;
typedef struct { typedef struct {
drmmode_ptr drmmode; drmmode_ptr drmmode;
int output_id; int output_id;
@ -97,16 +96,16 @@ typedef struct _msPixmapPriv {
struct dumb_bo *backing_bo; /* if this pixmap is backed by a dumb bo */ struct dumb_bo *backing_bo; /* if this pixmap is backed by a dumb bo */
} msPixmapPrivRec, *msPixmapPrivPtr; } msPixmapPrivRec, *msPixmapPrivPtr;
extern DevPrivateKeyRec msPixmapPrivateKeyRec; extern DevPrivateKeyRec msPixmapPrivateKeyRec;
#define msPixmapPrivateKey (&msPixmapPrivateKeyRec) #define msPixmapPrivateKey (&msPixmapPrivateKeyRec)
#define msGetPixmapPriv(drmmode, p) ((msPixmapPrivPtr)dixGetPrivateAddr(&(p)->devPrivates, &(drmmode)->pixmapPrivateKeyRec)) #define msGetPixmapPriv(drmmode, p) ((msPixmapPrivPtr)dixGetPrivateAddr(&(p)->devPrivates, &(drmmode)->pixmapPrivateKeyRec))
void *drmmode_map_slave_bo(drmmode_ptr drmmode, msPixmapPrivPtr ppriv); void *drmmode_map_slave_bo(drmmode_ptr drmmode, msPixmapPrivPtr ppriv);
Bool drmmode_SetSlaveBO(PixmapPtr ppix, Bool drmmode_SetSlaveBO(PixmapPtr ppix,
drmmode_ptr drmmode, drmmode_ptr drmmode,
int fd_handle, int pitch, int size); int fd_handle, int pitch, int size);
extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp); extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp);
void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y); void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y);
@ -120,8 +119,8 @@ Bool drmmode_create_initial_bos(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
void *drmmode_map_front_bo(drmmode_ptr drmmode); void *drmmode_map_front_bo(drmmode_ptr drmmode);
Bool drmmode_map_cursor_bos(ScrnInfoPtr pScrn, drmmode_ptr drmmode); Bool drmmode_map_cursor_bos(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
void drmmode_free_bos(ScrnInfoPtr pScrn, drmmode_ptr drmmode); void drmmode_free_bos(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
void drmmode_get_default_bpp(ScrnInfoPtr pScrn, drmmode_ptr drmmmode, int *depth, int *bpp); void drmmode_get_default_bpp(ScrnInfoPtr pScrn, drmmode_ptr drmmmode,
int *depth, int *bpp);
#ifndef DRM_CAP_DUMB_PREFERRED_DEPTH #ifndef DRM_CAP_DUMB_PREFERRED_DEPTH
#define DRM_CAP_DUMB_PREFERRED_DEPTH 3 #define DRM_CAP_DUMB_PREFERRED_DEPTH 3
@ -132,5 +131,4 @@ void drmmode_get_default_bpp(ScrnInfoPtr pScrn, drmmode_ptr drmmmode, int *depth
#define MS_ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) #define MS_ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
#endif #endif

View File

@ -47,6 +47,9 @@ The framebuffer device to use. Default: /dev/dri/card0.
.BI "Option \*qShadowFB\*q \*q" boolean \*q .BI "Option \*qShadowFB\*q \*q" boolean \*q
Enable or disable use of the shadow framebuffer layer. Default: on. Enable or disable use of the shadow framebuffer layer. Default: on.
.TP .TP
.BI "Option \*qAccelMethod\*q \*q" string \*q
One of \*qglamor\*q or \*qnone\*q. Default: glamor
.TP
.SH "SEE ALSO" .SH "SEE ALSO"
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__),
X(__miscmansuffix__) X(__miscmansuffix__)