[Mesa-dev] [PATCH 2/3] gallium/auxiliary/vl: Change grid setting

Zhu, James James.Zhu at amd.com
Tue Mar 12 15:12:22 UTC 2019


Using draw area for grid setting instead of destination
buffer size.

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 | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/vl/vl_compositor_cs.c b/src/gallium/auxiliary/vl/vl_compositor_cs.c
index 70898be..de0a3c7 100644
--- a/src/gallium/auxiliary/vl/vl_compositor_cs.c
+++ b/src/gallium/auxiliary/vl/vl_compositor_cs.c
@@ -221,7 +221,8 @@ const char *compute_shader_rgba =
 
 static void
 cs_launch(struct vl_compositor *c,
-          void                 *cs)
+          void                 *cs,
+          const struct u_rect  *draw_area)
 {
    struct pipe_context *ctx = c->pipe;
 
@@ -241,8 +242,8 @@ cs_launch(struct vl_compositor *c,
    info.block[0] = 8;
    info.block[1] = 8;
    info.block[2] = 1;
-   info.grid[0] = DIV_ROUND_UP(c->fb_state.width, info.block[0]);
-   info.grid[1] = DIV_ROUND_UP(c->fb_state.height, info.block[1]);
+   info.grid[0] = DIV_ROUND_UP(draw_area->x1, info.block[0]);
+   info.grid[1] = DIV_ROUND_UP(draw_area->y1, info.block[1]);
    info.grid[2] = 1;
 
    ctx->launch_grid(ctx, &info);
@@ -346,7 +347,7 @@ draw_layers(struct vl_compositor       *c,
          c->pipe->set_sampler_views(c->pipe, PIPE_SHADER_COMPUTE, 0,
                         num_sampler_views, samplers);
 
-         cs_launch(c, layer->cs);
+         cs_launch(c, layer->cs, &(drawn.area));
 
          if (dirty) {
             struct u_rect drawn = calc_drawn_area(s, layer);
-- 
2.7.4



More information about the mesa-dev mailing list