diff options
author | Roland Scheidegger <sroland@tungstengraphics.com> | 2009-03-05 02:07:46 +0100 |
---|---|---|
committer | Roland Scheidegger <sroland@tungstengraphics.com> | 2009-03-24 19:57:26 +0100 |
commit | 18e56eb179fde28477487c63e6f9ebf7579e2cd5 (patch) | |
tree | e0a4c6597a2c29f2a7bdfbce7b084306404018df /src/radeon_video.c | |
parent | 58530bf4912800f9e09ebaea42a13cff8a80c19e (diff) |
don't convert planar yuv to packed for r200
uses 3 textures for planar yuv and does yuv->rgb conversion in the shader.
Similar to r300 code, but might have precision issues - hardware alu should
have enough precision but hardware consts are only 8bit and we'd want
at least 11.
This also enables textured video on rv250 (and also supports packed yuv
on that chip by using basically the same shader with packed data).
Diffstat (limited to 'src/radeon_video.c')
-rw-r--r-- | src/radeon_video.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/radeon_video.c b/src/radeon_video.c index 92d1a718..a2a4696d 100644 --- a/src/radeon_video.c +++ b/src/radeon_video.c @@ -297,22 +297,19 @@ void RADEONInitVideo(ScreenPtr pScreen) RADEONInitOffscreenImages(pScreen); } - if (info->ChipFamily != CHIP_FAMILY_RV250) { - if ((info->ChipFamily < CHIP_FAMILY_RS400) + if ((info->ChipFamily < CHIP_FAMILY_RS400) #ifdef XF86DRI - || (info->directRenderingEnabled) + || (info->directRenderingEnabled) #endif - ) { - texturedAdaptor = RADEONSetupImageTexturedVideo(pScreen); - if (texturedAdaptor != NULL) { - adaptors[num_adaptors++] = texturedAdaptor; - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Set up textured video\n"); - } else - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to set up textured video\n"); + ) { + texturedAdaptor = RADEONSetupImageTexturedVideo(pScreen); + if (texturedAdaptor != NULL) { + adaptors[num_adaptors++] = texturedAdaptor; + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Set up textured video\n"); } else - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Textured video requires CP on R5xx/R6xx/R7xx/IGP\n"); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to set up textured video\n"); } else - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Textured video disabled on RV250 due to HW bug\n"); + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Textured video requires CP on R5xx/R6xx/R7xx/IGP\n"); if(num_adaptors) xf86XVScreenInit(pScreen, adaptors, num_adaptors); |