diff options
author | José Fonseca <[email protected]> | 2010-03-13 16:04:06 +0000 |
---|---|---|
committer | José Fonseca <[email protected]> | 2010-03-13 16:04:06 +0000 |
commit | 3abc7b985ce0787c5103d1a86bd0ba07b127a82f (patch) | |
tree | 59b5cbaf0c3c103fb9f5d7237b61ecb29a2b7e32 /src/gallium/drivers/llvmpipe/lp_texture.h | |
parent | a80e33f40731f07e8a39896bfdcd1b1504aedc1f (diff) |
llvmpipe: Don't use texture transfer internally.
Now that transfers are context objects their sideeffects must happen in
order when used by the state tracker, but that synchronization must be
bypassed when used inside the driver, or it would cause infinite
recursion.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_texture.h')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_texture.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_texture.h b/src/gallium/drivers/llvmpipe/lp_texture.h index 94b667abf31..2350c26e4fc 100644 --- a/src/gallium/drivers/llvmpipe/lp_texture.h +++ b/src/gallium/drivers/llvmpipe/lp_texture.h @@ -95,6 +95,28 @@ llvmpipe_transfer(struct pipe_transfer *pt) } +static INLINE unsigned +llvmpipe_texture_stride(struct pipe_texture *texture, + unsigned level) +{ + struct llvmpipe_texture *lpt = llvmpipe_texture(texture); + assert(level < LP_MAX_TEXTURE_2D_LEVELS); + return lpt->stride[level]; +} + + +void * +llvmpipe_texture_map(struct pipe_texture *texture, + unsigned face, + unsigned level, + unsigned zslice); + +void +llvmpipe_texture_unmap(struct pipe_texture *texture, + unsigned face, + unsigned level, + unsigned zslice); + extern void llvmpipe_init_screen_texture_funcs(struct pipe_screen *screen); |