summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_context.c
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-08-13 18:14:54 -0600
committerBrian <brian.paul@tungstengraphics.com>2007-08-13 18:20:04 -0600
commitcd308dfa794a1be5d933a4b89539d53929537f88 (patch)
tree719a30b5f51a454510addd650ec2a654ce737637 /src/mesa/pipe/softpipe/sp_context.c
parent612cfb749c3526eeb446bbc631bf24716522f373 (diff)
map stencil buffer too
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_context.c')
-rw-r--r--src/mesa/pipe/softpipe/sp_context.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/pipe/softpipe/sp_context.c b/src/mesa/pipe/softpipe/sp_context.c
index d67ad2c01d..34ef00f619 100644
--- a/src/mesa/pipe/softpipe/sp_context.c
+++ b/src/mesa/pipe/softpipe/sp_context.c
@@ -126,6 +126,12 @@ static void map_surfaces(struct softpipe_context *sp)
pipe->region_map(pipe, sps->surface.region);
}
+ if (sp->framebuffer.sbuf) {
+ struct softpipe_surface *sps = softpipe_surface(sp->framebuffer.sbuf);
+ if (sps->surface.region)
+ pipe->region_map(pipe, sps->surface.region);
+ }
+
/* textures */
for (i = 0; i < PIPE_MAX_SAMPLERS; i++) {
struct pipe_mipmap_tree *mt = sp->texture[i];
@@ -155,6 +161,12 @@ static void unmap_surfaces(struct softpipe_context *sp)
pipe->region_unmap(pipe, sps->surface.region);
}
+ if (sp->framebuffer.sbuf) {
+ struct softpipe_surface *sps = softpipe_surface(sp->framebuffer.sbuf);
+ if (sps->surface.region)
+ pipe->region_unmap(pipe, sps->surface.region);
+ }
+
/* textures */
for (i = 0; i < PIPE_MAX_SAMPLERS; i++) {
struct pipe_mipmap_tree *mt = sp->texture[i];