[Mesa-dev] [PATCH] st/mesa: remove sampler associated with buffer texture in pbo logic
Marek Olšák
maraeo at gmail.com
Mon Dec 17 03:18:26 UTC 2018
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Fri, Dec 14, 2018 at 8:43 PM Ilia Mirkin <imirkin at alum.mit.edu> 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 <imirkin at alum.mit.edu>
> ---
>
> 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
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181216/bf4f4e71/attachment.html>
More information about the mesa-dev
mailing list