Module: Mesa
Branch: master
Commit: b5b87c4ed1dfd58aec8905e0514c9ba92ba83e1d
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5b87c4ed1dfd58aec8905e0514c9ba92ba83e1d

Author: Marek Olšák <[email protected]>
Date:   Thu Dec 10 13:19:45 2015 +0100

r600g: write all MRTs only if there is exactly one output (fixes a hang)

This fixes a hang in
piglit/arb_blend_func_extended-fbo-extended-blend-pattern_gles2 on REDWOOD.

Cc: 11.0 11.1 <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>

---

 src/gallium/drivers/r600/r600_shader.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/r600_shader.c 
b/src/gallium/drivers/r600/r600_shader.c
index c849684..cd23100 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -3146,7 +3146,8 @@ static int r600_shader_from_tgsi(struct r600_context 
*rctx,
        ctx.nliterals = 0;
        ctx.literals = NULL;
 
-       shader->fs_write_all = 
ctx.info.properties[TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS];
+       shader->fs_write_all = 
ctx.info.properties[TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS] &&
+                              ctx.info.colors_written == 1;
        shader->vs_position_window_space = 
ctx.info.properties[TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION];
        shader->ps_conservative_z = 
(uint8_t)ctx.info.properties[TGSI_PROPERTY_FS_DEPTH_LAYOUT];
 

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to