[Mesa-dev] [PATCH] radeonsi: clean up tex_fetch_ptrs()
Marek Olšák
maraeo at gmail.com
Wed Mar 15 12:52:43 UTC 2017
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Wed, Mar 15, 2017 at 1:00 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> Will also help when the src sampler register will be
> TGSI_FILE_CONSTANT for bindless.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> src/gallium/drivers/radeonsi/si_shader.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
> index 45c2186fc1..6ec27fd9de 100644
> --- a/src/gallium/drivers/radeonsi/si_shader.c
> +++ b/src/gallium/drivers/radeonsi/si_shader.c
> @@ -4234,23 +4234,21 @@ static void tex_fetch_ptrs(
> {
> struct si_shader_context *ctx = si_shader_context(bld_base);
> const struct tgsi_full_instruction *inst = emit_data->inst;
> + const struct tgsi_full_src_register *reg;
> unsigned target = inst->Texture.Texture;
> unsigned sampler_src;
> - unsigned sampler_index;
> LLVMValueRef index;
>
> sampler_src = emit_data->inst->Instruction.NumSrcRegs - 1;
> - sampler_index = emit_data->inst->Src[sampler_src].Register.Index;
> -
> - if (emit_data->inst->Src[sampler_src].Register.Indirect) {
> - const struct tgsi_full_src_register *reg = &emit_data->inst->Src[sampler_src];
> + reg = &emit_data->inst->Src[sampler_src];
>
> + if (reg->Register.Indirect) {
> index = get_bounded_indirect_index(ctx,
> ®->Indirect,
> reg->Register.Index,
> SI_NUM_SAMPLERS);
> } else {
> - index = LLVMConstInt(ctx->i32, sampler_index, 0);
> + index = LLVMConstInt(ctx->i32, reg->Register.Index, 0);
> }
>
> if (target == TGSI_TEXTURE_BUFFER)
> --
> 2.12.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list