summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeif Delgass <ldelgass@users.sourceforge.net>2003-05-26 20:04:53 +0000
committerLeif Delgass <ldelgass@users.sourceforge.net>2003-05-26 20:04:53 +0000
commitaeb4bc3f5b991d7970dca9417e04df06c0bf008a (patch)
tree024da2bca40e74ef9bf3c7c53c26a1166f74d0a9
parentc0efa1a777baf90561a31957014d760f89146e4f (diff)
downloaddrm-aeb4bc3f5b991d7970dca9417e04df06c0bf008a.tar.gz
Add support to r128 for MESA_ycbcr_texture (Ian Romanick, Leif Delgass)
-rw-r--r--shared-core/r128_drv.h7
-rw-r--r--shared-core/r128_state.c2
-rw-r--r--shared/r128.h10
-rw-r--r--shared/r128_drv.h7
-rw-r--r--shared/r128_state.c2
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: