Quoting Marek Olšák (2018-06-18 16:33:08)
> From: Marek Olšák <marek.ol...@amd.com>
> 
> Some fields shouldn't be initialized, like framebuffers_bound and other stats.
> It's hopefully complete now.
> 
> Cc: 18.1 <mesa-sta...@lists.freedesktop.org>
> ---
>  src/gallium/drivers/radeonsi/si_texture.c | 31 ++++++++++++++++++-----
>  1 file changed, 25 insertions(+), 6 deletions(-)
> 
> diff --git a/src/gallium/drivers/radeonsi/si_texture.c 
> b/src/gallium/drivers/radeonsi/si_texture.c
> index 2103134156d..e1afe71a3c7 100644
> --- a/src/gallium/drivers/radeonsi/si_texture.c
> +++ b/src/gallium/drivers/radeonsi/si_texture.c
> @@ -552,36 +552,55 @@ static void si_reallocate_texture_inplace(struct 
> si_context *sctx,
>         /* Replace the structure fields of rtex. */
>         rtex->buffer.b.b.bind = templ.bind;
>         pb_reference(&rtex->buffer.buf, new_tex->buffer.buf);
>         rtex->buffer.gpu_address = new_tex->buffer.gpu_address;
>         rtex->buffer.vram_usage = new_tex->buffer.vram_usage;
>         rtex->buffer.gart_usage = new_tex->buffer.gart_usage;
>         rtex->buffer.bo_size = new_tex->buffer.bo_size;
>         rtex->buffer.bo_alignment = new_tex->buffer.bo_alignment;
>         rtex->buffer.domains = new_tex->buffer.domains;
>         rtex->buffer.flags = new_tex->buffer.flags;
> -       rtex->size = new_tex->size;
> -       rtex->db_render_format = new_tex->db_render_format;
> -       rtex->db_compatible = new_tex->db_compatible;
> -       rtex->can_sample_z = new_tex->can_sample_z;
> -       rtex->can_sample_s = new_tex->can_sample_s;
> +
>         rtex->surface = new_tex->surface;
> +       rtex->size = new_tex->size;
> +       r600_texture_reference(&rtex->flushed_depth_texture,
> +                              new_tex->flushed_depth_texture);
> +
>         rtex->fmask_offset = new_tex->fmask_offset;
>         rtex->cmask = new_tex->cmask;
> +       r600_resource_reference(&rtex->cmask_buffer, new_tex->cmask_buffer);
> +       rtex->dcc_offset = new_tex->dcc_offset;
>         rtex->cb_color_info = new_tex->cb_color_info;
> +       memcpy(rtex->color_clear_value, new_tex->color_clear_value,
> +              sizeof(rtex->color_clear_value));
>         rtex->last_msaa_resolve_target_micro_mode = 
> new_tex->last_msaa_resolve_target_micro_mode;
> +
>         rtex->htile_offset = new_tex->htile_offset;
> +       rtex->depth_clear_value = new_tex->depth_clear_value;
> +       rtex->dirty_level_mask = new_tex->dirty_level_mask;
> +       rtex->stencil_dirty_level_mask = new_tex->stencil_dirty_level_mask;
> +       rtex->db_render_format = new_tex->db_render_format;
> +       rtex->stencil_clear_value = new_tex->stencil_clear_value;
>         rtex->tc_compatible_htile = new_tex->tc_compatible_htile;
>         rtex->depth_cleared = new_tex->depth_cleared;
>         rtex->stencil_cleared = new_tex->stencil_cleared;
> +       rtex->upgraded_depth = new_tex->upgraded_depth;
> +       rtex->db_compatible = new_tex->db_compatible;
> +       rtex->can_sample_z = new_tex->can_sample_z;
> +       rtex->can_sample_s = new_tex->can_sample_s;
> +
> +       rtex->separate_dcc_dirty = new_tex->separate_dcc_dirty;
>         rtex->dcc_gather_statistics = new_tex->dcc_gather_statistics;
> -       rtex->framebuffers_bound = new_tex->framebuffers_bound;
> +       r600_resource_reference(&rtex->dcc_separate_buffer,
> +                               new_tex->dcc_separate_buffer);
> +       r600_resource_reference(&rtex->last_dcc_separate_buffer,
> +                               new_tex->last_dcc_separate_buffer);
>  
>         if (new_bind_flag == PIPE_BIND_LINEAR) {
>                 assert(!rtex->htile_offset);
>                 assert(!rtex->cmask.size);
>                 assert(!rtex->surface.fmask_size);
>                 assert(!rtex->dcc_offset);
>                 assert(!rtex->is_depth);
>         }
>  
>         r600_texture_reference(&new_tex, NULL);
> -- 
> 2.17.1
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Hi Marek,

This doesn't apply cleanly to 18.1. It relies on at least
1ba87f4438069964af6548f4fa05386be999f4de, which is massive and also doesn't
apply cleanly. What would you like to do?

Dylan

Attachment: signature.asc
Description: signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to