GLSL: Different conversion behaviour after driver update

I’m developing a software and I’m using OpenGL.
I have a GLSL fragment shader (#version 430 core) and after the update to driver 462.31 PB (Quadro P620) from (IIRC) 451.48 I experienced graphical glitches in my shader. Also happened to a coworker with a GTX 1060 6GB when he updated to 466.11.

After some debugging I managed to fix the glitch from happening… This is the patch I have written to my code.


Some lines below I use that isign in this way arr[isign.x] since I supposed the only valid values each component of isign would have been 0 and 1.

With that patch I can suppose that the new int(bool) behaviour is to write only 8 bit of data into a 32 bit of storage leaving the remaining 24 bit untouched or something like that (and in my case that would result to be garbage causing probably an out-of-bounds read afterwards). Anyway, I didn’t inspect the generated ISA code since I currently don’t have the tool installed.

Is this new behaviour correct / conformant?

Thank you.