From: James Zhu Date: Fri, 29 Mar 2019 19:57:51 +0000 (-0400) Subject: gallium/auxiliary/vl: Fixed blank issue with compute shader X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4bbc9c493f4b923516d9ef40b41a0dd7648fdb1e;p=mesa.git gallium/auxiliary/vl: Fixed blank issue with compute shader Multiple init buffer within one open instance will cause blank issue. Updating viewport per frame will fix this issue. Signed-off-by: James Zhu Tested-by: Bruno Milreu Reviewed-by: Marek Olšák --- diff --git a/src/gallium/auxiliary/vl/vl_compositor_cs.c b/src/gallium/auxiliary/vl/vl_compositor_cs.c index 6336b235458..c3afe618117 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);