[Mesa-dev] [PATCH] gallium/auxiliary/vl: Revert rgba back to frament shader
Liu, Leo
Leo.Liu at amd.com
Fri Feb 15 20:53:48 UTC 2019
On 2/15/19 3:42 PM, Zhu, James wrote:
> Bugzilla Bug 109646 - New video compositor compute shader render glitches mpv
> Problem 1,4: they are caused by imcomplete blend compute shader
> implementation. So Revert rgba back to frament shader.
Please refer to other commit message to put Bugzilla link here, also
refer to others to add "FIXES:"
Leo
>
> Signed-off-by: James Zhu <James.Zhu at amd.com>
> ---
> src/gallium/auxiliary/vl/vl_compositor.c | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/src/gallium/auxiliary/vl/vl_compositor.c b/src/gallium/auxiliary/vl/vl_compositor.c
> index 8731ad9..a8f3620 100644
> --- a/src/gallium/auxiliary/vl/vl_compositor.c
> +++ b/src/gallium/auxiliary/vl/vl_compositor.c
> @@ -100,12 +100,12 @@ init_shaders(struct vl_compositor *c)
> debug_printf("Unable to create YCbCr-to-RGB weave fragment shader.\n");
> return false;
> }
> + }
>
> - c->fs_rgba = create_frag_shader_rgba(c);
> - if (!c->fs_rgba) {
> - debug_printf("Unable to create RGB-to-RGB fragment shader.\n");
> - return false;
> - }
> + c->fs_rgba = create_frag_shader_rgba(c);
> + if (!c->fs_rgba) {
> + debug_printf("Unable to create RGB-to-RGB fragment shader.\n");
> + return false;
> }
>
> return true;
> @@ -132,8 +132,8 @@ static void cleanup_shaders(struct vl_compositor *c)
> } else {
> c->pipe->delete_fs_state(c->pipe, c->fs_video_buffer);
> c->pipe->delete_fs_state(c->pipe, c->fs_weave_rgb);
> - c->pipe->delete_fs_state(c->pipe, c->fs_rgba);
> }
> + c->pipe->delete_fs_state(c->pipe, c->fs_rgba);
> }
>
> static bool
> @@ -642,10 +642,7 @@ vl_compositor_set_rgba_layer(struct vl_compositor_state *s,
> assert(layer < VL_COMPOSITOR_MAX_LAYERS);
>
> s->used_layers |= 1 << layer;
> - if (c->pipe_compute_supported)
> - s->layers[layer].cs = c->cs_rgba;
> - else
> - s->layers[layer].fs = c->fs_rgba;
> + s->layers[layer].fs = c->fs_rgba;
> s->layers[layer].samplers[0] = c->sampler_linear;
> s->layers[layer].samplers[1] = NULL;
> s->layers[layer].samplers[2] = NULL;
More information about the mesa-dev
mailing list