summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/renderbuffer.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2011-10-13 12:02:43 -0700
committerEric Anholt <eric@anholt.net>2011-11-01 15:42:17 -0700
commit76d1275474d7b5ac2f0edf5856ae1c5fc234f0d9 (patch)
tree237e9241c2cd2c749b3fcb979c2e4a15bb35da00 /src/mesa/main/renderbuffer.c
parenta25a452fbed6cd72b356ff96839d2097b3e4a4fe (diff)
downloadexternal_mesa3d-76d1275474d7b5ac2f0edf5856ae1c5fc234f0d9.zip
external_mesa3d-76d1275474d7b5ac2f0edf5856ae1c5fc234f0d9.tar.gz
external_mesa3d-76d1275474d7b5ac2f0edf5856ae1c5fc234f0d9.tar.bz2
Add MapRenderbuffer implementations for software drivers.
Mesa core's is generic for things like osmesa. For swrast_dri.so, we have to do Y flipping. The front-buffer path isn't actually tested, though, because both before and after it fails with a BadMatch in XGetImage. Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src/mesa/main/renderbuffer.c')
-rw-r--r--src/mesa/main/renderbuffer.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c
index 70011e6..5dd46cc 100644
--- a/src/mesa/main/renderbuffer.c
+++ b/src/mesa/main/renderbuffer.c
@@ -1716,6 +1716,33 @@ _mesa_soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *
}
+void
+_mesa_map_soft_renderbuffer(struct gl_context *ctx,
+ struct gl_renderbuffer *rb,
+ GLuint x, GLuint y, GLuint w, GLuint h,
+ GLbitfield mode,
+ GLubyte **out_map,
+ GLint *out_stride)
+{
+ GLubyte *map = rb->Data;
+ int cpp = _mesa_get_format_bytes(rb->Format);
+ int stride = rb->RowStride * cpp;
+
+ ASSERT(rb->Data);
+
+ map += y * stride;
+ map += x * cpp;
+
+ *out_map = map;
+ *out_stride = stride;
+}
+
+void
+_mesa_unmap_soft_renderbuffer(struct gl_context *ctx,
+ struct gl_renderbuffer *rb)
+{
+}
+
/**********************************************************************/
/**********************************************************************/