summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2010-01-30 12:03:20 -0800
committerCorbin Simpson <[email protected]>2010-01-30 12:03:20 -0800
commitbfbec0818f0e7ab9358809a1af732a1366245507 (patch)
tree4a0c8534f91921664d87632bc4e2846ea30c3585
parent5a64bdaa0150c0d3883953237b7b8a910c98e5b3 (diff)
r300g: Dual-source blending isn't possible, period.
-rw-r--r--src/gallium/drivers/r300/r300_screen.c1
-rw-r--r--src/gallium/drivers/r300/r300_state_inlines.h14
2 files changed, 9 insertions, 6 deletions
diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c
index 7df3ad02c8c..ae3155c0ed1 100644
--- a/src/gallium/drivers/r300/r300_screen.c
+++ b/src/gallium/drivers/r300/r300_screen.c
@@ -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;
diff --git a/src/gallium/drivers/r300/r300_state_inlines.h b/src/gallium/drivers/r300/r300_state_inlines.h
index faa049492fe..5df6815221f 100644
--- a/src/gallium/drivers/r300/r300_state_inlines.h
+++ b/src/gallium/drivers/r300/r300_state_inlines.h
@@ -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);