On 04/03/2012 07:16 AM, Dave Airlie wrote:
From: Dave Airlie<airl...@redhat.com>

survives piglit with no regressions on rv610/evergreen

Signed-off-by: Dave Airlie<airl...@redhat.com>
---
  src/gallium/drivers/r600/evergreen_state.c   |   16 +++++++++-------
  src/gallium/drivers/r600/r600_pipe.c         |    2 +-
  src/gallium/drivers/r600/r600_pipe.h         |    7 +++++++
  src/gallium/drivers/r600/r600_state.c        |   17 +++++++++++------
  src/gallium/drivers/r600/r600_state_common.c |   19 +++++++++++++++++--
  5 files changed, 45 insertions(+), 16 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c 
b/src/gallium/drivers/r600/evergreen_state.c
index 04844e8..237a490 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -27,6 +27,7 @@
  #include "util/u_pack_color.h"
  #include "util/u_memory.h"
  #include "util/u_framebuffer.h"
+#include "util/u_dual_blend.h"

  static uint32_t eg_num_banks(uint32_t nbanks)
  {
@@ -709,7 +710,8 @@ static void *evergreen_create_blend_state(struct 
pipe_context *ctx,
        
        r600_pipe_state_add_reg(rstate, R_028808_CB_COLOR_CONTROL,
                                color_control, NULL, 0);
-
+       /* only have dual source on MRT0 */
+       blend->dual_src_blend = util_blend_state_is_dual(state, 0);
        for (int i = 0; i<  8; i++) {
                /* state->rt entries>  0 only written if independent blending */
                const int j = state->independent_blend_enable ? i : 0;
@@ -1459,6 +1461,8 @@ static void evergreen_cb(struct r600_context *rctx, 
struct r600_pipe_state *rsta
        }
        rctx->alpha_ref_dirty = true;

+       if (cb == 0)
+           rctx->color0_format = color_info;

The indentation doesn't look right there.  The rest of the file uses tabs.

-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to