Find a file
Lionel Landwerlin 2e3025c817 i965: perf: add support for raw queries
The INTEL_performance_query extension provides a list of queries that
a user can select to monitor a particular workload. Each query reports
different sets of counters (roughly looking at different parts of the
hardware, i.e. caches/fixed functions/etc...).

Each query has an associated configuration that we need to program
into the hardware before using the query. Up to now, we provided
predefined queries. This change allows the user to build its own query
(and associated configuration) externally, and have the i965 driver
use that configuration through a new query named :

   Intel_Raw_Hardware_Counters_Set_0_Query

When this query is selected, the i965 driver will report raw counters
deltas (meaning their values need to be interpreted by the user, as
opposed to existing queries that provide human readable values).

This change is also useful for debug purposes for building new
pre-defined queries and verifying the underlying numbers make sense
before writing equations for user readable output.

This change's purpose is also to enable GPA. GPA uses a library called
MDAPI that processes raw counter data. MDAPI expects raw data to have
a certain layout (per generation which is a bit unfortunate...). This
change also embeds the expected data layouts.

v2: Enable raw queries on gen 7->11, v1 had 7->9 (Lionel)

v3: Don't assert on cherryview for gen7... (Ken)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2018-04-23 18:30:10 +01:00
bin bin/install_megadrivers: rename a few variables to make things clearer 2018-04-23 09:57:35 -07:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs docs/features: mark GL_ARB_post_depth_coverage as DONE for nvc0 2018-04-21 10:02:55 -04:00
doxygen doxygen: Plumb through gallium/ to automated documentation 2016-05-30 17:53:45 +01:00
include radeonsi: add support for VegaM 2018-04-18 14:45:33 -04:00
m4 m4: Use older autoconf 2.63 compatible ax_check_compile_flag. 2017-09-01 16:30:40 -07:00
scons meson/configure: detect endian.h instead of trying to guess when it's available 2018-03-23 11:44:21 +00:00
scripts get_reviewer.pl: fix mesa check 2016-08-30 16:44:00 -04:00
src i965: perf: add support for raw queries 2018-04-23 18:30:10 +01:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.editorconfig editorconfig: Add meson configuration 2017-10-09 13:40:50 -07:00
.gitattributes Disable autocrlf for Visual Studio project files. 2008-02-28 12:34:01 +09:00
.gitignore .gitignore: list *.orig and *.rej 2017-09-06 17:48:50 +01:00
.mailmap mailmap: Use Eric Engestrom's personal email address 2018-03-15 12:03:41 +00:00
.travis.yml travis: bump libxcb version to 1.13 2018-03-10 16:55:36 +01:00
Android.common.mk meson/configure: detect endian.h instead of trying to guess when it's available 2018-03-23 11:44:21 +00:00
Android.mk dri drivers: Always add the sha1 build-id 2017-10-31 23:36:54 -07:00
appveyor.yml appveyor: Build with MSVC 2015. 2018-02-22 21:10:20 +00:00
autogen.sh autogen.sh: pass --force to autoreconf, quote ORIGDIR 2015-03-11 23:28:26 +00:00
CleanSpec.mk android: Depend on gallium_dri from EGL, instead of linking in gallium. 2015-06-09 11:38:45 -07:00
common.py scons: Recognize LLVM_CONFIG environment variable. 2016-11-24 13:37:33 -08:00
configure.ac gallium: move ddebug, noop, rbug, trace to auxiliary to improve build times 2018-04-13 14:08:14 -04:00
install-gallium-links.mk gallium: Fix install-gallium-links.mk on non-bash /bin/sh 2016-10-10 08:56:12 -07:00
install-lib-links.mk install-lib-links: remove the .install-lib-links file 2015-02-24 15:33:25 +00:00
Makefile.am autotools: include include/vulkan headers 2018-04-20 20:26:49 -07:00
meson.build meson: Build gallium trivial tests 2018-04-18 09:03:57 -07:00
meson_options.txt meson: Re-add auto option for omx 2018-03-07 13:30:53 -08:00
REVIEWERS REVIEWERS: add Alexander von Gluck IV as a reviewer for Haiku 2017-11-23 10:00:55 +00:00
SConstruct scons: use python3-compatible lists 2017-09-25 12:05:44 +01:00
VERSION Bump version after 18.1 2018-04-22 09:35:56 -07:00

File: docs/README.WIN32

Last updated: 21 June 2013


Quick Start
----- -----

Windows drivers are build with SCons.  Makefiles or Visual Studio projects are
no longer shipped or supported.

Run

  scons libgl-gdi

to build gallium based GDI driver.

This will work both with MSVS or Mingw.


Windows Drivers
------- -------

At this time, only the gallium GDI driver is known to work.

Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown.

Recipe
------

Building on windows requires several open-source packages. These are
steps that work as of this writing.

- install python 2.7
- install scons (latest)
- install mingw, flex, and bison
- install pywin32 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs
  get pywin32-218.4.win-amd64-py2.7.exe
- install git
- download mesa from git
  see https://www.mesa3d.org/repository.html
- run scons

General
-------

After building, you can copy the above DLL files to a place in your
PATH such as $SystemRoot/SYSTEM32.  If you don't like putting things
in a system directory, place them in the same directory as the
executable(s).  Be careful about accidentially overwriting files of
the same name in the SYSTEM32 directory.

The DLL files are built so that the external entry points use the
stdcall calling convention.

Static LIB files are not built.  The LIB files that are built with are
the linker import files associated with the DLL files.

The si-glu sources are used to build the GLU libs.  This was done
mainly to get the better tessellator code.

If you have a Windows-related build problem or question, please post
to the mesa-dev or mesa-users list.