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

Marek Olšák maraeo at gmail.com
Mon Jul 7 10:37:20 PDT 2014


Again, the only thing which isn't tested is textureGrad with cubemaps.
Hopefully I will find some time to add those too. I think the only
driver which actually does textureGrad with cubemaps correctly is

BTW, I kinda like () and *, because they look good in the summary and
I always escape them manually on the command line anyway.


On Mon, Jul 7, 2014 at 6:51 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> 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).
> So FWIW:
> 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
> button).
> 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