[Mesa-dev] GL_INTEL_performance_query & null hw query

Lionel Landwerlin lionel.g.landwerlin at intel.com
Tue Dec 3 19:24:14 UTC 2019


Hi all,

Our Windows drivers ships with a particular query in 
GL_INTEL_performance_query called Intel_Null_Hardware_Query.
The query doesn't report any counter. The query isn't even listed if you 
go through the list using glGetNextPerfQueryIdINTEL().
It's only returned using glGetPerfQueryIdByNameINTEL().
When active, this query turns the draw operations & compute dispatches 
into noop at the command streamer level.

Applications like GPA [1] have been using this query to detect 
bottlenecks on the CPU side since there is no work going beyond the 
front end of the rendering engine. So you still exercise the full stack 
(in our case i965/iris + i915).

To minimize the work of getting GPA fully supported on i965/iris we 
could implement the same behavior.
Last time I asked (probably on IRC), it was kind of a no-go because that 
is somewhat abusing the meaning/goal of queries (at the time, 
applications like frameretrace didn't deal very well with a query having 
no counters).
I'm not particularly kind on having this either but I would like to know 
other people's feel.

Alternatively we have another extension providing the same feature [2].
I sent patches for i965 a bit over 18months ago, but because people 
started to using a patch implementing the Windows driver behavior, this 
didn't get much traction.
This will a require a change on the GPA side but

Which way should we go?

-Lionel

[1] : https://software.intel.com/en-us/gpa
[2] : 
https://www.khronos.org/registry/OpenGL/extensions/INTEL/INTEL_blackhole_render.txt



More information about the mesa-dev mailing list