summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/vl/vl_idct.h
diff options
context:
space:
mode:
authorChristian König <deathsimple@vodafone.de>2010-11-16 22:30:50 +0100
committerChristian König <deathsimple@vodafone.de>2010-11-16 22:30:50 +0100
commite639e1b83ea65985cd84d12dc120d77cab80ba9e (patch)
treea4662ac06e67338b4ad16ed0ed135664977b4d00 /src/gallium/auxiliary/vl/vl_idct.h
parent508a4a056c3140dc1f90b93acd46c06c30f7094e (diff)
downloadexternal_mesa3d-e639e1b83ea65985cd84d12dc120d77cab80ba9e.tar.gz
external_mesa3d-e639e1b83ea65985cd84d12dc120d77cab80ba9e.tar.bz2
external_mesa3d-e639e1b83ea65985cd84d12dc120d77cab80ba9e.zip
[g3dvl] next round of idct implementation
Diffstat (limited to 'src/gallium/auxiliary/vl/vl_idct.h')
-rw-r--r--src/gallium/auxiliary/vl/vl_idct.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/gallium/auxiliary/vl/vl_idct.h b/src/gallium/auxiliary/vl/vl_idct.h
index 02a3250399..6bb7f6bfbe 100644
--- a/src/gallium/auxiliary/vl/vl_idct.h
+++ b/src/gallium/auxiliary/vl/vl_idct.h
@@ -46,7 +46,7 @@ struct vl_idct
{
void *all[4];
struct {
- void *matrix, *transpose;
+ void *transpose, *matrix;
void *source, *intermediate;
} individual;
} samplers;
@@ -55,7 +55,7 @@ struct vl_idct
{
struct pipe_sampler_view *all[4];
struct {
- struct pipe_sampler_view *matrix, *transpose;
+ struct pipe_sampler_view *transpose, *matrix;
struct pipe_sampler_view *source, *intermediate;
} individual;
} sampler_views;
@@ -67,16 +67,28 @@ struct vl_idct
{
struct pipe_resource *all[4];
struct {
- struct pipe_resource *matrix, *transpose;
+ struct pipe_resource *transpose, *matrix;
struct pipe_resource *source, *intermediate;
} individual;
} textures;
- struct pipe_vertex_buffer quad;
- struct pipe_vertex_buffer pos;
+ union
+ {
+ struct pipe_vertex_buffer all[2];
+ struct { struct pipe_vertex_buffer quad, pos; } individual;
+ } vertex_bufs;
+
+ unsigned num_blocks;
struct pipe_transfer *tex_transfer;
short *texels;
+
+ struct pipe_transfer *vec_transfer;
+ struct vertex2f *vectors;
+
+ struct {
+ struct pipe_surface *intermediate, *destination;
+ } surfaces;
};
bool vl_idct_init(struct vl_idct *idct, struct pipe_context *pipe, struct pipe_resource *dst);