diff options
author | Cooper Yuan <cooperyuan@gmail.com> | 2009-09-14 14:59:44 +0800 |
---|---|---|
committer | Cooper Yuan <cooperyuan@gmail.com> | 2009-09-14 14:59:44 +0800 |
commit | 770351d4592c3ed5f8bb3dcd862a6397cd09e934 (patch) | |
tree | ed40e461cb6c27d92719eceae30e7490924eb543 | |
parent | 96b0dd79581806248ae2bff3bc322b1e9c1802df (diff) |
xvmc: fix register failure because of unmatched name with texture adaptor
-rw-r--r-- | src/radeon_hwmc.c | 55 | ||||
-rw-r--r-- | src/radeon_hwmc.h | 2 |
2 files changed, 21 insertions, 36 deletions
diff --git a/src/radeon_hwmc.c b/src/radeon_hwmc.c index 997b095..7dcf09d 100644 --- a/src/radeon_hwmc.c +++ b/src/radeon_hwmc.c @@ -103,24 +103,9 @@ static XF86ImagePtr SubPictures[] = (XF86ImagePtr) &radeon_subpicture }; -static XF86MCAdaptorRec R100Adapt = -{ - .name = "AMD(R) R100 XvMC Video", - .num_surfaces = ARRAY_SIZE(Surfaces), - .surfaces = Surfaces, - .num_subpictures = ARRAY_SIZE(SubPictures), - .subpictures = SubPictures, - .CreateContext = NULL, - .DestroyContext = NULL, - .CreateSurface = NULL, - .DestroySurface = NULL, - .CreateSubpicture = NULL, - .DestroySubpicture = NULL, -}; - static XF86MCAdaptorRec R300Adapt = { - .name = "AMD(R) R300 XvMC Video", + .name = "", .num_surfaces = ARRAY_SIZE(Surfaces), .surfaces = Surfaces, .num_subpictures = ARRAY_SIZE(SubPictures), @@ -133,7 +118,7 @@ static XF86MCAdaptorRec R300Adapt = .DestroySubpicture = NULL, }; -XF86MCAdaptorPtr RADEONCreateAdaptor(ScreenPtr pScreen) +XF86MCAdaptorPtr RADEONCreateAdaptor(ScreenPtr pScreen, char *adaptor_name) { ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; RADEONInfoPtr info = RADEONPTR(pScrn); @@ -148,19 +133,11 @@ XF86MCAdaptorPtr RADEONCreateAdaptor(ScreenPtr pScreen) return NULL; } - if (info->ChipFamily >= CHIP_FAMILY_RV100 && - info->ChipFamily < CHIP_FAMILY_R300) - { - *xv_adaptor = R100Adapt; - } - else if (info->ChipFamily >= CHIP_FAMILY_R300 && - info->ChipFamily < CHIP_FAMILY_RS600) - { - *xv_adaptor = R300Adapt; - } + *xv_adaptor = R300Adapt; + xv_adaptor->name = adaptor_name; - xf86DrvMsg(pScrn->scrnIndex, X_INFO, - "[XvMC] Create adaptor for %s\n", xv_adaptor->name); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[XvMC] Create adaptor for %s\n", + xv_adaptor->name); return xv_adaptor; } @@ -168,7 +145,7 @@ XF86MCAdaptorPtr RADEONCreateAdaptor(ScreenPtr pScreen) void RADEONDestroyAdaptor(XF86MCAdaptorPtr xv_adaptor) { assert(xv_adaptor); - xf86XvMCDestoryAdaptorRec(xv_adaptor); + xf86XvMCDestroyAdaptorRec(xv_adaptor); } Bool RADEONInitHwmc(ScreenPtr pScreen, unsigned int num_adaptors, @@ -199,11 +176,19 @@ Bool RADEONInitHwmc(ScreenPtr pScreen, unsigned int num_adaptors, info->PciInfo->dev, info->PciInfo->func); - xf86XvMCRegisterDRInfo(pScreen, RADEON_XVMC_LIBNAME, - buf, - RADEON_XVMC_MAJOR, - RADEON_XVMC_MINOR, - RADEON_XVMC_PATCHLEVEL); + if (xf86XvMCRegisterDRInfo(pScreen, RADEON_XVMC_LIBNAME, + buf, + RADEON_XVMC_MAJOR, + RADEON_XVMC_MINOR, + RADEON_XVMC_PATCHLEVEL) != Success) + { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[XvMC] Failed to register lib\n"); + } + else + { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[XvMC] Client lib registered\n"); + } + return status; } diff --git a/src/radeon_hwmc.h b/src/radeon_hwmc.h index 9bebd39..6d52120 100644 --- a/src/radeon_hwmc.h +++ b/src/radeon_hwmc.h @@ -29,7 +29,7 @@ #include <xf86xvmc.h> -extern XF86MCAdaptorPtr RADEONCreateAdaptor(ScreenPtr pScreen); +extern XF86MCAdaptorPtr RADEONCreateAdaptor(ScreenPtr pScreen, char *adaptor_name); extern void RADEONInitHwmc(ScreenPtr pScreen, unsigned int num_adaptors, XF86MCAdaptorPtr *pAdaptor); extern void RADEONDestroyAdaptor(XF86MCAdaptorPtr xv_adaptor); |