summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/vl/vl_idct.h
diff options
context:
space:
mode:
authorChristian König <[email protected]>2011-03-08 18:34:05 +0100
committerChristian König <[email protected]>2011-03-08 18:34:05 +0100
commit310eea52ca1e997295c84163066cc5d0fd4f8cf6 (patch)
tree0d6e0e5197303b97f6d35992398bdcd10b1c3f01 /src/gallium/auxiliary/vl/vl_idct.h
parent43af13b2cb6d865610b3cdf64f8dbf16a9bca215 (diff)
[g3dvl] use a single vertex buffer for both idct and mc
Diffstat (limited to 'src/gallium/auxiliary/vl/vl_idct.h')
-rw-r--r--src/gallium/auxiliary/vl/vl_idct.h21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/gallium/auxiliary/vl/vl_idct.h b/src/gallium/auxiliary/vl/vl_idct.h
index fcba75a7607..78e4a46369d 100644
--- a/src/gallium/auxiliary/vl/vl_idct.h
+++ b/src/gallium/auxiliary/vl/vl_idct.h
@@ -37,8 +37,7 @@ struct vl_idct
unsigned buffer_width;
unsigned buffer_height;
-
- unsigned max_blocks;
+ unsigned blocks_x, blocks_y;
void *rs_state;
void *vertex_elems_state;
@@ -58,8 +57,6 @@ struct vl_idct
struct pipe_resource *matrix;
struct pipe_vertex_buffer quad;
-
- unsigned vertex_buffer_stride;
};
struct vl_idct_buffer
@@ -92,24 +89,24 @@ struct vl_idct_buffer
union
{
struct pipe_vertex_buffer all[2];
- struct { struct pipe_vertex_buffer quad, pos; } individual;
+ struct { struct pipe_vertex_buffer quad, stream; } individual;
} vertex_bufs;
- struct vl_vertex_buffer blocks;
-
struct pipe_transfer *tex_transfer;
short *texels;
};
struct pipe_resource *vl_idct_upload_matrix(struct pipe_context *pipe);
-bool vl_idct_init(struct vl_idct *idct, struct pipe_context *pipe,
- unsigned buffer_width, unsigned buffer_height,
- struct pipe_resource *matrix);
+bool vl_idct_init(struct vl_idct *idct, struct pipe_context *pipe,
+ unsigned buffer_width, unsigned buffer_height,
+ unsigned blocks_x, unsigned blocks_y,
+ int color_swizzle, struct pipe_resource *matrix);
void vl_idct_cleanup(struct vl_idct *idct);
-bool vl_idct_init_buffer(struct vl_idct *idct, struct vl_idct_buffer *buffer, struct pipe_resource *dst);
+bool vl_idct_init_buffer(struct vl_idct *idct, struct vl_idct_buffer *buffer,
+ struct pipe_resource *dst, struct pipe_vertex_buffer stream);
void vl_idct_cleanup_buffer(struct vl_idct *idct, struct vl_idct_buffer *buffer);
@@ -119,6 +116,6 @@ void vl_idct_add_block(struct vl_idct_buffer *buffer, unsigned x, unsigned y, sh
void vl_idct_unmap_buffers(struct vl_idct *idct, struct vl_idct_buffer *buffer);
-void vl_idct_flush(struct vl_idct *idct, struct vl_idct_buffer *buffer);
+void vl_idct_flush(struct vl_idct *idct, struct vl_idct_buffer *buffer, unsigned num_verts);
#endif