On Thu, Feb 9, 2012 at 1:07 PM, Brian Paul <bri...@vmware.com> wrote:
> On 02/09/2012 01:57 PM, Brian Paul wrote: > >> On 02/09/2012 12:15 PM, Anuj Phogat wrote: >> >>> On Thu, Feb 9, 2012 at 11:02 AM, Ian Romanick <i...@freedesktop.org >>> <mailto:i...@freedesktop.org>> wrote: >>> >>> On 02/09/2012 08:14 AM, Brian Paul wrote: >>> >>> Anuj, >>> >>> The patch you committed (15986d2), the first version you >>> posted that tests: >>> >>> if (width < 2 * border || width > maxSize) >>> return GL_FALSE; >>> >>> causes my copy of conform (mustpass.c / proxy texture test) to >>> fail with >>> swrast/softpipe/llvmpipe. It passes w/ NVIDIA's driver. >>> >>> I thought you were going to commit the patch that does: >>> >>> if (width < 2 * border || width > 2 * border + maxSize) >>> return GL_FALSE; >>> >>> That allows conform to pass here. >>> >>> >>> Allow me to remove the egg from my face. I dug a bit deeper into >>> the test case that was previously failing and conform / mustpass. >>> What I said before >>> (http://lists.freedesktop.org/**__archives/mesa-dev/2012-__** >>> February/018562.html<http://lists.freedesktop.org/__archives/mesa-dev/2012-__February/018562.html> >>> >>> <http://lists.freedesktop.org/**archives/mesa-dev/2012-** >>> February/018562.html<http://lists.freedesktop.org/archives/mesa-dev/2012-February/018562.html> >>> >) >>> >>> was wrong. You and Jose were correct. Sorry. >>> >> >> No biggie. >> >> >> Intel oglconform test case (max_values >>> negative.textureSize.**textureCube) also passes with the patch i earlier >>> posted as per Brian's comments: >>> http://lists.freedesktop.org/**archives/mesa-dev/2012-** >>> January/018410.html<http://lists.freedesktop.org/archives/mesa-dev/2012-January/018410.html> >>> <%20http://lists.freedesktop.**org/archives/mesa-dev/2012-** >>> January/018410.html<http://lists.freedesktop.org/archives/mesa-dev/2012-January/018410.html> >>> > >>> >>> I'll make the required changes as per this patch. >>> >> >> Thanks, the test passes again. But I have a follow-up comment for the >> patch in question... >> > > Actually, this isn't directly related to your patch- the issue is with > texture borders and array textures. > > For a 1D texture array, the border only applies to the width. For a 2D > texture array the border applies to the width and height but not the depth. > We're not handling this correctly everywhere. For example, in > _mesa_init_teximage_fields() we compute the 'Height2' field like this: > > if (height == 1) { /* 1-D texture */ > img->Height2 = 1; > img->HeightLog2 = 0; > } > else { > img->Height2 = height - 2 * border; /* == 1 << img->HeightLog2; */ > img->HeightLog2 = _mesa_logbase2(img->Height2); > } > > The else clause does the wrong thing if the texture is a 1D array texture > with a border. Similarly for Depth2 and 2D array textures. > > Granted, borders are seldom used, but it would be good to go over all the > teximage code and fix these mistakes. > yes, i agree. I'll send out a separate patch to fix such cases in teximage code.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev