@GDCPresoReviews @TomF as @bas mentions, if it allows you to assume forward progress while in diverging execution, that could make the shader compiler simpler in certain situations. UB is important in terms of the abstract model of the shader language and IR, but the actual hardware model matters too because it changes how much freedom the compiler has to actualize the code in the shader. Aside: In this case, does this then impact the implementation of maximal reconvergence? Guess it's similar?

@dotstdy @TomF @bas

Does it *actually* allow you to assume forward progress in diverging execution? Is the thread scheduler *guaranteed* to provide it?

Like, saying the scheduler is capable of running an arbitrary subset of threads is different than saying the scheduler implements a fair scheduling algorithm

@GDCPresoReviews @TomF @bas That's exactly what I would assume it does, since cuda has a reliance on forward progress. But of course I'm just spitballin.

@dotstdy @TomF @bas

Oh, sorry, I meant Mali, not Nvidia

@GDCPresoReviews @TomF @bas oh God knows what mali does, it might be better documented though :')
@GDCPresoReviews @dotstdy @TomF I don't think claims like that have been made for Mali, and I think that unless they advertise it widely I'd assume they don't