Find a file
Kenneth Graunke b2e327e08f mesa: Add core support for the GL_AMD_performance_monitor extension.
This provides an interface for applications (and OpenGL-based tools) to
access GPU performance counters.  Since the exact performance counters
available vary between vendors and hardware generations, the extension
provides an API the application can use to get the names, types, and
minimum/maximum values of all available counters.  Counters are also
organized into groups.

Applications create "performance monitor" objects, select the counters
they want to track, and Begin/End monitoring, much like OpenGL's query
API.  Multiple monitors can be in flight simultaneously.

v2: Pass ctx to all driver hooks (suggested by Christoph), and attempt
    to fix overallocation of bitsets (caught by Christoph).  Incomplete.

v3: Significantly rework core data structures.  Store counters in groups
    rather than in a global list.  Use their array index in the group's
    counter list as the ID rather than trying to store a globally unique
    counter ID.  Use bitsets for active counters within a group, and
    also track which groups are active so that's easy to query.

v4: Remove _mesa_ prefix on static functions; detect out of memory
    conditions in new_performance_monitor(); make BeginPerfMonitor hook
    return a boolean rather than setting m->Active or raising an error.
    Switch to GLuint/unsigned for NumGroups, NumCounters, and
    MaxActiveCounters (which also means switching a bunch of temporary
    variable types).  All suggested by Brian Paul.  Also, remove
    commented out code at the bottom of the block.  Finally, fix the
    dispatch sanity test (noticed by Ian Romanick).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com> [v3]
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-09-26 16:55:18 -07:00
bin get-pick-list: Allow for non-whitespace between "CC:" and "mesa-stable" 2013-07-31 15:49:48 -07:00
docs egl: Also add EGL_TEXTURE_FORMAT as a valid eglQueryWaylandBufferWL attribute 2013-09-16 22:22:49 -07:00
doxygen glsl/build: Build glcpp via the glsl Makefile 2013-01-22 14:33:20 -08:00
include egl: add EGL_WAYLAND_Y_INVERTED_WL attribute 2013-09-16 22:20:27 -07:00
m4 build: Delete cross-compiling macros. 2013-09-09 14:42:33 -07:00
scons scons: Fix implicit python dependency discovery on Windows. 2013-06-08 08:55:06 +01:00
src mesa: Add core support for the GL_AMD_performance_monitor extension. 2013-09-26 16:55:18 -07:00
.dir-locals.el Add emacs setup for the docs/devinfo.html comment wrapping recommendation. 2012-07-11 09:20:21 -07:00
.gitattributes Disable autocrlf for Visual Studio project files. 2008-02-28 12:34:01 +09:00
.gitignore Clean up .gitignore files 2013-01-10 22:01:31 +01:00
Android.common.mk build: unify mesa version by using a VERSION file 2013-07-29 13:39:29 -07:00
Android.mk android: add ilo to the build system 2013-05-06 07:20:07 -07:00
autogen.sh build: Fix autogen.sh to allow out-of-tree builds 2012-08-14 10:54:39 -07:00
common.py scons: Allows choosing VS 10 or 11. 2013-03-12 22:04:04 +00:00
configure.ac build/radeonsi: group all targets in common subdir 2013-09-25 19:41:27 +02:00
Makefile.am Makefile.am: Remove api_exec_es* from EXTRA_FILES. 2013-08-02 09:51:57 -07:00
SConstruct build: unify mesa version by using a VERSION file 2013-07-29 13:39:29 -07:00
VERSION build: unify mesa version by using a VERSION file 2013-07-29 13:39:29 -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 osmesa mesagdi

to build classic mesa Windows GDI drivers; or

  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.

1) install python 2.7
2) install scons (latest)
3) install mingw, flex, and bison
4) install libxml2 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs
  get libxml2-python-2.9.1.win-amd64-py2.7.exe
5) install pywin32 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs
  get pywin32-218.4.win-amd64-py2.7.exe
6) install git
7) download mesa from git
  see http://www.mesa3d.org/repository.html
8) 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.