[Intel-gfx] [PATCH 7/7] Xv: don't enable XVMC port on unsupported configs
Daniel Vetter
daniel.vetter at ffwll.ch
Tue Dec 1 14:32:34 CET 2009
This just makes it _really_ clear, what's support. No other changes.
Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
src/i830_video.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/i830_video.c b/src/i830_video.c
index ef3aae3..7b32214 100644
--- a/src/i830_video.c
+++ b/src/i830_video.c
@@ -169,7 +169,13 @@ static XF86AttributeRec GammaAttributes[GAMMA_ATTRIBUTES] = {
{XvSettable | XvGettable, 0, 0xffffff, "XV_GAMMA5"}
};
+#ifdef INTEL_XVMC
#define NUM_IMAGES 5
+#define XVMC_IMAGE 1
+#else
+#define NUM_IMAGES 4
+#define XVMC_IMAGE 0
+#endif
static XF86ImageRec Images[NUM_IMAGES] = {
XVIMAGE_YUY2,
@@ -481,7 +487,8 @@ static XF86VideoAdaptorPtr I830SetupImageVideoOverlay(ScreenPtr screen)
sizeof(XF86AttributeRec) * GAMMA_ATTRIBUTES);
att += GAMMA_ATTRIBUTES;
}
- adapt->nImages = NUM_IMAGES;
+ adapt->nImages = NUM_IMAGES - XVMC_IMAGE;
+
adapt->pImages = Images;
adapt->PutVideo = NULL;
adapt->PutStill = NULL;
@@ -540,6 +547,8 @@ static XF86VideoAdaptorPtr I830SetupImageVideoOverlay(ScreenPtr screen)
static XF86VideoAdaptorPtr I830SetupImageVideoTextured(ScreenPtr screen)
{
+ ScrnInfoPtr scrn = xf86Screens[screen->myNum];
+ intel_screen_private *intel = intel_get_screen_private(scrn);
XF86VideoAdaptorPtr adapt;
XF86AttributePtr attrs;
intel_adaptor_private *adaptor_privs;
@@ -577,7 +586,11 @@ static XF86VideoAdaptorPtr I830SetupImageVideoTextured(ScreenPtr screen)
adapt->pAttributes = attrs;
memcpy(attrs, TexturedAttributes,
nAttributes * sizeof(XF86AttributeRec));
- adapt->nImages = NUM_IMAGES;
+ if (IS_I915(intel))
+ adapt->nImages = NUM_IMAGES - XVMC_IMAGE;
+ else
+ adapt->nImages = NUM_IMAGES;
+
adapt->pImages = Images;
adapt->PutVideo = NULL;
adapt->PutStill = NULL;
--
1.6.5.3
More information about the Intel-gfx
mailing list