diff options
author | Brian <brian.paul@tungstengraphics.com> | 2007-12-07 10:21:56 -0700 |
---|---|---|
committer | Ben Skeggs <skeggsb@gmail.com> | 2007-12-09 12:05:26 +1100 |
commit | 0d74d51790d81f6a19145ddb2f95d83c607c89dd (patch) | |
tree | 8b88c31d43491843f04b5f8d6f849507dcdb886a /src/mesa/pipe/softpipe/sp_texture.h | |
parent | 99823680a51ccc46a76d0abe6a24e7e4465a4cc6 (diff) |
Move struct softpipe_texture definition into sp_texture.h
Also, added softpipe_texture() cast wrapper.
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_texture.h')
-rw-r--r-- | src/mesa/pipe/softpipe/sp_texture.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/mesa/pipe/softpipe/sp_texture.h b/src/mesa/pipe/softpipe/sp_texture.h index 2aca57bd1d..732064d986 100644 --- a/src/mesa/pipe/softpipe/sp_texture.h +++ b/src/mesa/pipe/softpipe/sp_texture.h @@ -6,6 +6,45 @@ struct pipe_context; struct pipe_texture; +struct softpipe_texture +{ + struct pipe_texture base; + + /* Derived from the above: + */ + unsigned pitch; + unsigned depth_pitch; /* per-image on i945? */ + unsigned total_height; + + unsigned nr_images[PIPE_MAX_TEXTURE_LEVELS]; + + /* Explicitly store the offset of each image for each cube face or + * depth value. Pretty much have to accept that hardware formats + * are going to be so diverse that there is no unified way to + * compute the offsets of depth/cube images within a mipmap level, + * so have to store them as a lookup table: + */ + unsigned *image_offset[PIPE_MAX_TEXTURE_LEVELS]; /**< array [depth] of offsets */ + + /* Includes image offset tables: + */ + unsigned long level_offset[PIPE_MAX_TEXTURE_LEVELS]; + + /* The data is held here: + */ + struct pipe_buffer_handle *buffer; +}; + + +/** cast wrapper */ +static INLINE struct softpipe_texture * +softpipe_texture(struct pipe_texture *pt) +{ + return (struct softpipe_texture *) pt; +} + + + extern void softpipe_texture_create(struct pipe_context *pipe, struct pipe_texture **pt); |