From patchwork Wed Oct 14 13:56:55 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 53677 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n9EDvCBh015866 for ; Wed, 14 Oct 2009 13:57:12 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 801E6A08D4; Wed, 14 Oct 2009 06:57:12 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail.ffwll.ch (cable-static-49-187.intergga.ch [157.161.49.187]) by gabe.freedesktop.org (Postfix) with ESMTP id 1F480A08CB for ; Wed, 14 Oct 2009 06:57:07 -0700 (PDT) Received: by mail.ffwll.ch (Postfix, from userid 1000) id 2B38D20C15A; Wed, 14 Oct 2009 15:57:07 +0200 (CEST) X-Spam-ASN: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on orange.ffwll.ch X-Spam-Level: X-Spam-Hammy: 0.000-+--signed-off-by, 0.000-+--signedoffby, 0.000-+--100644 X-Spam-Status: No, score=-4.4 required=6.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Spammy: 0.966-+--H*Ad:U*daniel.vetter, 0.963-+--H*m:ffwll, 0.949-+--H*r:mail.ffwll.ch Received: from biene (unknown [192.168.23.129]) by mail.ffwll.ch (Postfix) with ESMTP id 34BB320C160; Wed, 14 Oct 2009 15:56:51 +0200 (CEST) Received: from daniel by biene with local (Exim 4.69) (envelope-from ) id 1My4Ln-0001Uc-07; Wed, 14 Oct 2009 15:57:11 +0200 From: Daniel Vetter To: intel-gfx@lists.freedesktop.org Date: Wed, 14 Oct 2009 15:56:55 +0200 Message-Id: <2664d0b49e754833be15e3beb1758242cbc50d1a.1255528349.git.daniel.vetter@ffwll.ch> X-Mailer: git-send-email 1.6.4.3 In-Reply-To: References: <2460d76ad5480bde2371b54120d2dcd9c1da0bcc.1255528349.git.daniel.vetter@ffwll.ch> In-Reply-To: References: Cc: Daniel Vetter Subject: [Intel-gfx] [PATCH 3/3] Xv overlay: further cleanups X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.9 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org diff --git a/src/i830_video.c b/src/i830_video.c index 69276de..aaaf78f 100644 --- a/src/i830_video.c +++ b/src/i830_video.c @@ -140,17 +140,13 @@ static XF86VideoFormatRec Formats[NUM_FORMATS] = { {15, TrueColor}, {16, TrueColor}, {24, TrueColor} }; -#define CLONE_ATTRIBUTES 1 -static XF86AttributeRec CloneAttributes[CLONE_ATTRIBUTES] = { - {XvSettable | XvGettable, -1, 1, "XV_PIPE"} -}; - -#define NUM_ATTRIBUTES 4 +#define NUM_ATTRIBUTES 5 static XF86AttributeRec Attributes[NUM_ATTRIBUTES] = { {XvSettable | XvGettable, 0, (1 << 24) - 1, "XV_COLORKEY"}, {XvSettable | XvGettable, -128, 127, "XV_BRIGHTNESS"}, {XvSettable | XvGettable, 0, 255, "XV_CONTRAST"}, - {XvSettable | XvGettable, 0, 1023, "XV_SATURATION"} + {XvSettable | XvGettable, 0, 1023, "XV_SATURATION"}, + {XvSettable | XvGettable, -1, 1, "XV_PIPE"} }; #define NUM_TEXTURED_ATTRIBUTES 3 @@ -205,6 +201,7 @@ static XF86ImageRec Images[NUM_IMAGES] = { }; /* kernel modesetting overlay functions */ +#define DRM_MODE_OVERLAY_LANDED static Bool drmmode_has_overlay(ScrnInfoPtr scrn) { #ifdef DRM_MODE_OVERLAY_LANDED @@ -390,18 +387,16 @@ void I830InitVideo(ScreenPtr screen) } } - /* Set up overlay video if we can do it at this depth. */ - if (!OVERLAY_NOEXIST(intel) && scrn->bitsPerPixel != 8) { - intel->use_drmmode_overlay = drmmode_has_overlay(scrn); - if (intel->use_drmmode_overlay) { - overlayAdaptor = I830SetupImageVideoOverlay(screen); - if (overlayAdaptor != NULL) { - xf86DrvMsg(scrn->scrnIndex, X_INFO, - "Set up overlay video\n"); - } else { - xf86DrvMsg(scrn->scrnIndex, X_ERROR, - "Failed to set up overlay video\n"); - } + /* Set up overlay video if it is available */ + intel->use_drmmode_overlay = drmmode_has_overlay(scrn); + if (intel->use_drmmode_overlay) { + overlayAdaptor = I830SetupImageVideoOverlay(screen); + if (overlayAdaptor != NULL) { + xf86DrvMsg(scrn->scrnIndex, X_INFO, + "Set up overlay video\n"); + } else { + xf86DrvMsg(scrn->scrnIndex, X_ERROR, + "Failed to set up overlay video\n"); } } @@ -470,7 +465,6 @@ static XF86VideoAdaptorPtr I830SetupImageVideoOverlay(ScreenPtr screen) adapt->pPortPrivates[0].ptr = (pointer) (adaptor_priv); adapt->nAttributes = NUM_ATTRIBUTES; - adapt->nAttributes += CLONE_ATTRIBUTES; if (IS_I9XX(intel)) adapt->nAttributes += GAMMA_ATTRIBUTES; /* has gamma */ adapt->pAttributes = @@ -480,9 +474,6 @@ static XF86VideoAdaptorPtr I830SetupImageVideoOverlay(ScreenPtr screen) memcpy((char *)att, (char *)Attributes, sizeof(XF86AttributeRec) * NUM_ATTRIBUTES); att += NUM_ATTRIBUTES; - memcpy((char *)att, (char *)CloneAttributes, - sizeof(XF86AttributeRec) * CLONE_ATTRIBUTES); - att += CLONE_ATTRIBUTES; if (IS_I9XX(intel)) { memcpy((char *)att, (char *)GammaAttributes, sizeof(XF86AttributeRec) * GAMMA_ATTRIBUTES);