diff options
author | Michel Dänzer <[email protected]> | 2009-02-05 19:41:18 +0100 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2009-02-05 19:41:18 +0100 |
commit | 4617981ec72f7985941bee4b03c534d97ff96bc6 (patch) | |
tree | c3c8fb33499227cf4e3e905b3c04ff6599666663 /src/gallium/drivers/softpipe/sp_texture.h | |
parent | e0c3b4970da052308bf7b4e5cbe9186a4b8321db (diff) |
gallium: No longer allow CPU mapping surfaces directly.
Instead, a new pipe_transfer object has to be created and mapped for
transferring data between the CPU and a texture. This gives the driver more
flexibility for textures in address spaces that aren't CPU accessible.
This is a first pass; softpipe/xlib builds and runs glxgears, but it only shows
a black window. Looks like something's off related to the Z buffer, so the
depth test always fails.
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_texture.h')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_texture.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/gallium/drivers/softpipe/sp_texture.h b/src/gallium/drivers/softpipe/sp_texture.h index c1636920cd6..893aa7d11d8 100644 --- a/src/gallium/drivers/softpipe/sp_texture.h +++ b/src/gallium/drivers/softpipe/sp_texture.h @@ -51,14 +51,27 @@ struct softpipe_texture boolean modified; }; +struct softpipe_transfer +{ + struct pipe_transfer base; + + unsigned long offset; +}; + -/** cast wrapper */ +/** cast wrappers */ static INLINE struct softpipe_texture * softpipe_texture(struct pipe_texture *pt) { return (struct softpipe_texture *) pt; } +static INLINE struct softpipe_transfer * +softpipe_transfer(struct pipe_transfer *pt) +{ + return (struct softpipe_transfer *) pt; +} + extern void softpipe_init_texture_funcs( struct softpipe_context *softpipe ); |