I don’t know if this is a driver problem or my fault:
NSLog(@"GL_MAX_TEXTURE_SIZE: %d (%d, %d)", GL_MAX_TEXTURE_SIZE, width, height);
NSLog(@"GL_MAX_SAMPLES: %d", GL_MAX_SAMPLES);
glGenTextures(1, &shadowTextureId);
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, shadowTextureId);
glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, 4, GL_DEPTH_COMPONENT , width, height, false);
[YALog isGLStateOk:TAG];
The output is:
GL_MAX_TEXTURE_SIZE: 3379 (512, 512)
GL_MAX_SAMPLES: 36183
[YAShadowMap] glTexImage2DMultisample [OpenGL] GL_INVALID_VALUE
GL_INVALID_VALUE is called if:
[LEFT]GL_INVALID_VALUE is generated if either width or height negative or is greater than GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE is generated if samples is greater than GL_MAX_SAMPLES.
Both causes can be excluded.
My NSOpenGLPixelFormatAttribute looks like this:
NSOpenGLPFAMultisample ,
NSOpenGLPFASampleBuffers, 1,
NSOpenGLPFASamples, 4,
and multisample is enabled:
glEnable(GL_MULTISAMPLE);
[/LEFT]