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
