I'm using glTexStorage2DMultisample to create multisample textures. With samples = 8 it works at 1920x1080, but I just tried with samples = 7 and I get GL_OUT_OF_MEMORY errors after which my app crashes in a call to glCheckFramebufferStatus
It also crashes when samples = 6, 5, 3. I've researched the GL specs and there's nothing about the samples needing to be powers of 2, just that it can't be any bigger than GL_MAX_SAMPLES which is 8 for my R9 280X.
UPDATE : On D3D11 I get this :
D3D11 ERROR: ID3D11Device::CreateTexture2D: SampleDesc.Quality specifies invalid value 0. For 3 samples, the current graphics implementation only supports SampleDesc.Quality less than 0. <-- if 0 is shown here for Quality, this means the graphics implementation doesn't support 3 samples at all. Use CheckMultisampleQualityLevels to detect what the graphics implementation supports. [ STATE_CREATION ERROR #93: CREATETEXTURE2D_INVALIDSAMPLES]
Which basically means that the driver doesn't support these samples at all. Is there any way though to query what is supported in GL since there's only GL_MAX_SAMPLES there ?