}
switch (ctx->API) {
-#if FEATURE_es2_glsl
case API_OPENGLES2:
/* For ES2, we can draw if any vertex array is enabled (and we
* should always have a vertex program/shader). */
if (ctx->Array.ArrayObj->_Enabled == 0x0 || !ctx->VertexProgram._Current)
return GL_FALSE;
break;
-#endif
-#if FEATURE_ES1
case API_OPENGLES:
/* For OpenGL ES, only draw if we have vertex positions
*/
if (!ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled)
return GL_FALSE;
break;
-#endif
-#if FEATURE_GL
case API_OPENGL:
case API_OPENGL_CORE:
{
}
}
break;
-#endif
default:
- ASSERT_NO_FEATURE();
+ assert(!"Invalid API value in check_valid_to_render()");
}
return GL_TRUE;
case GL_TRIANGLES:
case GL_TRIANGLE_STRIP:
case GL_TRIANGLE_FAN:
+ valid_enum = true;
+ break;
case GL_QUADS:
case GL_QUAD_STRIP:
case GL_POLYGON:
- valid_enum = true;
+ valid_enum = (ctx->API == API_OPENGL);
break;
case GL_LINES_ADJACENCY:
case GL_LINE_STRIP_ADJACENCY:
case GL_TRIANGLES_ADJACENCY:
case GL_TRIANGLE_STRIP_ADJACENCY:
- valid_enum = (ctx->Extensions.ARB_geometry_shader4);
+ valid_enum = _mesa_is_desktop_gl(ctx)
+ && ctx->Extensions.ARB_geometry_shader4;
break;
default:
valid_enum = false;
}
-#if FEATURE_EXT_transform_feedback
-
GLboolean
_mesa_validate_DrawTransformFeedback(struct gl_context *ctx,
GLenum mode,
return GL_TRUE;
}
-
-#endif