Reviewed-by: Marek Olšák <[email protected]> Marek
On Fri, Dec 14, 2018 at 8:43 PM Ilia Mirkin <[email protected]> wrote: > A long time ago, when this was first implemented, not having a sampler > bound would cause problems on Fermi. I didn't work out the reasons, but > the solution was simple -- just put the samplers back in. > > Since then, regular texturing paths appear to have lost their associated > samplers which required a fuller investigation and fix in nouveau. Now > that this is done, this code should no longer need a sampler state for > fetching texels from a buffer texture. > > Signed-off-by: Ilia Mirkin <[email protected]> > --- > > This was introduced in 2b938a390 which fixed a number of legitimate > issues, as well as this which ultimately was an issue in nouveau which > in turn were fixed in 153d3fc5f9. > > At the time this was the only way for the condition to occur. However > now more bits have changed and a txf on a buffer could end up happening > without a sampler bound under "usual" circumstances, which necessitated > an investigation and proper fix. > > src/mesa/state_tracker/st_cb_texture.c | 5 ----- > 1 file changed, 5 deletions(-) > > diff --git a/src/mesa/state_tracker/st_cb_texture.c > b/src/mesa/state_tracker/st_cb_texture.c > index b8cc616d8f2..45918e425ac 100644 > --- a/src/mesa/state_tracker/st_cb_texture.c > +++ b/src/mesa/state_tracker/st_cb_texture.c > @@ -1192,7 +1192,6 @@ try_pbo_upload_common(struct gl_context *ctx, > return false; > > cso_save_state(cso, (CSO_BIT_FRAGMENT_SAMPLER_VIEWS | > - CSO_BIT_FRAGMENT_SAMPLERS | > CSO_BIT_VERTEX_ELEMENTS | > CSO_BIT_AUX_VERTEX_BUFFER_SLOT | > CSO_BIT_FRAMEBUFFER | > @@ -1216,8 +1215,6 @@ try_pbo_upload_common(struct gl_context *ctx, > { > struct pipe_sampler_view templ; > struct pipe_sampler_view *sampler_view; > - struct pipe_sampler_state sampler = {0}; > - const struct pipe_sampler_state *samplers[1] = {&sampler}; > > memset(&templ, 0, sizeof(templ)); > templ.target = PIPE_BUFFER; > @@ -1237,8 +1234,6 @@ try_pbo_upload_common(struct gl_context *ctx, > cso_set_sampler_views(cso, PIPE_SHADER_FRAGMENT, 1, &sampler_view); > > pipe_sampler_view_reference(&sampler_view, NULL); > - > - cso_set_samplers(cso, PIPE_SHADER_FRAGMENT, 1, samplers); > } > > /* Framebuffer_state */ > -- > 2.18.1 > > _______________________________________________ > 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
