You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
it looks like that for GLSL the operation OPCODE_AND may be wrong under certain circumstances.
In the case when it is turned into a mix call. The third parameter, the selector is a boolean but gets cast to an float, this seems to be wrong as the cast seems to trigger undefined behavior when feed to glslang to turn it into spir-v. it should either used directly if the target supports it (glsl 4.5?) or turned into an appropriate vector manually (or don't use mix at all).
The text was updated successfully, but these errors were encountered:
it looks like that this is probably a driver problem, the resulting spir-v is valid but as it seems the driver has troupe handling a sequence of select (convert bool to float) and mix correctly.
Either way, it would be an optimization to use the bool directly instead of casting it to float (it results in removal of the mix call if turned into spir-v as example). Not sure since which version the boolean selector is allowed, at least 4.4 allows it.
Hi,
it looks like that for GLSL the operation OPCODE_AND may be wrong under certain circumstances.
In the case when it is turned into a mix call. The third parameter, the selector is a boolean but gets cast to an float, this seems to be wrong as the cast seems to trigger undefined behavior when feed to glslang to turn it into spir-v. it should either used directly if the target supports it (glsl 4.5?) or turned into an appropriate vector manually (or don't use mix at all).
The text was updated successfully, but these errors were encountered: