[Mesa-dev] [PATCH 07/11] radeonsi: reorder and initialize more fields in si_reallocate_texture_inplace
Dylan Baker
dylan at pnwbakers.com
Tue Jun 26 18:14:09 UTC 2018
Quoting Marek Olšák (2018-06-26 09:31:40)
>
>
> On Tue, Jun 26, 2018, 11:57 AM Dylan Baker <dylan at pnwbakers.com> wrote:
>
> Quoting Marek Olšák (2018-06-18 16:33:08)
> > From: Marek Olšák <marek.olsak at amd.com>
> >
> > Some fields shouldn't be initialized, like framebuffers_bound and other
> stats.
> > It's hopefully complete now.
> >
> > Cc: 18.1 <mesa-stable at 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 at 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?
>
>
> Let's ignore this patch.
>
> Thanks,
> Marek
Okay, sounds good.
Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180626/1c3ccc8d/attachment-0001.sig>
More information about the mesa-dev
mailing list