[Piglit] [PATCH 6/7] ARB_pipeline_statistics_query (frag): basic test

Ilia Mirkin imirkin at alum.mit.edu
Fri Feb 13 23:21:34 PST 2015


On Sat, Feb 14, 2015 at 2:11 AM, Ben Widawsky
<benjamin.widawsky at intel.com> wrote:
> On Sat, Feb 14, 2015 at 02:07:32AM -0500, Ilia Mirkin wrote:
>> On Sat, Feb 14, 2015 at 1:54 AM, Ben Widawsky
>> <benjamin.widawsky at intel.com> wrote:
>> > +static struct query queries[] = {
>> > +       {
>> > +        .query = GL_FRAGMENT_SHADER_INVOCATIONS_ARB,
>> > +        .name = "GL_FRAGMENT_SHADER_INVOCATIONS_ARB",
>> > +        .min = TEST_WIDTH * TEST_HEIGHT / 2,
>> > +        .max = 0xffffffff},
>> > +       /* XXX:
>> > +        * Intel hardware has some very unpredictable results for fragment
>> > +        * shader invocations. After a day of head scratching, I've given up.
>> > +        * Generating a real min, or max is not possible. The spec allows this.
>> > +        * This will also help variance across vendors.
>> > +        */
>>
>> Is there a working theory as to how this could be less than width *
>> height? Does it count 1 per quad? (Or how it could be much more than
>> width * height... I can see edges getting processed unnecessarily,
>> but... max_int seems high.)
>
> No working theory on min, but I figured if we're going to fudge the max, we may
> as well fudge the min. What would you like as a max? I can show you hardware
> which generates way more invocations than anything I can contrive. 1440
> invocations for an 8x8.

Impressive :)

Best I can do is suggest that I don't think you're counting what you
think you're counting. This has probably occurred to you, but you
really should triple-check that you're reading (and writing) from the
right place for this counter.

  -ilia


More information about the Piglit mailing list