I use a constant buffer for camera and timing data with four mat4x4 and some additional floats. This buffer worked perfectly with glsl #version 330 in the past. My current system ( Kaveri 7800 ) driver fully implements is OpenGL 4.4, but with glsl #version 440 only the first mt4x4 ( which is the MVP Matrix ) “works”. The other data fields do not transform anything, the floats seem to be 0.0, assuming KHR_DEBUG informs me about nans and no errors are reported.
I tried using #version 430 and everything worked as with version #330 and as expected.
Have I missed something #version 440 related or can I assume ( and should I report ) a driver bug ?
It does not and cannot. Buffer objects are unformatted memory, so there’s no way for the implementation to know what 4 bytes you intend to interpret as floats or ints.
I tried using #version 430 and everything worked as with version #330 and as expected.
So you’re saying that the exact same code on the exact same hardware works just by changing the shader’s version number?