g3dvl: Mark all buffers for incoming frame data as discardable.
authorYounes Manton <younes.m@gmail.com>
Wed, 14 Jan 2009 05:28:58 +0000 (00:28 -0500)
committerYounes Manton <younes.m@gmail.com>
Mon, 19 Jan 2009 02:40:11 +0000 (21:40 -0500)
src/gallium/state_trackers/g3dvl/vl_basic_csc.c
src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c

index 3ce93cf..c685bc9 100644 (file)
@@ -157,7 +157,7 @@ static int vlPutPictureCSC
        (
                pipe->winsys,
                basic_csc->vs_const_buf.buffer,
-               PIPE_BUFFER_USAGE_CPU_WRITE
+               PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD
        );
 
        vs_consts->dst_scale.x = destw / (float)basic_csc->framebuffer.cbufs[0]->width;
@@ -602,7 +602,7 @@ static int vlCreateDataBufs
        (
                pipe->winsys,
                1,
-               PIPE_BUFFER_USAGE_CONSTANT,
+               PIPE_BUFFER_USAGE_CONSTANT | PIPE_BUFFER_USAGE_DISCARD,
                csc->vs_const_buf.size
        );
 
index c5a73b2..2e790bb 100644 (file)
@@ -603,7 +603,7 @@ static int vlFlush
                (
                        mc->pipe->winsys,
                        mc->vertex_bufs.ycbcr.buffer,
-                       PIPE_BUFFER_USAGE_CPU_WRITE
+                       PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD
                );
 
                for (i = 0; i < 2; ++i)
@@ -611,7 +611,7 @@ static int vlFlush
                        (
                                mc->pipe->winsys,
                                mc->vertex_bufs.ref[i].buffer,
-                               PIPE_BUFFER_USAGE_CPU_WRITE
+                               PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD
                        );
 
                for (i = 0; i < mc->num_macroblocks; ++i)
@@ -647,7 +647,7 @@ static int vlFlush
        (
                pipe->winsys,
                mc->vs_const_buf.buffer,
-               PIPE_BUFFER_USAGE_CPU_WRITE
+               PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD
        );
 
        vs_consts->denorm.x = mc->buffered_surface->texture->width[0];
@@ -808,10 +808,10 @@ static int vlRenderMacroBlocksMpeg2R16SnormBuffered
                        (
                                mc->pipe->screen,
                                mc->textures.all[i],
-                               0, 0, 0, PIPE_BUFFER_USAGE_CPU_WRITE
+                               0, 0, 0, PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD
                        );
 
-                       mc->texels[i] = pipe_surface_map(mc->tex_surface[i], PIPE_BUFFER_USAGE_CPU_WRITE);
+                       mc->texels[i] = pipe_surface_map(mc->tex_surface[i], PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD);
                }
        }
 
@@ -913,7 +913,7 @@ static int vlCreateDataBufs
        (
                pipe->winsys,
                DEFAULT_BUF_ALIGNMENT,
-               PIPE_BUFFER_USAGE_VERTEX,
+               PIPE_BUFFER_USAGE_VERTEX | PIPE_BUFFER_USAGE_DISCARD,
                sizeof(struct vlVertex2f) * 4 * 24 * mc->macroblocks_per_picture
        );
 
@@ -926,7 +926,7 @@ static int vlCreateDataBufs
                (
                        pipe->winsys,
                        DEFAULT_BUF_ALIGNMENT,
-                       PIPE_BUFFER_USAGE_VERTEX,
+                       PIPE_BUFFER_USAGE_VERTEX | PIPE_BUFFER_USAGE_DISCARD,
                        sizeof(struct vlVertex2f) * 2 * 24 * mc->macroblocks_per_picture
                );
        }
@@ -985,7 +985,7 @@ static int vlCreateDataBufs
        (
                pipe->winsys,
                DEFAULT_BUF_ALIGNMENT,
-               PIPE_BUFFER_USAGE_CONSTANT,
+               PIPE_BUFFER_USAGE_CONSTANT | PIPE_BUFFER_USAGE_DISCARD,
                mc->vs_const_buf.size
        );