<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>