[Mesa-dev] [PATCH] mesa: don't clamp just based on ARB_viewport_array extension

Marek Olšák maraeo at gmail.com
Wed Feb 14 23:25:38 UTC 2018


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Thu, Feb 15, 2018 at 12:22 AM, gurchetansingh at chromium.org
<gurchetansingh at chromium.org> wrote:
> From: Gurchetan Singh <gurchetansingh at chromium.org>
>
> The ARB_viewport_array spec says:
>
> "Dependencies
>     OpenGL 1.0 is required.
>
>     OpenGL 3.2 or the EXT_geometry_shader4 or ARB_geometry_shader4 extensions
>     are required.
>
>     This extension is written against the OpenGL 3.2 (Compatibility)
>     Specification."
>
> As such, we should ignore it for GLES2 contexts.
>
> Fixes:
> dEQP-GLES2.functional.state_query.integers.viewport_getinteger
> dEQP-GLES2.functional.state_query.integers.viewport_getfloat
>
> on llvmpipe and virgl.
> ---
>  src/mesa/main/viewport.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
> index fc384909e6..380372772e 100644
> --- a/src/mesa/main/viewport.c
> +++ b/src/mesa/main/viewport.c
> @@ -51,9 +51,8 @@ clamp_viewport(struct gl_context *ctx, GLfloat *x, GLfloat *y,
>      *     determined by calling GetFloatv with the symbolic constant
>      *     VIEWPORT_BOUNDS_RANGE (see section 6.1)."
>      */
> -   if (ctx->Extensions.ARB_viewport_array ||
> -       (ctx->Extensions.OES_viewport_array &&
> -        _mesa_is_gles31(ctx))) {
> +   if ((ctx->Extensions.ARB_viewport_array && !_mesa_is_gles(ctx)) ||
> +       (ctx->Extensions.OES_viewport_array && _mesa_is_gles31(ctx))) {
>        *x = CLAMP(*x,
>                   ctx->Const.ViewportBounds.Min, ctx->Const.ViewportBounds.Max);
>        *y = CLAMP(*y,
> --
> 2.13.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list