mesa/src
Robert Bragg eaab41c9db i965: brw_context.h additions for OA unit query codegen
In preparation for generating code from the XML performance counter meta
data, this makes some additions to brw_context.h for this code to be
able to reference.

It adds a brw->perfquery.oa_metrics_table hash table for indexing built
up query descriptions by the GUID that is expected to be advertised by
the kernel (via sysfs) to be able to use that query.

It adds an 'OA_COUNTERS' brw_query_kind to be assigned to queries built
up by generated code.

It adds a brw->perfquery.sys_vars structure to have a consistent place
to represent the different system variables like $EuCoresTotalCount and
$EuSlicesTotalCount that are referenced by OA counter normalization
equations.

  Although extending + referencing gen_device_info for these variables
  was considered, these are some of the (mostly minor) reasons for
  going with a dedicated structure:

  - Currently we only need this info for the performance_query backend
    and it might be a bit tedious to go back and initialize the state
    for pre-Haswell devinfo structures.
  - Considering the $SubsliceMask then the requirement for how multiple
    per-slice masks are packed only comes from how the variables are
    references by availability tests in XML, and might not be a good
    general representation for tracking subslice masks if another use
    case arises.
  - If we used gen_device_info then we'd likely want to avoid making
    assumptions about the C types during codegen and adding explicit
    casts, while that's not necessary with a dedicated struct with all
    members being uint64_t.
  - This structure and the code for initializing it is currently shared
    (just through copy & paste) with a few other projects dealing with
    OA counters, and that's been convenient so far.

Signed-off-by: Robert Bragg <robert@sixbynine.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
2017-03-09 12:53:07 +00:00
..
amd radv: Don't flush the CB before doing a fast clear eliminate. 2017-03-09 02:35:28 +01:00
compiler glsl/blob: clear padding bytes 2017-03-09 20:41:02 +11:00
egl EGL/Android: Add EGL_EXT_buffer_age extension 2017-03-04 16:37:12 +00:00
gallium nv50/ir: check for origin insn in findOriginForTestWithZero 2017-03-09 12:42:46 +01:00
gbm gbm/dri: fix memory leaks in error path 2017-01-27 17:56:58 +00:00
getopt Introduce .editorconfig 2016-08-31 17:06:54 -07:00
glx glx/tests: automake: add dispatch-index-check to the tarball 2017-02-28 16:18:27 +00:00
gtest gtest: Update to 1.8.0. 2017-01-20 11:40:52 -08:00
hgl glapi/hgl: remove the final user of _glapi_check_table() 2016-10-06 15:03:46 +01:00
intel anv: change BLOCK_POOL_MEMFD_SIZE to exactly 2GB 2017-03-08 07:57:55 +02:00
loader loader: Move non-error message to debug level 2017-03-08 16:35:00 +00:00
mapi glapi: fix typo in count_scale 2017-03-07 08:11:40 +11:00
mesa i965: brw_context.h additions for OA unit query codegen 2017-03-09 12:53:07 +00:00
util util/disk_cache: fix size subtraction on 32bit 2017-03-09 20:26:30 +11:00
vulkan android: fix outdir for gen_enum_to_str files 2017-03-04 16:38:33 +00:00
Makefile.am automake: move wayland-drm prior to Vulkan 2017-03-04 23:44:14 +00:00
SConscript scons: put the generated git_sha1.h file in top-level src/ directory 2016-06-17 10:33:00 -06:00