meta/blit: Add plumbing for shaders without depth

Currently all blit programs are unconditionally compiled with
gl_FragDepth.

Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Topi Pohjolainen 2015-01-28 16:24:25 +02:00
parent 604ae33c8b
commit 4c157d34c0
4 changed files with 5 additions and 3 deletions

View file

@ -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);
}

View file

@ -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

View file

@ -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);
}
}

View file

@ -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);