On 19/09/14 18:12, [email protected] wrote:
From: Roland Scheidegger <[email protected]>Useful to know in some cases. --- src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 6 ++++++ src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c | 4 ++++ 2 files changed, 10 insertions(+) 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) {
LGTM. Jose _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
