On Tue, May 30, 2017 at 10:36 PM, Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > Resident buffers have to be added to every new command stream. > Though, this could be slightly improved when current shaders > don't use any bindless textures/images but usually applications > tend to use bindless for almost every draw call, and the winsys > thread might help when buffers are added early. > > v2: - store pipe_sampler_view instead of si_sampler_view > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > --- > src/gallium/drivers/radeonsi/si_descriptors.c | 50 > +++++++++++++++++++++++++++ > src/gallium/drivers/radeonsi/si_hw_context.c | 1 + > src/gallium/drivers/radeonsi/si_state.h | 1 + > 3 files changed, 52 insertions(+) > > diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c > b/src/gallium/drivers/radeonsi/si_descriptors.c > index 238cca4561..769ce778cf 100644 > --- a/src/gallium/drivers/radeonsi/si_descriptors.c > +++ b/src/gallium/drivers/radeonsi/si_descriptors.c > @@ -2373,6 +2373,56 @@ static void si_make_image_handle_resident(struct > pipe_context *ctx, > } > > > +void si_all_resident_buffers_begin_new_cs(struct si_context *sctx) > +{ > + unsigned num_resident_tex_handles, num_resident_img_handles; > + unsigned num_bindless_descriptors; > + unsigned i; > + > + num_resident_tex_handles = sctx->resident_tex_handles.size / > + sizeof(struct si_texture_handle *); > + num_resident_img_handles = sctx->resident_img_handles.size / > + sizeof(struct si_image_handle *); > + num_bindless_descriptors = sctx->bindless_descriptors.size / > + sizeof(struct r600_resource *); > + > + /* Add all bindless descriptors. */ > + for (i = 0; i < num_bindless_descriptors; i++) { > + struct r600_resource *desc = > + *util_dynarray_element(&sctx->bindless_descriptors, > + struct r600_resource *, i); > + > + radeon_add_to_buffer_list(&sctx->b, &sctx->b.gfx, desc, > + RADEON_USAGE_READ,
This should be RADEON_USAGE_READWRITE, because patch 16 uses WRITE_DATA to write to it. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev