<div dir="ltr"><div>Tested-by: Benjamin Bellec <<a href="mailto:b.bellec@gmail.com">b.bellec@gmail.com</a>><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-09-02 21:14 GMT+02:00 Marek Olšák <span dir="ltr"><<a href="mailto:maraeo@gmail.com" target="_blank">maraeo@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>><br>
<br>
*_update_db_shader_control depends on the alpha test state. The problem was<br>
it was in a block which is only entered if the pixel shader is changed.<br>
<br>
Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=74863" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=74863</a><br>
<br>
Cc: <a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.org</a><br>
---<br>
 src/gallium/drivers/r600/r600_state_common.c | 12 ++++++------<br>
 1 file changed, 6 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c<br>
index 028d800..d9174a5 100644<br>
--- a/src/gallium/drivers/r600/r600_state_common.c<br>
+++ b/src/gallium/drivers/r600/r600_state_common.c<br>
@@ -1245,12 +1245,6 @@ static bool r600_update_derived_state(struct r600_context *rctx)<br>
                        }<br>
                }<br>
<br>
-               if (rctx->b.chip_class >= EVERGREEN) {<br>
-                       evergreen_update_db_shader_control(rctx);<br>
-               } else {<br>
-                       r600_update_db_shader_control(rctx);<br>
-               }<br>
-<br>
                if (unlikely(!ps_dirty && rctx->ps_shader && rctx->rasterizer &&<br>
                                ((rctx->rasterizer->sprite_coord_enable != rctx->ps_shader->current->sprite_coord_enable) ||<br>
                                                (rctx->rasterizer->flatshade != rctx->ps_shader->current->flatshade)))) {<br>
@@ -1264,6 +1258,12 @@ static bool r600_update_derived_state(struct r600_context *rctx)<br>
                update_shader_atom(ctx, &rctx->pixel_shader, rctx->ps_shader->current);<br>
        }<br>
<br>
+       if (rctx->b.chip_class >= EVERGREEN) {<br>
+               evergreen_update_db_shader_control(rctx);<br>
+       } else {<br>
+               r600_update_db_shader_control(rctx);<br>
+       }<br>
+<br>
        /* on R600 we stuff masks + txq info into one constant buffer */<br>
        /* on evergreen we only need a txq info one */<br>
        if (rctx->b.chip_class < EVERGREEN) {<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.9.1<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>