llvmpipe: enable PIPE_CAP_QUERY_PIPELINE_STATISTICS
authorRoland Scheidegger <sroland@vmware.com>
Fri, 8 Sep 2017 00:23:05 +0000 (02:23 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Sat, 9 Sep 2017 01:06:10 +0000 (03:06 +0200)
commit772f475351d63067f8fd0251e2fe6a33aedf1f56
tree9ee5d56e0560e138be15e112bd2bbd39e75af469
parentdcf2feadc336a1d81bf1b03d0b9c6dd68ea61441
llvmpipe: enable PIPE_CAP_QUERY_PIPELINE_STATISTICS

This was implemented since forever, but not enabled.
It passes all piglit tests except one, arb_pipeline_statistics_query-frag.
The reason is that the test (for drawing a 10x10 rect) expects between
100 and 150 pixel shader invocations. But since llvmpipe counts this with
4x4 granularity (and due to the rect being 2 tris) we end up with 224
invocations. I believe however what llvmpipe is doing violates neither the
spirit nor the letter of the spec (our fragment shader granularity really
is 4x4 pixels, albeit we will bail out early on 2x2 or 4x2 (the latter
if AVX is available) granularity), the spec allows to count additional
invocations due to implementation reasons.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
docs/features.txt
src/gallium/drivers/llvmpipe/lp_screen.c