From 95970677b92bef1b24cc83ecfe1759b35426d3d2 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sat, 24 Dec 2011 08:54:26 -0700 Subject: [PATCH] swrast: replace GetRow() call with _mesa_unpack_ubyte_stencil_row() Reviewed-by: Eric Anholt --- src/mesa/swrast/s_stencil.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mesa/swrast/s_stencil.c b/src/mesa/swrast/s_stencil.c index 5f81fe8ec73..aa9ab162576 100644 --- a/src/mesa/swrast/s_stencil.c +++ b/src/mesa/swrast/s_stencil.c @@ -26,6 +26,7 @@ #include "main/glheader.h" #include "main/context.h" #include "main/imports.h" +#include "main/format_unpack.h" #include "s_context.h" #include "s_depth.h" @@ -1044,6 +1045,8 @@ void _swrast_read_stencil_span(struct gl_context *ctx, struct gl_renderbuffer *rb, GLint n, GLint x, GLint y, GLubyte stencil[]) { + GLubyte *src; + if (y < 0 || y >= (GLint) rb->Height || x + n <= 0 || x >= (GLint) rb->Width) { /* span is completely outside framebuffer */ @@ -1064,7 +1067,8 @@ _swrast_read_stencil_span(struct gl_context *ctx, struct gl_renderbuffer *rb, return; } - rb->GetRow(ctx, rb, n, x, y, stencil); + src = (GLubyte *) rb->Data + y * rb->RowStride +x; + _mesa_unpack_ubyte_stencil_row(rb->Format, n, src, stencil); } -- 2.30.2