http://drm.bkbits.net/drm-2.6
drm.adm@hostme.bitkeeper.com|ChangeSet|20040601122547|32717 drm.adm

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/06/01 22:25:46+10:00 airlied@starflyer.(none) 
#   add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color, GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
#   from Roland Scheidegger
#   
#   Signed-off-by: Dave Airlie <airlied@linux.ie>
# 
# drivers/char/drm/radeon_state.c
#   2004/06/01 22:25:40+10:00 airlied@starflyer.(none) +2 -0
#   add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color, GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
#   from Roland Scheidegger
#   
#   Signed-off-by: Dave Airlie <airlied@linux.ie>
# 
# drivers/char/drm/radeon_drv.h
#   2004/06/01 22:25:40+10:00 airlied@starflyer.(none) +1 -0
#   add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color, GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
#   from Roland Scheidegger
#   
#   Signed-off-by: Dave Airlie <airlied@linux.ie>
# 
# drivers/char/drm/radeon_drm.h
#   2004/06/01 22:25:40+10:00 airlied@starflyer.(none) +2 -1
#   add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color, GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
#   from Roland Scheidegger
#   
#   Signed-off-by: Dave Airlie <airlied@linux.ie>
# 
# drivers/char/drm/radeon.h
#   2004/06/01 22:25:40+10:00 airlied@starflyer.(none) +3 -1
#   add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color, GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
#   from Roland Scheidegger
#   
#   Signed-off-by: Dave Airlie <airlied@linux.ie>
# 
# ChangeSet
#   2004/06/01 22:17:28+10:00 airlied@starflyer.(none) 
#   fix missing DRM_ERR()s - Eric Anholt
#   
#   Signed-off-by: Dave Airlie <airlied@linux.ie>
# 
# drivers/char/drm/radeon_mem.c
#   2004/06/01 22:14:45+10:00 airlied@starflyer.(none) +2 -2
#   fix missing DRM_ERR()s - Eric Anholt
#   
#   Signed-off-by: Dave Airlie <airlied@linux.ie>
# 
# drivers/char/drm/r128_state.c
#   2004/06/01 22:14:45+10:00 airlied@starflyer.(none) +4 -4
#   fix missing DRM_ERR()s - Eric Anholt
#   
#   Signed-off-by: Dave Airlie <airlied@linux.ie>
# 
# ChangeSet
#   2004/04/26 18:15:47-07:00 akpm@bix.(none) 
#   Merge http://drm.bkbits.net/drm-2.6 into bix.(none):/usr/src/bk-drm
# 
# drivers/char/drm/i830_irq.c
#   2004/04/26 18:15:44-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/char/drm/i830_dma.c
#   2004/04/26 18:15:44-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/char/drm/i810_dma.c
#   2004/04/26 18:15:44-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/21 21:56:23-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-drm
# 
# drivers/char/drm/i810_dma.c
#   2004/04/21 21:56:20-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/12 20:53:29-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-drm
# 
# drivers/char/drm/i830_irq.c
#   2004/04/12 20:53:26-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/char/drm/i830_dma.c
#   2004/04/12 20:53:26-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/char/drm/i810_dma.c
#   2004/04/12 20:53:26-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
diff -Nru a/drivers/char/drm/r128_state.c b/drivers/char/drm/r128_state.c
--- a/drivers/char/drm/r128_state.c	2004-06-02 23:40:53 -07:00
+++ b/drivers/char/drm/r128_state.c	2004-06-02 23:40:53 -07:00
@@ -916,7 +916,7 @@
 
 	count = depth->n;
 	if (count > 4096 || count <= 0)
