On 17/06/15 21:24, Jordan Justen wrote: > On 2015-06-03 00:01:12, Iago Toral Quiroga wrote: >> If we kill dead assignments we lose the buffer writes. >> >> Also, we never kill UBO declarations even if they are never referenced >> by the shader, they are always considered active. Although the spec >> does not seem say this specifically for SSBOs, it is probably implied >> since SSBOs are pretty much the same as UBOs, only that you can write >> to them. >> --- >> src/glsl/opt_dead_code.cpp | 9 ++++++--- >> 1 file changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/src/glsl/opt_dead_code.cpp b/src/glsl/opt_dead_code.cpp >> index f45bf5d..1bb5f32 100644 >> --- a/src/glsl/opt_dead_code.cpp >> +++ b/src/glsl/opt_dead_code.cpp >> @@ -77,11 +77,13 @@ do_dead_code(exec_list *instructions, bool >> uniform_locations_assigned) >> >> if (entry->assign) { >> /* Remove a single dead assignment to the variable we found. >> - * Don't do so if it's a shader or function output, though. >> + * Don't do so if it's a shader or function output or a buffer >> + * variable though. > > buffer => shader storage > > Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> >
OK, thanks. Sam >> */ >> if (entry->var->data.mode != ir_var_function_out && >> entry->var->data.mode != ir_var_function_inout && >> - entry->var->data.mode != ir_var_shader_out) { >> + entry->var->data.mode != ir_var_shader_out && >> + entry->var->data.mode != ir_var_shader_storage) { >> entry->assign->remove(); >> progress = true; >> >> @@ -99,7 +101,8 @@ do_dead_code(exec_list *instructions, bool >> uniform_locations_assigned) >> * stage. Also, once uniform locations have been assigned, the >> * declaration cannot be deleted. >> */ >> - if (entry->var->data.mode == ir_var_uniform) { >> + if (entry->var->data.mode == ir_var_uniform || >> + entry->var->data.mode == ir_var_shader_storage) { >> if (uniform_locations_assigned || entry->var->constant_value) >> continue; >> >> -- >> 1.9.1 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev