From 4c157d34c0163ab2389d74181121950aaf0ef121 Mon Sep 17 00:00:00 2001 From: Topi Pohjolainen Date: Wed, 28 Jan 2015 16:24:25 +0200 Subject: [PATCH] meta/blit: Add plumbing for shaders without depth Currently all blit programs are unconditionally compiled with gl_FragDepth. Signed-off-by: Topi Pohjolainen Reviewed-by: Kenneth Graunke Reviewed-by: Matt Turner --- src/mesa/drivers/common/meta.c | 3 ++- src/mesa/drivers/common/meta.h | 1 + src/mesa/drivers/common/meta_blit.c | 2 +- src/mesa/drivers/common/meta_generate_mipmap.c | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 23c05ebdaff..ec7564ab7c4 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -243,6 +243,7 @@ _mesa_meta_compile_and_link_program(struct gl_context *ctx, void _mesa_meta_setup_blit_shader(struct gl_context *ctx, GLenum target, + bool do_depth, struct blit_shader_table *table) { char *vs_source, *fs_source; @@ -3035,7 +3036,7 @@ decompress_texture_image(struct gl_context *ctx, _mesa_meta_setup_vertex_objects(&decompress->VAO, &decompress->VBO, true, 2, 4, 0); - _mesa_meta_setup_blit_shader(ctx, target, &decompress->shaders); + _mesa_meta_setup_blit_shader(ctx, target, true, &decompress->shaders); } else { _mesa_meta_setup_ff_tnl_for_blit(&decompress->VAO, &decompress->VBO, 3); } diff --git a/src/mesa/drivers/common/meta.h b/src/mesa/drivers/common/meta.h index 20d30f7e6ab..de3dc6a0ab4 100644 --- a/src/mesa/drivers/common/meta.h +++ b/src/mesa/drivers/common/meta.h @@ -632,6 +632,7 @@ _mesa_meta_setup_copypix_texture(struct gl_context *ctx, void _mesa_meta_setup_blit_shader(struct gl_context *ctx, GLenum target, + bool do_depth, struct blit_shader_table *table); void diff --git a/src/mesa/drivers/common/meta_blit.c b/src/mesa/drivers/common/meta_blit.c index 079b8e13200..02e90e0aaf7 100644 --- a/src/mesa/drivers/common/meta_blit.c +++ b/src/mesa/drivers/common/meta_blit.c @@ -531,7 +531,7 @@ setup_glsl_blit_framebuffer(struct gl_context *ctx, } else if (is_target_multisample) { setup_glsl_msaa_blit_shader(ctx, blit, src_rb, target); } else { - _mesa_meta_setup_blit_shader(ctx, target, &blit->shaders); + _mesa_meta_setup_blit_shader(ctx, target, true, &blit->shaders); } } diff --git a/src/mesa/drivers/common/meta_generate_mipmap.c b/src/mesa/drivers/common/meta_generate_mipmap.c index eedbb8eb2f4..c38b46bb688 100644 --- a/src/mesa/drivers/common/meta_generate_mipmap.c +++ b/src/mesa/drivers/common/meta_generate_mipmap.c @@ -193,7 +193,7 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target, if (use_glsl_version) { _mesa_meta_setup_vertex_objects(&mipmap->VAO, &mipmap->VBO, true, 2, 4, 0); - _mesa_meta_setup_blit_shader(ctx, target, &mipmap->shaders); + _mesa_meta_setup_blit_shader(ctx, target, true, &mipmap->shaders); } else { _mesa_meta_setup_ff_tnl_for_blit(&mipmap->VAO, &mipmap->VBO, 3); _mesa_set_enable(ctx, target, GL_TRUE); -- 2.30.2