[Mesa-dev] [PATCH 2/2] mesa: don't compile integer clear shaders for unsupported APIs

Oliver McFadden oliver.mcfadden at linux.intel.com
Tue May 29 00:40:21 PDT 2012


On Sat, May 26, 2012 at 10:22:17AM +0300, Oliver McFadden wrote:
> Discovered while running the Khronos conformance test suite and
> receiving "implementation error: meta program compile failed."
> 
> This bug was recently introduced by the i965 clear patch set and would
> only be detected while using the ES2 API and only on gen6+ hardware.
> 
> Signed-off-by: Oliver McFadden <oliver.mcfadden at linux.intel.com>
> ---
>  src/mesa/drivers/common/meta.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
> index 316d7b2..21bdeb1 100644
> --- a/src/mesa/drivers/common/meta.c
> +++ b/src/mesa/drivers/common/meta.c
> @@ -1793,7 +1793,8 @@ meta_glsl_clear_init(struct gl_context *ctx, struct clear_state *clear)
>     clear->ColorLocation = _mesa_GetUniformLocationARB(clear->ShaderProg,
>  						      "color");
>  
> -   if (ctx->Const.GLSLVersion >= 130) {
> +   if (ctx->API != API_OPENGLES && ctx->API != API_OPENGLES2 &&
> +       ctx->Const.GLSLVersion >= 130) {
>        vs = compile_shader_with_debug(ctx, GL_VERTEX_SHADER, vs_int_source);
>        fs = compile_shader_with_debug(ctx, GL_FRAGMENT_SHADER, fs_int_source);
>  
> -- 
> 1.7.8
> 

Ping for review on this; without this patch i965 will print a shader
error on glClear() for ES2 contexts on gen6+ HW.

-- 
Oliver McFadden.


More information about the mesa-dev mailing list