[Mesa-dev] [PATCH 04/10] radeonsi: move the buffer descriptor to the end of the image descriptor

Ilia Mirkin imirkin at alum.mit.edu
Sun Feb 1 09:50:12 PST 2015


On Sun, Feb 1, 2015 at 12:37 PM, Marek Olšák <maraeo at gmail.com> wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> This will allow supporting NULL textures.
> ---
>  src/gallium/drivers/radeonsi/si_descriptors.c | 2 +-
>  src/gallium/drivers/radeonsi/si_pipe.h        | 2 ++
>  src/gallium/drivers/radeonsi/si_shader.c      | 4 ++--
>  src/gallium/drivers/radeonsi/si_state.c       | 8 ++++----
>  4 files changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
> index 573787a..15b4da1 100644
> --- a/src/gallium/drivers/radeonsi/si_descriptors.c
> +++ b/src/gallium/drivers/radeonsi/si_descriptors.c
> @@ -1063,7 +1063,7 @@ static void si_invalidate_buffer(struct pipe_context *ctx, struct pipe_resource
>         /* Texture buffers - update virtual addresses in sampler view descriptors. */
>         LIST_FOR_EACH_ENTRY(view, &sctx->b.texture_buffers, list) {
>                 if (view->base.texture == buf) {
> -                       si_desc_reset_buffer_offset(ctx, view->state, old_va, buf);
> +                       si_desc_reset_buffer_offset(ctx, &view->state[4], old_va, buf);
>                 }
>         }
>         /* Texture buffers - update bindings. */
> diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
> index b88f154..d2edcdf 100644
> --- a/src/gallium/drivers/radeonsi/si_pipe.h
> +++ b/src/gallium/drivers/radeonsi/si_pipe.h
> @@ -90,6 +90,8 @@ struct si_sampler_view {
>         struct pipe_sampler_view        base;
>         struct list_head                list;
>         struct r600_resource            *resource;
> +        /* [0..7] = image descriptor

Did you mean 0..3?

> +         * [4..7] = buffer descriptor */
>         uint32_t                        state[8];
>         uint32_t                        fmask_state[8];
>  };


More information about the mesa-dev mailing list