From: Roland Scheidegger Date: Fri, 19 Sep 2014 17:11:22 +0000 (+0200) Subject: gallivm: add information about different sampler/view units if analyzing shader X-Git-Tag: upstream/17.1.0~23436 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7ede5a1a7bd9571cbcfb63a89d1225a638c346f0;p=platform%2Fupstream%2Fmesa.git gallivm: add information about different sampler/view units if analyzing shader Useful to know in some cases. Reviewed-by: Jose Fonseca --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h index 85411ce..029ca3c 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h @@ -127,6 +127,12 @@ struct lp_tgsi_info unsigned indirect_textures:1; /* + * Whether any of the texture (sample) ocpodes use different sampler + * and sampler view unit. + */ + unsigned sampler_texture_units_different:1; + + /* * Whether any immediate values are outside the range of 0 and 1 */ unsigned unclamped_immediates:1; diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c index fcaa201..55acea8 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c @@ -243,6 +243,10 @@ analyse_sample(struct analysis_context *ctx, tex_info->texture_unit = inst->Src[1].Register.Index; tex_info->sampler_unit = inst->Src[2].Register.Index; + if (tex_info->texture_unit != tex_info->sampler_unit) { + info->sampler_texture_units_different = TRUE; + } + if (modifier == LP_BLD_TEX_MODIFIER_EXPLICIT_DERIV || modifier == LP_BLD_TEX_MODIFIER_EXPLICIT_LOD || modifier == LP_BLD_TEX_MODIFIER_LOD_BIAS || shadow) {