From: Brian Paul Date: Fri, 25 Apr 2008 15:46:43 +0000 (-0600) Subject: mesa: adjust glBitmap coords by a small epsilon X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4e0e02ae684c0286599309ae166cfc716db940d7;p=mesa.git mesa: adjust glBitmap coords by a small epsilon Fixes problem with bitmaps jumping around by one pixel depending on window size. The rasterpos is often X.9999 instead of X+1. Run progs/redbook/drawf and resize window to check. Cherry picked from gallium-0.1 branch --- diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c index 4f287666746..fde93384309 100644 --- a/src/mesa/main/drawpix.c +++ b/src/mesa/main/drawpix.c @@ -374,8 +374,9 @@ _mesa_Bitmap( GLsizei width, GLsizei height, if (ctx->RenderMode == GL_RENDER) { /* Truncate, to satisfy conformance tests (matches SGI's OpenGL). */ - GLint x = IFLOOR(ctx->Current.RasterPos[0] - xorig); - GLint y = IFLOOR(ctx->Current.RasterPos[1] - yorig); + const GLfloat epsilon = 0.0001; + GLint x = IFLOOR(ctx->Current.RasterPos[0] + epsilon - xorig); + GLint y = IFLOOR(ctx->Current.RasterPos[1] + epsilon - yorig); if (ctx->Unpack.BufferObj->Name) { /* unpack from PBO */