projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f7bab47
)
dri/nouveau: allow multiple maps of surface buffers
author
Ben Skeggs
<bskeggs@redhat.com>
Wed, 19 Jan 2011 05:51:57 +0000
(15:51 +1000)
committer
Ben Skeggs
<bskeggs@redhat.com>
Wed, 19 Jan 2011 05:51:57 +0000
(15:51 +1000)
Can happen during swrast fallbacks if a buffer is somehow bound as
a render target and a texture.
Fixes gnome-shell on nv20, and gets it mostly working on nv10.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
src/mesa/drivers/dri/nouveau/nouveau_texture.c
patch
|
blob
|
history
diff --git
a/src/mesa/drivers/dri/nouveau/nouveau_texture.c
b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
index 2480b1ea5004666539b7e297f89108f3442c5419..988208ff56ecbf091a98713cd90615d68a6c87a5 100644
(file)
--- a/
src/mesa/drivers/dri/nouveau/nouveau_texture.c
+++ b/
src/mesa/drivers/dri/nouveau/nouveau_texture.c
@@
-113,8
+113,10
@@
nouveau_teximage_map(struct gl_context *ctx, struct gl_texture_image *ti,
if (access & GL_MAP_WRITE_BIT)
flags |= NOUVEAU_BO_WR;
- ret = nouveau_bo_map(s->bo, flags);
- assert(!ret);
+ if (!s->bo->map) {
+ ret = nouveau_bo_map(s->bo, flags);
+ assert(!ret);
+ }
ti->Data = s->bo->map + y * s->pitch + x * s->cpp;
}