Am Mittwoch, den 15.11.2017, 11:28 +1000 schrieb Dave Airlie:
> 
> I'll likely apply this as well at some point, that test however hangs
> my cayman with or without my patch (and your patch doesn't do
> anything on cayman).

BTW: valgrind showed that there was some problem in sb in the parser
(branch based on un-unitialized value), and by changing 

r600_shader.c:3121; r600_shader_from_tgsi  

  } else if (ctx.type == PIPE_SHADER_TESS_EVAL) {
                ctx.tess_input_info = 0;
                ctx.tess_output_info = ctx.bc->ar_reg + 3;
-               ctx.temp_reg = ctx.bc->ar_reg + 4;
+               ctx.temp_reg = ctx.bc->ar_reg + 5;
 } else if (ctx.type == PIPE_SHADER_GEOMETRY) {
                ctx.gs_export_gpr_tregs[0] = ctx.bc->ar_reg + 3;
                ctx.gs_export_gpr_tregs[1] = ctx.bc->ar_reg + 4;
                ctx.gs_export_gpr_tregs[2] = ctx.bc->ar_reg + 5;

the GPU lockup what triggered reliably for me on BARTS.  
        
Running this with R600_DUMP_SHADERS=1 also crashed, because sb accessed
unallocated memory trying to decode non-existing instructions. 

maybe that helps to locate the problem on cayman. 

Best, 
Gert 






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

Reply via email to