summaryrefslogtreecommitdiff
path: root/src/radeon_video.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/radeon_video.c')
-rw-r--r--src/radeon_video.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/radeon_video.c b/src/radeon_video.c
index 56cd9abd..b07636c2 100644
--- a/src/radeon_video.c
+++ b/src/radeon_video.c
@@ -16,6 +16,10 @@
#include "xf86.h"
#include "dixstruct.h"
+#ifdef USE_GLAMOR
+#include <glamor.h>
+#endif
+
/* DPMS */
#ifdef HAVE_XEXTPROTO_71
#include <X11/extensions/dpmsconst.h>
@@ -165,9 +169,18 @@ void RADEONInitVideo(ScreenPtr pScreen)
memcpy(newAdaptors, adaptors, num_adaptors * sizeof(XF86VideoAdaptorPtr));
adaptors = newAdaptors;
- if ((info->ChipFamily < CHIP_FAMILY_RS400)
- || (info->directRenderingEnabled)
- ) {
+#ifdef USE_GLAMOR
+ if (info->use_glamor) {
+ texturedAdaptor = glamor_xv_init(pScreen, 16);
+ if (texturedAdaptor != NULL) {
+ adaptors[num_adaptors++] = texturedAdaptor;
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Set up glamor textured video\n");
+ } else
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to set up glamor textured video\n");
+ } else
+#endif
+ if ((info->ChipFamily < CHIP_FAMILY_RS400)
+ || info->directRenderingEnabled) {
texturedAdaptor = RADEONSetupImageTexturedVideo(pScreen);
if (texturedAdaptor != NULL) {
adaptors[num_adaptors++] = texturedAdaptor;