Skip to content

spirv,radv: run nir_copy_prop before nir_rematerialize_derefs_in_use_blocks_impl

Because nir_rematerialize_derefs_in_use_blocks_impl can't handle cast(mov(vec2(var, var).x)).

fossil-db (Sienna Cichlid):

Totals from 6 (0.00% of 134572) affected shaders:
CodeSize: 92656 -> 93088 (+0.47%)
Instrs: 17060 -> 17138 (+0.46%)
Latency: 224408 -> 227539 (+1.40%)
InvThroughput: 37402 -> 37924 (+1.40%)
VClause: 408 -> 402 (-1.47%)
Copies: 1065 -> 1107 (+3.94%)

Merge request reports