Skip to content

nir: replace .lower_negate with .lower_ineg and .lower_sub with .has_fsub and .has_isub

Daniel Schürmann requested to merge daniel-schuermann/mesa:aco_ineg into master

These changes allow a more fine-grained control about the backends supporting these instructions.

The previous lower_negate option lowered both ineg and fneg. The fneg semantics have been clarified as of Version 1.5, Revision 1 of the SPIR-V specification, which means that the previous lowering to fsub is not a viable solution anymore. (I added the lowering manually to vc4, but eventually it should be changed.)

In a second step, the goal is to introduce an alternative fsub lowering using fmul(x, -1.0). (see !5523 (merged))

Merge request reports