From aeb4bc3f5b991d7970dca9417e04df06c0bf008a Mon Sep 17 00:00:00 2001 From: Leif Delgass Date: Mon, 26 May 2003 20:04:53 +0000 Subject: Add support to r128 for MESA_ycbcr_texture (Ian Romanick, Leif Delgass) --- shared-core/r128_drv.h | 7 +++++++ shared-core/r128_state.c | 2 ++ shared/r128.h | 10 +++++++--- shared/r128_drv.h | 7 +++++++ shared/r128_state.c | 2 ++ 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/shared-core/r128_drv.h b/shared-core/r128_drv.h index 3dee2e94..9f96fcd0 100644 --- a/shared-core/r128_drv.h +++ b/shared-core/r128_drv.h @@ -343,13 +343,20 @@ extern int r128_cce_indirect( DRM_IOCTL_ARGS ); #define R128_CCE_VC_CNTL_PRIM_WALK_RING 0x00000030 #define R128_CCE_VC_CNTL_NUM_SHIFT 16 +#define R128_DATATYPE_VQ 0 +#define R128_DATATYPE_CI4 1 #define R128_DATATYPE_CI8 2 #define R128_DATATYPE_ARGB1555 3 #define R128_DATATYPE_RGB565 4 #define R128_DATATYPE_RGB888 5 #define R128_DATATYPE_ARGB8888 6 #define R128_DATATYPE_RGB332 7 +#define R128_DATATYPE_Y8 8 #define R128_DATATYPE_RGB8 9 +#define R128_DATATYPE_CI16 10 +#define R128_DATATYPE_YVYU422 11 +#define R128_DATATYPE_VYUY422 12 +#define R128_DATATYPE_AYUV444 14 #define R128_DATATYPE_ARGB4444 15 /* Constants */ diff --git a/shared-core/r128_state.c b/shared-core/r128_state.c index 8b9e97cf..27720cff 100644 --- a/shared-core/r128_state.c +++ b/shared-core/r128_state.c @@ -802,6 +802,8 @@ static int r128_cce_dispatch_blit( DRMFILE filp, case R128_DATATYPE_ARGB1555: case R128_DATATYPE_RGB565: case R128_DATATYPE_ARGB4444: + case R128_DATATYPE_YVYU422: + case R128_DATATYPE_VYUY422: dword_shift = 1; break; case R128_DATATYPE_CI8: diff --git a/shared/r128.h b/shared/r128.h index f23f46ee..94e43d73 100644 --- a/shared/r128.h +++ b/shared/r128.h @@ -47,13 +47,17 @@ #define DRIVER_NAME "r128" #define DRIVER_DESC "ATI Rage 128" -#define DRIVER_DATE "20021029" +#define DRIVER_DATE "20030526" #define DRIVER_MAJOR 2 -#define DRIVER_MINOR 3 +#define DRIVER_MINOR 4 #define DRIVER_PATCHLEVEL 0 - +/* Interface history: + * + * ?? - ?? + * 2.4 - Add support for ycbcr textures (no new ioctls) + */ #define DRIVER_IOCTLS \ [DRM_IOCTL_NR(DRM_IOCTL_DMA)] = { r128_cce_buffers, 1, 0 }, \ [DRM_IOCTL_NR(DRM_IOCTL_R128_INIT)] = { r128_cce_init, 1, 1 }, \ diff --git a/shared/r128_drv.h b/shared/r128_drv.h index 3dee2e94..9f96fcd0 100644 --- a/shared/r128_drv.h +++ b/shared/r128_drv.h @@ -343,13 +343,20 @@ extern int r128_cce_indirect( DRM_IOCTL_ARGS ); #define R128_CCE_VC_CNTL_PRIM_WALK_RING 0x00000030 #define R128_CCE_VC_CNTL_NUM_SHIFT 16 +#define R128_DATATYPE_VQ 0 +#define R128_DATATYPE_CI4 1 #define R128_DATATYPE_CI8 2 #define R128_DATATYPE_ARGB1555 3 #define R128_DATATYPE_RGB565 4 #define R128_DATATYPE_RGB888 5 #define R128_DATATYPE_ARGB8888 6 #define R128_DATATYPE_RGB332 7 +#define R128_DATATYPE_Y8 8 #define R128_DATATYPE_RGB8 9 +#define R128_DATATYPE_CI16 10 +#define R128_DATATYPE_YVYU422 11 +#define R128_DATATYPE_VYUY422 12 +#define R128_DATATYPE_AYUV444 14 #define R128_DATATYPE_ARGB4444 15 /* Constants */ diff --git a/shared/r128_state.c b/shared/r128_state.c index 8b9e97cf..27720cff 100644 --- a/shared/r128_state.c +++ b/shared/r128_state.c @@ -802,6 +802,8 @@ static int r128_cce_dispatch_blit( DRMFILE filp, case R128_DATATYPE_ARGB1555: case R128_DATATYPE_RGB565: case R128_DATATYPE_ARGB4444: + case R128_DATATYPE_YVYU422: + case R128_DATATYPE_VYUY422: dword_shift = 1; break; case R128_DATATYPE_CI8: -- cgit v1.2.3