Find a file
Iago Toral Quiroga d0195bd067 anv/cmd_buffer: add a status field to anv_batch
The vkCmd*() functions do not report errors, instead, any errors should be
reported by the time we call vkEndCommandBuffer(). This means that we
need to make the driver robust against incosistent and/or imcomplete
command  buffer states through the command recording process, particularly,
avoid crashes due to access to memory that we failed to allocate previously.

The strategy used to do this is to track the first error ocurred while
recording a command buffer in the batch associated with it. We use the
batch to track this information because the command buffer may not be
visible to all parts of the driver that can produce errors we need to be
aware of (such as allocation failures during batch emissions).

Later patches will use this error information to guard parts of the driver
that may not be safe to execute.

v2: Move the field from the command buffer to the batch so we can track
    errors from batch emissions (Jason)

v3: Registering errors in the command buffer's batch during
    anv_create_cmd_buffer() is unnecessary, since the command buffer
    is freed at the end of the function in that case (Topi)

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2017-03-16 11:40:05 +01:00
bin bin/get-fixes-pick-list.sh: do not mandate bash 2017-03-10 14:12:49 +00:00
docs bin/perf-annotate-jit: add .py suffix 2017-03-10 14:12:47 +00:00
doxygen doxygen: Plumb through gallium/ to automated documentation 2016-05-30 17:53:45 +01:00
include dri_interface: Add new marshalling interfaces to dri_interface.h 2017-03-16 14:14:18 +11:00
m4 build: Remove unused AX_CHECK_COMPILE_FLAG macro 2016-07-25 15:14:12 +02:00
scons autoconf/scons: bump libdrm to 2.4.75 2017-03-15 11:37:39 +00:00
scripts get_reviewer.pl: fix mesa check 2016-08-30 16:44:00 -04:00
src anv/cmd_buffer: add a status field to anv_batch 2017-03-16 11:40:05 +01:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.editorconfig editorconfig: Fix up the tab rendering width. 2017-01-03 10:38:53 -08:00
.gitattributes Disable autocrlf for Visual Studio project files. 2008-02-28 12:34:01 +09:00
.gitignore .gitignore: Ignore tags generated by make tags 2016-08-24 11:33:48 +01:00
.mailmap .mailmap: Update my address again 2016-08-25 13:55:52 -07:00
.travis.yml travis: bring the scons build on par with AppVeyor 2017-02-20 18:21:22 +00:00
Android.common.mk android: fix libz dynamic library dependencies 2017-03-04 21:47:26 +00:00
Android.mk android: vulkan: add support for libmesa_vulkan_util 2017-02-28 01:24:41 +01:00
appveyor.yml appveyor: Update winflexbison download URL. 2016-09-13 17:54:51 +01: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 configure.ac: bump pthread-stubs requirement 2017-03-15 11:49:27 +00: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 configure.ac: supersede --enable-gallium-llvm over --enable-llvm 2017-02-10 11:47:24 +00:00
REVIEWERS reviewers: add Rob H for the Android EGL+build parts 2016-11-21 16:01:06 +00:00
SConstruct scons: whitespace cleanup 2016-05-25 12:23:12 -06:00
VERSION mesa: Bump version to 17.1.0-devel 2017-01-19 15:38:30 +00: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.