From 54af467334db53837171701471fb7854ccdf8dd5 Mon Sep 17 00:00:00 2001 From: Lyude Date: Mon, 6 Mar 2017 21:47:00 -0500 Subject: mesa: Add support for GL_NV_fill_rectangle Since we don't have the bits required to support this in OpenGLES yet, this only enables support for Desktop OpenGL Signed-off-by: Lyude Changes since v1: - Simply _mesa_PolygonMode() a little bit - Fix formatting in OpenGL spec excerpts - Move polygon mode checking into _mesa_valid_to_render() Changes since v3: - Improve error message for invalid drawings with GL_FILL_RECTANGLE_NV Reviewed-by: Ilia Mirkin --- src/mesa/main/polygon.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/mesa/main/polygon.c') diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c index 4caf62adfea..1bb7190bc24 100644 --- a/src/mesa/main/polygon.c +++ b/src/mesa/main/polygon.c @@ -131,8 +131,17 @@ _mesa_PolygonMode( GLenum face, GLenum mode ) _mesa_enum_to_string(face), _mesa_enum_to_string(mode)); - if (mode!=GL_POINT && mode!=GL_LINE && mode!=GL_FILL) { - _mesa_error( ctx, GL_INVALID_ENUM, "glPolygonMode(mode)" ); + switch (mode) { + case GL_POINT: + case GL_LINE: + case GL_FILL: + break; + case GL_FILL_RECTANGLE_NV: + if (ctx->Extensions.NV_fill_rectangle) + break; + /* fall-through */ + default: + _mesa_error(ctx, GL_INVALID_ENUM, "glPolygonMode(mode)"); return; } -- cgit v1.2.3