diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2009-12-01 14:32:34 +0100 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-01-07 10:26:01 -0800 |
commit | 229d23fb18d696fb7ad476ce335be14ec9811bd3 (patch) | |
tree | e556333067d2957799e01de58774c429d6bb6643 | |
parent | ce7ba18f577cc9aedddaff303dbc9662a276b4cf (diff) |
Xv: don't enable XVMC port on unsupported configs
This just makes it _really_ clear, what's supported. No other changes.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r-- | 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 397a2644..964f1e09 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, @@ -469,7 +475,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; @@ -528,6 +535,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; @@ -565,7 +574,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; |