[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