[Piglit] [PATCH 00/23] Tests for all GLSL texture functions (almost)

Ilia Mirkin imirkin at alum.mit.edu
Mon Jul 7 09:51:33 PDT 2014

I still think it'd be nice not to have to have special shell chars as
args. Also the fact is that piglit doesn't escape them on the
summary... not even sure how you'd do that... I definitely don't want
to see texture\(\). I'd just remove the *'s entirely, and 'texture()'
-> texture, 'texture(bias)' -> texture-bias.

Either way, I've run these on both nv50 and nve0, where they have
turned up issues that I subsequently fixed (except nv50, where
CubeShadow + bias can't work, and nvc0, where CubeShadow + bias
_still_ doesn't work despite all my kepler fixes, but I haven't had a
chance to investigate why yet).


Tested-by: Ilia Mirkin <imirkin at alum.mit.edu>

To all the other driver teams, I highly recommend running these :) A
quick run on my SNB turned up a bunch of failures, followed by a few
GPU hangs it recovered from, followed by a GPU hang that killed the
system (not even SysRq could reboot it, had to use the dreaded power

On Fri, Jul 4, 2014 at 2:26 PM, Marek Olšák <maraeo at gmail.com> wrote:
> Well, I think piglit should escape the special characters when
> generating the html report.
> Marek
> On Fri, Jul 4, 2014 at 8:00 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> On Fri, Jul 4, 2014 at 1:09 PM, Marek Olšák <maraeo at gmail.com> wrote:
>>> See the master branch at:
>>> http://cgit.freedesktop.org/~mareko/piglit/
>>> It passes with my latest Mesa and LLVM patches on radeonsi. Also see
>>> my st/mesa fix for samplerCubeShadow, which you will probably need.
>> And some further fixes, it would seem =/
>> BTW:
>> $ echo texture(bias)
>> bash: syntax error near unexpected token `('
>> I know I can stick it in ' ', but these sorts of things make it harder
>> to copy command lines around from, e.g., piglit run info.
>>> I also forgot to say that it tests all texture targets including the
>>> shadow targets, so it covers shadow mapping too.
>>> On failure, it usually reports which level was expected and which
>>> level was observed, or that a wrong layer or offset was observed (it
>>> doesn't say which one though). It doesn't just report some random
>>> color that you have to interpret by yourself.
>>> Marek
>>> On Fri, Jul 4, 2014 at 6:10 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>>> On Fri, Jul 4, 2014 at 10:09 AM, Marek Olšák <maraeo at gmail.com> wrote:
>>>>> Hi,
>>>>> This adds tests for all GLSL texture function. The tex-miplevel-selection test is used, since it's a good foundation for testing texturing with mipmaps.
>>>>> All functions are tested except for textureGrad with Cube samplers (I think the GL spec doesn't define how Cube derivates are interpreted).
>>>>> All combinations of the following states: BASE_LEVEL, MAX_LEVEL, MIN_LOD, MAX_LOD, LOD_BIAS or shader-provided bias, mipmap or no mipmap filtering, and scaling texture coordinates to affect the implicit LOD, are tested with almost all GLSL functions. 2DRect is an exception, since it doesn't have any mipmap tree.
>>>>> This doesn't test every aspect of texturing. Generally, the test only checks if the correct level and layer/slice/face is sampled except for the *Offset and 2DRect functions, which test if the correct texel is sampled.
>>>>> There is some overlap with other piglit tests, as well as within the test itself, because it tests both GL2 (e.g. texture2DProj) and GL3 (e.g. textureProj) functions.
>>>> This is awesome! :) One small thing, it's a little dangerous to expect
>>>> arguments with *'s. Shells tend to expand them, so if you have random
>>>> files lying around with the wrong names, it'll make it a lot harder to
>>>> pass it in (would have to be escaped).
>>>> Is there a tree with this somewhere? Should probably give it a go on nouveau.
>>>>   -ilia

More information about the Piglit mailing list