On Wed Feb 21 22:46:01 2024 +0000, Zebediah Figura wrote:
That said, though, the write mask logic here assumes that all instructions consuming clip/cull behave like mov with respect to write mask. Is that actually valid? E.g. for a somewhat pathological example, the coords argument of SAMPLE doesn't. If the point is to avoid writing any out of bounds accesses (i.e. component_idx >= signature->s[element_idx].register_count), should we instead just replace such out of bounds accesses with zero or something?
I guess explicitly handling every instruction type works too, but it seems a bit fragile. Is there a problem with just clamping out of bounds accesses?