r300g: Dual-source blending isn't possible, period.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Sat, 30 Jan 2010 20:03:20 +0000 (12:03 -0800)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Sat, 30 Jan 2010 20:03:20 +0000 (12:03 -0800)
src/gallium/drivers/r300/r300_screen.c
src/gallium/drivers/r300/r300_state_inlines.h

index 7df3ad02c8c2ff6b99c62c131b0a3d8649cb329b..ae3155c0ed1692710dcc909100ce113fef09c966 100644 (file)
@@ -114,7 +114,6 @@ static int r300_get_param(struct pipe_screen* pscreen, int param)
              */
             return 1;
         case PIPE_CAP_DUAL_SOURCE_BLEND:
-            /* XXX need to figure out how to do it */
             return 0;
         case PIPE_CAP_ANISOTROPIC_FILTER:
             return 1;
index faa049492fe7bbec72268b97f13871962b27cdb7..5df6815221f600dbfeddff0dba976db653b41f79 100644 (file)
@@ -81,9 +81,6 @@ static INLINE uint32_t r300_translate_blend_factor(int blend_fact)
             return R300_BLEND_GL_CONST_COLOR;
         case PIPE_BLENDFACTOR_CONST_ALPHA:
             return R300_BLEND_GL_CONST_ALPHA;
-        /* XXX WTF are these?
-        case PIPE_BLENDFACTOR_SRC1_COLOR:
-        case PIPE_BLENDFACTOR_SRC1_ALPHA: */
         case PIPE_BLENDFACTOR_ZERO:
             return R300_BLEND_GL_ZERO;
         case PIPE_BLENDFACTOR_INV_SRC_COLOR:
@@ -98,9 +95,16 @@ static INLINE uint32_t r300_translate_blend_factor(int blend_fact)
             return R300_BLEND_GL_ONE_MINUS_CONST_COLOR;
         case PIPE_BLENDFACTOR_INV_CONST_ALPHA:
             return R300_BLEND_GL_ONE_MINUS_CONST_ALPHA;
-        /* XXX see above
+
+        case PIPE_BLENDFACTOR_SRC1_COLOR:
+        case PIPE_BLENDFACTOR_SRC1_ALPHA:
         case PIPE_BLENDFACTOR_INV_SRC1_COLOR:
-        case PIPE_BLENDFACTOR_INV_SRC1_ALPHA: */
+        case PIPE_BLENDFACTOR_INV_SRC1_ALPHA:
+            debug_printf("r300: Implementation error: "
+                "Bad blend factor %d not supported!\n", blend_fact);
+            assert(0);
+            break;
+
         default:
             debug_printf("r300: Unknown blend factor %d\n", blend_fact);
             assert(0);