On Tue Jan 3 18:41:14 2023 +0000, Zebediah Figura wrote:
This is probably fine and I don't mind accepting it as-is. That said, maybe we could go one more step and actually make these separate HLSL_TYPE_* types? And then map them to float anywhere they're used, same way as we do with half types (although we're definitely missing that in a lot of places too.) I only mention this because this commit has a decent amount of code that's going to have to be deleted and rewritten, but I think doing that would involve less deletion.
Well, not all of them are mapped to float, there is also int and uint, so that adds a little more complexity to that alternative.
I think we should keep it as it is, to focus on more important features, since: * Most of the potentially deletable code is in declare_predefined_types() and I think it is easy to identify. * A proper implementation is far in sight, we not only have to modify the write operations to all instructions that use minimum precision types, but we also have to do a lot of testing to identify the casting rules between these types. * So far I have only seen Bug 21185 using minimum precision types.