-		return -EMSGSIZE;
+		return DRM_ERR(EMSGSIZE);
 
 	if ( DRM_COPY_FROM_USER( &x, depth->x, sizeof(x) ) ) {
 		return DRM_ERR(EFAULT);
@@ -1012,7 +1012,7 @@
 
 	count = depth->n;
 	if (count > 4096 || count <= 0)
-		return -EMSGSIZE;
+		return DRM_ERR(EMSGSIZE);
 
 	xbuf_size = count * sizeof(*x);
 	ybuf_size = count * sizeof(*y);
@@ -1131,7 +1131,7 @@
 
 	count = depth->n;
 	if (count > 4096 || count <= 0)
-		return -EMSGSIZE;
+		return DRM_ERR(EMSGSIZE);
 
 	if ( DRM_COPY_FROM_USER( &x, depth->x, sizeof(x) ) ) {
 		return DRM_ERR(EFAULT);
@@ -1176,7 +1176,7 @@
 
 	count = depth->n;
 	if (count > 4096 || count <= 0)
-		return -EMSGSIZE;
+		return DRM_ERR(EMSGSIZE);
 
 	if ( count > dev_priv->depth_pitch ) {
 		count = dev_priv->depth_pitch;
diff -Nru a/drivers/char/drm/radeon.h b/drivers/char/drm/radeon.h
--- a/drivers/char/drm/radeon.h	2004-06-02 23:40:53 -07:00
+++ b/drivers/char/drm/radeon.h	2004-06-02 23:40:53 -07:00
@@ -51,7 +51,7 @@
 #define DRIVER_DATE		"20020828"
 
 #define DRIVER_MAJOR		1
-#define DRIVER_MINOR		10
+#define DRIVER_MINOR		11
 #define DRIVER_PATCHLEVEL	0
 
 /* Interface history:
@@ -84,6 +84,8 @@
  * 1.10- Add SETPARAM ioctl; first parameter to set is FB_LOCATION, which
  *       clients use to tell the DRM where they think the framebuffer is 
  *       located in the card's address space
+ * 1.11- Add packet R200_EMIT_RB3D_BLENDCOLOR to support GL_EXT_blend_color
+ *       and GL_EXT_blend_[func|equation]_separate on r200
  */
 #define DRIVER_IOCTLS							     \
  [DRM_IOCTL_NR(DRM_IOCTL_DMA)]               = { radeon_cp_buffers,  1, 0 }, \
diff -Nru a/drivers/char/drm/radeon_drm.h b/drivers/char/drm/radeon_drm.h
--- a/drivers/char/drm/radeon_drm.h	2004-06-02 23:40:53 -07:00
+++ b/drivers/char/drm/radeon_drm.h	2004-06-02 23:40:53 -07:00
@@ -144,7 +144,8 @@
 #define RADEON_EMIT_PP_TEX_SIZE_0                   73
 #define RADEON_EMIT_PP_TEX_SIZE_1                   74
 #define RADEON_EMIT_PP_TEX_SIZE_2                   75
-#define RADEON_MAX_STATE_PACKETS                    76
+#define R200_EMIT_RB3D_BLENDCOLOR                   76
+#define RADEON_MAX_STATE_PACKETS                    77
 
 
 /* Commands understood by cmd_buffer ioctl.  More can be added but
diff -Nru a/drivers/char/drm/radeon_drv.h b/drivers/char/drm/radeon_drv.h
--- a/drivers/char/drm/radeon_drv.h	2004-06-02 23:40:53 -07:00
+++ b/drivers/char/drm/radeon_drv.h	2004-06-02 23:40:53 -07:00
@@ -690,6 +690,7 @@
 #define R200_SE_VTX_FMT_1                 0x208c
 #define R200_RE_CNTL                      0x1c50 
 
+#define R200_RB3D_BLENDCOLOR              0x3218
 
 /* Constants */
 #define RADEON_MAX_USEC_TIMEOUT		100000	/* 100 ms */
diff -Nru a/drivers/char/drm/radeon_mem.c b/drivers/char/drm/radeon_mem.c
--- a/drivers/char/drm/radeon_mem.c	2004-06-02 23:40:53 -07:00
+++ b/drivers/char/drm/radeon_mem.c	2004-06-02 23:40:53 -07:00
@@ -137,12 +137,12 @@
 	struct mem_block *blocks = DRM_MALLOC(sizeof(*blocks));
 
 	if (!blocks) 
-		return -ENOMEM;
+		return DRM_ERR(ENOMEM);
 	
 	*heap = DRM_MALLOC(sizeof(**heap));
 	if (!*heap) {
 		DRM_FREE( blocks, sizeof(*blocks) );
-		return -ENOMEM;
+		return DRM_ERR(ENOMEM);
 	}
 
 	blocks->start = start;
diff -Nru a/drivers/char/drm/radeon_state.c b/drivers/char/drm/radeon_state.c
--- a/drivers/char/drm/radeon_state.c	2004-06-02 23:40:53 -07:00
+++ b/drivers/char/drm/radeon_state.c	2004-06-02 23:40:53 -07:00
@@ -201,6 +201,7 @@
 	case RADEON_EMIT_PP_TEX_SIZE_0:
 	case RADEON_EMIT_PP_TEX_SIZE_1:
 	case RADEON_EMIT_PP_TEX_SIZE_2:
+	case R200_EMIT_RB3D_BLENDCOLOR:
 		/* These packets don't contain memory offsets */
 		break;
 
@@ -563,6 +564,7 @@
 	{ RADEON_PP_TEX_SIZE_0, 2, "RADEON_PP_TEX_SIZE_0" },
 	{ RADEON_PP_TEX_SIZE_1, 2, "RADEON_PP_TEX_SIZE_1" },
 	{ RADEON_PP_TEX_SIZE_2, 2, "RADEON_PP_TEX_SIZE_1" },
+	{ R200_RB3D_BLENDCOLOR, 3, "R200_RB3D_BLENDCOLOR" },
 };
 
 
