nouveau: nv30 does not support separate blend functions for alpha and rgb
authorPatrice Mandin <patmandin@gmail.com>
Wed, 21 Jan 2009 20:59:10 +0000 (21:59 +0100)
committerPatrice Mandin <patmandin@gmail.com>
Wed, 21 Jan 2009 21:08:21 +0000 (22:08 +0100)
src/gallium/drivers/nv30/nv30_state.c

index fc66075c83f4e595447de0fccdb9a8b3f3440c38..47e1a625afae474081e6d13b39a528c2698a4ddc 100644 (file)
@@ -23,9 +23,10 @@ nv30_blend_state_create(struct pipe_context *pipe,
                               nvgl_blend_func(cso->rgb_src_factor));
                so_data  (so, nvgl_blend_func(cso->alpha_dst_factor) << 16 |
                              nvgl_blend_func(cso->rgb_dst_factor));
+               /* FIXME: Gallium assumes GL_EXT_blend_func_separate.
+                  It is not the case for NV30 */
                so_method(so, rankine, NV34TCL_BLEND_EQUATION, 1);
-               so_data  (so, nvgl_blend_eqn(cso->alpha_func) << 16 |
-                             nvgl_blend_eqn(cso->rgb_func));
+               so_data  (so, nvgl_blend_eqn(cso->rgb_func));
        } else {
                so_method(so, rankine, NV34TCL_BLEND_FUNC_ENABLE, 1);
                so_data  (so, 0);