diff options
author | root <root@localhost.localdomain> | 2009-09-13 22:56:48 -0400 |
---|---|---|
committer | root <root@localhost.localdomain> | 2009-09-13 22:56:48 -0400 |
commit | 57d1270415730ba2ff3415614707dd939572d48e (patch) | |
tree | 31d93454cc652bf71c423ad987e1a6b5eacb75d0 | |
parent | 654b8f2b5b31f1e121680fdfcb3de1d9cdc19ac8 (diff) |
xvmc: fix adaptor pointer error, also fix null busIDString in dri2
-rw-r--r-- | src/radeon_hwmc.c | 14 | ||||
-rw-r--r-- | src/radeon_hwmc.h | 4 | ||||
-rw-r--r-- | src/radeon_video.c | 4 |
3 files changed, 14 insertions, 8 deletions
diff --git a/src/radeon_hwmc.c b/src/radeon_hwmc.c index 4eeadac..997b095 100644 --- a/src/radeon_hwmc.c +++ b/src/radeon_hwmc.c @@ -172,17 +172,18 @@ void RADEONDestroyAdaptor(XF86MCAdaptorPtr xv_adaptor) } Bool RADEONInitHwmc(ScreenPtr pScreen, unsigned int num_adaptors, - XF86VideoAdaptorPtr *xv_adaptors) + XF86MCAdaptorPtr *pAdaptor) { ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; RADEONInfoPtr info = RADEONPTR(pScrn); Bool status = FALSE; + char buf[64]; int i; assert(pScrn); - assert(xv_adaptors); + assert(pAdaptor); - if (xf86XvMCScreenInit(pScreen, num_adaptors, xv_adaptors)) + if (xf86XvMCScreenInit(pScreen, num_adaptors, pAdaptor)) { xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[XvMC] Driver initialized\n"); status = TRUE; @@ -190,11 +191,16 @@ Bool RADEONInitHwmc(ScreenPtr pScreen, unsigned int num_adaptors, else { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "[XvMC] Failed to initialize\n"); + return status; } + sprintf(buf, "pci:%04x:%02x:%02x.%d",info->PciInfo->domain, + info->PciInfo->bus, + info->PciInfo->dev, + info->PciInfo->func); xf86XvMCRegisterDRInfo(pScreen, RADEON_XVMC_LIBNAME, - info->dri->pDRIInfo->busIdString, + buf, RADEON_XVMC_MAJOR, RADEON_XVMC_MINOR, RADEON_XVMC_PATCHLEVEL); diff --git a/src/radeon_hwmc.h b/src/radeon_hwmc.h index 655a93c..7a8d1e9 100644 --- a/src/radeon_hwmc.h +++ b/src/radeon_hwmc.h @@ -31,7 +31,7 @@ extern XF86MCAdaptorPtr RADEONCreateAdaptor(ScreenPtr pScreen); extern void RADEONInitHwmc(ScreenPtr pScreen, unsigned int num_adaptors, - XF86VideoAdaptorPtr * xv_adaptors); + XF86MCAdaptorPtr *pAdaptor); extern void RADEONDestroyAdaptor(XF86MCAdaptorPtr xv_adaptor); -#endif
\ No newline at end of file +#endif diff --git a/src/radeon_video.c b/src/radeon_video.c index 0e3d5fa..f3be905 100644 --- a/src/radeon_video.c +++ b/src/radeon_video.c @@ -318,10 +318,10 @@ void RADEONInitVideo(ScreenPtr pScreen) if (texturedAdaptor) { - XF86MCAdaptorPtr *adaptorXvMC = RADEONCreateAdaptor(pScreen); + XF86MCAdaptorPtr adaptorXvMC = RADEONCreateAdaptor(pScreen); if (adaptorXvMC) { - RADEONInitHwmc(pScreen, 1, adaptorXvMC); + RADEONInitHwmc(pScreen, 1, &adaptorXvMC); RADEONDestroyAdaptor(adaptorXvMC); } } |