summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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];