Mesa (master): mesa: Add driver hooks for texture image mapping/unmapping.
Eric Anholt
anholt at kemper.freedesktop.org
Mon Aug 29 17:22:33 UTC 2011
Module: Mesa
Branch: master
Commit: 570016cef27b8b2078d1495fcbce86e3c86c0ee4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=570016cef27b8b2078d1495fcbce86e3c86c0ee4
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jul 14 20:57:34 2011 -0600
mesa: Add driver hooks for texture image mapping/unmapping.
ctx->Driver.MapTextureImage() / UnmapTextureImage() will be called by
the glTex[Sub]Image(), glGetTexImage() functions, etc. when we're
accessing texture data, and also for software rendering when accessing
texture data.
Reviewed-by: Brian Paul <brianp at vmware.com>
---
src/mesa/main/dd.h | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index 3164ac8..d918b1e 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -481,6 +481,25 @@ struct dd_function_table {
*/
void (*FreeTextureImageBuffer)( struct gl_context *ctx, struct gl_texture_image *tImage );
+ /** Map a slice of a texture image into user space.
+ * \param texImage the texture image
+ * \param slice the 3D image slice or array texture slice
+ * \param x, y, w, h region of interest
+ * \param mode bitmask of GL_MAP_READ_BIT, GL_MAP_WRITE_BIT
+ * \param mapOut returns start of mapping of region of interest
+ * \param rowStrideOut returns row stride (in bytes)
+ */
+ void (*MapTextureImage)(struct gl_context *ctx,
+ struct gl_texture_image *texImage,
+ GLuint slice,
+ GLuint x, GLuint y, GLuint w, GLuint h,
+ GLbitfield mode,
+ GLubyte **mapOut, GLint *rowStrideOut);
+
+ void (*UnmapTextureImage)(struct gl_context *ctx,
+ struct gl_texture_image *texImage,
+ GLuint slice);
+
/** Map texture image data into user space */
void (*MapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
/** Unmap texture images from user space */
More information about the mesa-commit
mailing list