<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi Filipe,</p>
<p>Can I have your name in the Tested-by list for this patch?</p>
<p>Thanks!</p>
<p>James Zhu<br>
<code><span class="hl slc"></span></code></p>
<p><code><span class="hl slc"><br>
</span></code></p>
<div class="moz-cite-prefix">On 2019-02-15 4:19 p.m., Zhu, James wrote:<br>
</div>
<blockquote type="cite" cite="mid:1550265575-16301-1-git-send-email-James.Zhu@amd.com">
<pre class="moz-quote-pre" wrap="">Fixes: 9364d66cb7f7 (Add video compositor compute shader render)
Bugzilla: <a class="moz-txt-link-freetext" href="https://bugs.freedesktop.org/show_bug.cgi?id=109646">https://bugs.freedesktop.org/show_bug.cgi?id=109646</a>
Problem 1,4: they are caused by imcomplete blend comute shader
implementation. So Reverts rgba back to frament shader.
Signed-off-by: James Zhu <a class="moz-txt-link-rfc2396E" href="mailto:James.Zhu@amd.com"><James.Zhu@amd.com></a>
---
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;
</pre>
</blockquote>
</body>
</html>