Mesa (master): r600g: Original R600 does not support per-MRT blends

Alex Deucher agd5f at kemper.freedesktop.org
Mon Mar 14 21:55:51 UTC 2011


Module: Mesa
Branch: master
Commit: d6fea4a9856598961dd0f69436df749e5aa8d077
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6fea4a9856598961dd0f69436df749e5aa8d077

Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Mon Mar 14 17:47:21 2011 -0400

r600g: Original R600 does not support per-MRT blends

Only rv6xx+ support them.

Signed-off-by: Alex Deucher <alexdeucher at gmail.com>

---

 src/gallium/drivers/r600/r600_pipe.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index 8303b72..0e28bda 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -280,19 +280,28 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
 	case PIPE_CAP_BLEND_EQUATION_SEPARATE:
 	case PIPE_CAP_SM3:
 	case PIPE_CAP_TEXTURE_SWIZZLE:
-	case PIPE_CAP_INDEP_BLEND_ENABLE:
 	case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE:
 	case PIPE_CAP_DEPTH_CLAMP:
 	case PIPE_CAP_SHADER_STENCIL_EXPORT:
 	case PIPE_CAP_TGSI_INSTANCEID:
 	case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR:
 		return 1;
+	case PIPE_CAP_INDEP_BLEND_ENABLE:
+		/* R600 doesn't support per-MRT blends */
+		if (family == CHIP_R600)
+			return 0;
+		else
+			return 1;
 
 	/* Unsupported features (boolean caps). */
 	case PIPE_CAP_STREAM_OUTPUT:
 	case PIPE_CAP_PRIMITIVE_RESTART:
 	case PIPE_CAP_INDEP_BLEND_FUNC: /* FIXME allow this */
-		return 0;
+		/* R600 doesn't support per-MRT blends */
+		if (family == CHIP_R600)
+			return 0;
+		else
+			return 0;
 
 	case PIPE_CAP_ARRAY_TEXTURES:
 		/* fix once the CS checker upstream is fixed */




More information about the mesa-commit mailing list