Hi,

I am not exactly sure about this one.
But at least the the OpenGL state stracker misses the translation of the 
GL_MAP_INVALIDATE_*_BITs.
I would guess that the attached patch is an appropriate tranlsation of these 
into the PIPE_TRANSFER_DISCARD flag.

Please review/apply.

Thanks!

Mathias
From 49e9d2e31719daaa7565db8c6d4f6500e43f1bfb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mathias=20Fr=C3=B6hlich?= <mathias.froehl...@web.de>
Date: Sat, 30 Oct 2010 15:38:39 +0200
Subject: [PATCH 1/1] Add missing map range bits to the state tracker.

---
 src/mesa/state_tracker/st_cb_bufferobjects.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c
index 27540c3..2adc44a 100644
--- a/src/mesa/state_tracker/st_cb_bufferobjects.c
+++ b/src/mesa/state_tracker/st_cb_bufferobjects.c
@@ -273,6 +273,12 @@ st_bufferobj_map_range(struct gl_context *ctx, GLenum target,
 
    if (access & GL_MAP_FLUSH_EXPLICIT_BIT)
       flags |= PIPE_TRANSFER_FLUSH_EXPLICIT;
+
+   if (access & GL_MAP_INVALIDATE_RANGE_BIT)
+      flags |= PIPE_TRANSFER_DISCARD;
+
+   if (access & GL_MAP_INVALIDATE_BUFFER_BIT)
+      flags |= PIPE_TRANSFER_DISCARD;
    
    if (access & GL_MAP_UNSYNCHRONIZED_BIT)
       flags |= PIPE_TRANSFER_UNSYNCHRONIZED;
-- 
1.7.2.3

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to