[Mesa-dev] [PATCH 4/5] st/mesa: set blend state for PBO readbacks

Marek Olšák maraeo at gmail.com
Thu Feb 23 00:14:45 UTC 2017


BTW, the blend state here doesn't matter, because the framebuffer has
no attachments. The idea is to have any non-NULL blend state set, so
that drivers don't have to check for NULL everywhere.

Marek

On Thu, Feb 23, 2017 at 1:07 AM, Marek Olšák <maraeo at gmail.com> wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> Cc: 13.0 17.0 <mesa-stable at lists.freedesktop.org>
> ---
>  src/mesa/state_tracker/st_cb_readpixels.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c
> index 5ce2421..2bcc6be 100644
> --- a/src/mesa/state_tracker/st_cb_readpixels.c
> +++ b/src/mesa/state_tracker/st_cb_readpixels.c
> @@ -205,20 +205,21 @@ try_pbo_readpixels(struct st_context *st, struct st_renderbuffer *strb,
>        cso_set_shader_images(cso, PIPE_SHADER_FRAGMENT, 0, 1, &image);
>     }
>
>     /* Set up no-attachment framebuffer */
>     memset(&fb, 0, sizeof(fb));
>     fb.width = surface->width;
>     fb.height = surface->height;
>     fb.samples = 1;
>     fb.layers = 1;
>     cso_set_framebuffer(cso, &fb);
> +   cso_set_blend(cso, &st->pbo.upload_blend);
>
>     cso_set_viewport_dims(cso, fb.width, fb.height, invert_y);
>
>     if (invert_y)
>        st_pbo_addresses_invert_y(&addr, fb.height);
>
>     {
>        struct pipe_depth_stencil_alpha_state dsa;
>        memset(&dsa, 0, sizeof(dsa));
>        cso_set_depth_stencil_alpha(cso, &dsa);
> --
> 2.7.4
>


More information about the mesa-dev mailing list