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 <James.Zhu@amd.com> Tested-by: Bruno Milreu <bmilreu@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user