[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