Reviewed-by: Marek Olšák <[email protected]>

Marek


On Tue, Mar 27, 2018 at 10:22 PM, Timothy Arceri <[email protected]>
wrote:

> ---
>  src/gallium/drivers/radeonsi/si_shader.c | 19 +++++++++++--------
>  1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_shader.c
> b/src/gallium/drivers/radeonsi/si_shader.c
> index 8ae742c93f6..d5607a99d32 100644
> --- a/src/gallium/drivers/radeonsi/si_shader.c
> +++ b/src/gallium/drivers/radeonsi/si_shader.c
> @@ -1290,12 +1290,13 @@ static LLVMValueRef si_nir_load_tcs_varyings(struct
> ac_shader_abi *abi,
>                                                       is_patch);
>
>         LLVMValueRef value[4];
> -       for (unsigned i = 0; i < num_components + component; i++) {
> +       for (unsigned i = 0; i < num_components; i++) {
>                 unsigned offset = i;
>                 if (llvm_type_is_64bit(ctx, type))
>                         offset *= 2;
>
> -               value[i] = lds_load(bld_base, type, offset, dw_addr);
> +               offset += component;
> +               value[i + component] = lds_load(bld_base, type, offset,
> dw_addr);
>         }
>
>         return ac_build_varying_gather_values(&ctx->ac, value,
> num_components, component);
> @@ -1377,13 +1378,14 @@ LLVMValueRef si_nir_load_input_tes(struct
> ac_shader_abi *abi,
>          * between the NIR and TGSI backends.
>          */
>         LLVMValueRef value[4];
> -       for (unsigned i = component; i < num_components + component; i++) {
> +       for (unsigned i = 0; i < num_components; i++) {
>                 unsigned offset = i;
>                 if (llvm_type_is_64bit(ctx, type))
>                         offset *= 2;
>
> -               value[i] = buffer_load(&ctx->bld_base, type, offset,
> -                                      ctx->tess_offchip_ring, base, addr,
> true);
> +               offset += component;
> +               value[i + component] = buffer_load(&ctx->bld_base, type,
> offset,
> +                                                  ctx->tess_offchip_ring,
> base, addr, true);
>         }
>
>         return ac_build_varying_gather_values(&ctx->ac, value,
> num_components, component);
> @@ -1693,13 +1695,14 @@ static LLVMValueRef si_nir_load_input_gs(struct
> ac_shader_abi *abi,
>         struct si_shader_context *ctx = si_shader_context_from_abi(abi);
>
>         LLVMValueRef value[4];
> -       for (unsigned i = component; i < num_components + component; i++) {
> +       for (unsigned i = 0; i < num_components; i++) {
>                 unsigned offset = i;
>                 if (llvm_type_is_64bit(ctx, type))
>                         offset *= 2;
>
> -               value[i] = si_llvm_load_input_gs(&ctx->abi,
> driver_location  / 4,
> -                                                vertex_index, type,
> offset);
> +               offset += component;
> +               value[i + component] = si_llvm_load_input_gs(&ctx->abi,
> driver_location  / 4,
> +                                                            vertex_index,
> type, offset);
>         }
>
>         return ac_build_varying_gather_values(&ctx->ac, value,
> num_components, component);
> --
> 2.14.3
>
> _______________________________________________
> mesa-dev mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to