summaryrefslogtreecommitdiff
path: root/src/radeon_video.c
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@tungstengraphics.com>2009-03-05 02:07:46 +0100
committerRoland Scheidegger <sroland@tungstengraphics.com>2009-03-24 19:57:26 +0100
commit18e56eb179fde28477487c63e6f9ebf7579e2cd5 (patch)
treee0a4c6597a2c29f2a7bdfbce7b084306404018df /src/radeon_video.c
parent58530bf4912800f9e09ebaea42a13cff8a80c19e (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.c21
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);