i965: Add script to gen code for OA counter queries
authorRobert Bragg <robert@sixbynine.org>
Thu, 4 Jun 2015 12:55:37 +0000 (13:55 +0100)
committerRobert Bragg <robert@sixbynine.org>
Thu, 9 Mar 2017 13:45:44 +0000 (13:45 +0000)
commite56550565e868e4b5de2112e4bc2fa8650a51309
tree9fcab20cb61900c50a85d424ca0768b0bcadf86f
parentf46e58e01805e92ddb6e7806a7ec39748bdbab9d
i965: Add script to gen code for OA counter queries

Avoiding lots of error prone boilerplate and easing our ability to add +
maintain support for multiple OA performance counter queries for each
generation:

This adds a python script to generate code for building up
performance_queries from the metric sets and counters described in
brw_oa_hsw.xml as well as functions to normalize each counter based on
the RPN expressions given.

Although the XML file currently only includes a single metric set, the
code generated assumes there could be many sets.

The metrics as described in XML get translated into C structures
which are registered in a brw->perfquery.oa_metrics_table hash table
keyed by the GUID of the metric set in XML.

v2: numerous python style improvements (Dylan)
v3: Makefile.am fixups (Emil)
v4: Pattern rule for codegen + orthogonal .c and .h rules (Robert)

Signed-off-by: Robert Bragg <robert@sixbynine.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/Makefile.am
src/mesa/drivers/dri/i965/Makefile.sources
src/mesa/drivers/dri/i965/brw_oa.py [new file with mode: 0644]