[Mesa-dev] [PATCH 2/3] gallium/auxiliary/vl: Fixed blank issue with compute shader

Zhu, James James.Zhu at amd.com
Tue Apr 2 18:21:57 UTC 2019


Multiple init buffer within one open instance will cause blank issue.
Updating viewport per frame will fix this issue.

Signed-off-by: James Zhu <James.Zhu at amd.com>
Tested-by: Bruno Milreu <bmilreu at gmail.com>
---
 src/gallium/auxiliary/vl/vl_compositor_cs.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/gallium/auxiliary/vl/vl_compositor_cs.c b/src/gallium/auxiliary/vl/vl_compositor_cs.c
index 6336b23..c3afe61 100644
--- a/src/gallium/auxiliary/vl/vl_compositor_cs.c
+++ b/src/gallium/auxiliary/vl/vl_compositor_cs.c
@@ -362,7 +362,6 @@ draw_layers(struct vl_compositor       *c,
             struct u_rect              *dirty)
 {
    unsigned i;
-   static struct cs_viewport old_drawn;
 
    assert(c);
 
@@ -381,11 +380,7 @@ draw_layers(struct vl_compositor       *c,
          drawn.translate_y = (int)layer->viewport.translate[1];
          drawn.sampler0_w = (float)layer->sampler_views[0]->texture->width0;
          drawn.sampler0_h = (float)layer->sampler_views[0]->texture->height0;
-
-         if (memcmp(&drawn, &old_drawn, sizeof(struct cs_viewport))) {
-            set_viewport(s, &drawn);
-            old_drawn = drawn;
-         }
+         set_viewport(s, &drawn);
 
          c->pipe->bind_sampler_states(c->pipe, PIPE_SHADER_COMPUTE, 0,
                         num_sampler_views, layer->samplers);
-- 
2.7.4



More information about the mesa-dev mailing list