[Mesa-dev] [PATCH 2/2] st/mesa: pass GL_MAP_INVALIDATE_RANGE_BIT to gallium drivers
Brian Paul
brianp at vmware.com
Tue Jan 17 07:19:45 PST 2012
when mapping renderbuffers or texture images.
NOTE: This is a candidate for the 8.0 branch.
---
src/mesa/state_tracker/st_cb_fbo.c | 2 ++
src/mesa/state_tracker/st_cb_texture.c | 2 ++
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c
index ec40a2b..911e321 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -688,6 +688,8 @@ st_MapRenderbuffer(struct gl_context *ctx,
usage |= PIPE_TRANSFER_READ;
if (mode & GL_MAP_WRITE_BIT)
usage |= PIPE_TRANSFER_WRITE;
+ if (mode & GL_MAP_INVALIDATE_RANGE_BIT)
+ usage |= PIPE_TRANSFER_DISCARD_RANGE;
/* Note: y=0=bottom of buffer while y2=0=top of buffer.
* 'invert' will be true for window-system buffers and false for
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index ad4f23c..5cd9a4c 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -189,6 +189,8 @@ st_MapTextureImage(struct gl_context *ctx,
pipeMode |= PIPE_TRANSFER_READ;
if (mode & GL_MAP_WRITE_BIT)
pipeMode |= PIPE_TRANSFER_WRITE;
+ if (mode & GL_MAP_INVALIDATE_RANGE_BIT)
+ pipeMode |= PIPE_TRANSFER_DISCARD_RANGE;
map = st_texture_image_map(st, stImage, slice, pipeMode, x, y, w, h);
if (map) {
--
1.7.3.4
More information about the mesa-dev
mailing list