summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/glide/fxddspan.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mesa/drivers/glide/fxddspan.c b/src/mesa/drivers/glide/fxddspan.c
index 8939b1eea6..c6fcb2ea2e 100644
--- a/src/mesa/drivers/glide/fxddspan.c
+++ b/src/mesa/drivers/glide/fxddspan.c
@@ -370,10 +370,14 @@ static void read_R5G6B5_span(const GLcontext *ctx,
&info)) {
const GLint winX = fxMesa->x_offset;
const GLint winY = fxMesa->y_offset + fxMesa->height - 1;
- const GLint dstStride = (fxMesa->glCtx->Color.DrawBuffer == GL_FRONT)
+#ifdef XF86DRI
+ const GLint srcStride = (fxMesa->glCtx->Color.DrawBuffer == GL_FRONT)
? (fxMesa->screen_width) : (info.strideInBytes / 2);
+#else
+ const GLint srcStride = info.strideInBytes / 2; /* stride in GLushorts */
+#endif
const GLushort *data16 = (const GLushort *) info.lfbPtr
- + (winY - y) * dstStride
+ + (winY - y) * srcStride
+ (winX + x);
const GLuint *data32 = (const GLuint *) data16;
GLuint i, j;