[Mesa-dev] [PATCH 2/3] st/vega: remove unnecessary flushes

Marek Olšák maraeo at gmail.com
Thu Mar 10 11:25:36 PST 2011


I don't see a reason we need them.
---
 src/gallium/state_trackers/vega/api_images.c |    4 ----
 src/gallium/state_trackers/vega/image.c      |    8 --------
 src/gallium/state_trackers/vega/mask.c       |    2 --
 3 files changed, 0 insertions(+), 14 deletions(-)

diff --git a/src/gallium/state_trackers/vega/api_images.c b/src/gallium/state_trackers/vega/api_images.c
index b993ba6..a4545a7 100644
--- a/src/gallium/state_trackers/vega/api_images.c
+++ b/src/gallium/state_trackers/vega/api_images.c
@@ -387,8 +387,6 @@ void vegaWritePixels(const void * data, VGint dataStride,
 #endif
       image_destroy(img);
    }
-   /* make sure rendering has completed */
-   pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, NULL);
 }
 
 void vegaReadPixels(void * data, VGint dataStride,
@@ -421,8 +419,6 @@ void vegaReadPixels(void * data, VGint dataStride,
       return;
    }
 
-   /* make sure rendering has completed */
-   pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, NULL);
    if (sx < 0) {
       xoffset = -sx;
       xoffset *= _vega_size_for_format(dataFormat);
diff --git a/src/gallium/state_trackers/vega/image.c b/src/gallium/state_trackers/vega/image.c
index 73351b6..2c6dcb1 100644
--- a/src/gallium/state_trackers/vega/image.c
+++ b/src/gallium/state_trackers/vega/image.c
@@ -518,8 +518,6 @@ void image_copy(struct vg_image *dst, VGint dx, VGint dy,
       vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR);
       return;
    }
-   /* make sure rendering has completed */
-   ctx->pipe->flush(ctx->pipe, PIPE_FLUSH_RENDER_CACHE, NULL);
    vg_copy_texture(ctx, dst->sampler_view->texture, dst->x + dx, dst->y + dy,
                    src->sampler_view, src->x + sx, src->y + sy, width, height);
 }
@@ -569,9 +567,6 @@ void image_set_pixels(VGint dx, VGint dy,
    struct pipe_surface *surf, surf_tmpl;
    struct st_renderbuffer *strb = ctx->draw_buffer->strb;
 
-   /* make sure rendering has completed */
-   pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, NULL);
-
    memset(&surf_tmpl, 0, sizeof(surf_tmpl));
    u_surface_default_template(&surf_tmpl, image_texture(src),
                               0 /* no bind flag - not a surface*/);
@@ -595,9 +590,6 @@ void image_get_pixels(struct vg_image *dst, VGint dx, VGint dy,
    /* flip the y coordinates */
    /*dy = dst->height - dy - height;*/
 
-   /* make sure rendering has completed */
-   pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, NULL);
-
    memset(&surf_tmpl, 0, sizeof(surf_tmpl));
    u_surface_default_template(&surf_tmpl, image_texture(dst),
                               PIPE_BIND_RENDER_TARGET);
diff --git a/src/gallium/state_trackers/vega/mask.c b/src/gallium/state_trackers/vega/mask.c
index dfd0600..10590e2 100644
--- a/src/gallium/state_trackers/vega/mask.c
+++ b/src/gallium/state_trackers/vega/mask.c
@@ -111,8 +111,6 @@ static void read_alpha_mask(void * data, VGint dataStride,
    VGubyte *dst = (VGubyte *)data;
    VGint xoffset = 0, yoffset = 0;
 
-   /* make sure rendering has completed */
-   pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, NULL);
    if (sx < 0) {
       xoffset = -sx;
       xoffset *= _vega_size_for_format(dataFormat);
-- 
1.7.1



More information about the mesa-dev mailing list