Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Wed, Mar 15, 2017 at 1:00 PM, Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > Will also help when the src sampler register will be > TGSI_FILE_CONSTANT for bindless. > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev