nir/opt_large_constants: Handle store writemasks
This fixes some piglit tests on radeonsi NIR where a varying is initialized to a constant array in the vertex shader. Varying packing after nir_lower_io_to_temporaries creates writemasked stores which persist after pulling the constant initialization down into the fragment shader. While we're here, rewrite handle_constant_store() to do the loop over components outside the switch, so that we don't have to duplicate the writemask checking for every bitsize. Fixes: 12358505 ("nir: Add a large constants optimization pass") Reviewed-by:Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> (cherry picked from commit 270fe552)
Loading
Please register or sign in to comment