[Mesa-dev] [PATCH 02/11] mesa: If validation fails in a debug context just emit a debug message

Ilia Mirkin imirkin at alum.mit.edu
Thu Jun 16 01:44:38 UTC 2016


On Tue, Jun 14, 2016 at 10:01 PM, Ian Romanick <idr at freedesktop.org> wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> There are quite a few pipelines that desktop applications (including a
> bunch of piglit test) can expect to have run but don't meet the GLES
> requirements.  Instead of failing validation, just emit a debug message.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96358
> Cc: "12.0" <mesa-stable at lists.freedesktop.org>
> Cc: Gregory Hainaut <gregory.hainaut at gmail.com>
> Cc: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>  src/mesa/main/pipelineobj.c | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c
> index 5a46cfe..9ecbcc9 100644
> --- a/src/mesa/main/pipelineobj.c
> +++ b/src/mesa/main/pipelineobj.c
> @@ -929,8 +929,21 @@ _mesa_validate_program_pipeline(struct gl_context* ctx,
>      * application has created a debug context.
>      */
>     if ((_mesa_is_gles(ctx) || (ctx->Const.ContextFlags & GL_CONTEXT_FLAG_DEBUG_BIT)) &&
> -       !_mesa_validate_pipeline_io(pipe))
> -      return GL_FALSE;
> +       !_mesa_validate_pipeline_io(pipe)) {
> +      if (_mesa_is_gles(ctx))
> +         return GL_FALSE;
> +
> +      static GLuint msg_id = 0;
> +
> +      _mesa_gl_debug(ctx, &msg_id,
> +                     MESA_DEBUG_SOURCE_API,
> +                     MESA_DEBUG_TYPE_PORTABILITY,
> +                     MESA_DEBUG_SEVERITY_MEDIUM,
> +                     "glValidateProgramPipeline: pipeline %u does not meet "
> +                     "strict OpenGL ES 3.1 requirements and may not be "
> +                     "portable across desktop hardware\n",

Hmmm... seems really weird to stick newlines into strings that are
supposed to be fed into callback functions and not necessarily just
printed out. It does seem like a lot of the existing ones do this as
well though. Either way,

Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

> +                     pipe->Name);
> +   }
>
>     pipe->Validated = GL_TRUE;
>     return GL_TRUE;
> --
> 2.5.5
>


More information about the mesa-dev mailing list