It has drawn my attention that GL_MAX_UNIFORM_BLOCK_SIZE returns 16kb for all Intel cards, even with the latest drivers. This is the minimum required by the GL spec.
DX11 guarantees 64kb of constant buffer size, which is why I find it odd that the GL driver decides to inform 16kb as the UBO size when most likely the hardware can use at least 64kb as well.
Is there a reason for this choice?
Either the DX11 implementation uses some workaround to support 64kb when the hardware can actually only use 16kb efficiently, or this is just an overlook from the GL driver (or a misinterpretation of the spec).
My guess is that all of the Intel HD cards actually support 64kb. Hence I'm here asking the question :)
It has taken some but I have more information for you, our OpenGL development team investigated this and and are in the process increasing the block size from 16kb to 64kb. It will be in a future driver release. I am not sure which one yet, I will let you know when I find out.