- /* If ARB_internalformat_query is supported, then treat its highest returned sample
- * count as the absolute maximum for this format; it is allowed to exceed MAX_SAMPLES.
+ /* Section 4.4 (Framebuffer objects), page 198 of the OpenGL ES 3.0.0
+ * specification says:
+ *
+ * "If internalformat is a signed or unsigned integer format and samples
+ * is greater than zero, then the error INVALID_OPERATION is generated."
+ *
+ * This restriction is relaxed for OpenGL ES 3.1.
+ */
+ if ((ctx->API == API_OPENGLES2 && ctx->Version == 30) &&
+ _mesa_is_enum_format_integer(internalFormat)
+ && samples > 0) {
+ return GL_INVALID_OPERATION;
+ }
+
+ /* If ARB_internalformat_query is supported, then treat its highest
+ * returned sample count as the absolute maximum for this format; it is
+ * allowed to exceed MAX_SAMPLES.