Mesa3D Graphics Library (Bleeding edge ray tracing branches)
Go to file
Nicolai Hähnle 5af9eef719 winsys/amdgpu: do not synchronize unsynchronized buffers
When a buffer is added to a CS without the SYNCHRONIZED usage flag, we now
no longer add a dependency on the buffer's fence(s).

However, we still need to add a fence to the buffer during flush, so that
cache reclaim works correctly (and in the hypothetical case that the buffer
is later added to a CS _with_ the SYNCHRONIZED flag).

It is now possible that the submissions refererring to a buffer are no longer
linearly ordered, and so we may have to keep multiple fences around. We keep
the fences in a FIFO. It should usually stay quite short (# of contexts * 2,
for gfx + dma rings).

While we're at it, extract amdgpu_add_fence_dependency for a single buffer,
which will make adding the distinction between real buffer and slab cases
easier.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2016-09-27 16:45:11 +02:00
bin Introduce .editorconfig 2016-08-31 17:06:54 -07:00
docs st/mesa: turn on OES_viewport_array when dependencies are met 2016-09-22 20:42:30 -04:00
doxygen doxygen: Plumb through gallium/ to automated documentation 2016-05-30 17:53:45 +01:00
include dri: add offset attribute and bump version of EGLImage extensions. 2016-09-21 12:19:19 +01:00
m4 build: Remove unused AX_CHECK_COMPILE_FLAG macro 2016-07-25 15:14:12 +02:00
scons svga: add opt to the list of valid build types 2016-08-26 06:19:51 -06:00
scripts get_reviewer.pl: fix mesa check 2016-08-30 16:44:00 -04:00
src winsys/amdgpu: do not synchronize unsynchronized buffers 2016-09-27 16:45:11 +02:00
.dir-locals.el dir-locals.el: set case-label offset to 0 2016-02-03 15:44:51 -05:00
.editorconfig Introduce .editorconfig 2016-08-31 17:06:54 -07:00
.gitattributes
.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: Upgrade LLVM dependency to 3.5 and enable LLVM drivers. 2016-08-24 11:54:50 -07:00
Android.common.mk Android: move libdrm settings to top-level Android.common.mk 2016-06-13 15:31:29 +01:00
Android.mk android: add support for libmesa_amdgpu_addrlib 2016-09-13 10:06:04 +10:00
CleanSpec.mk android: Depend on gallium_dri from EGL, instead of linking in gallium. 2015-06-09 11:38:45 -07:00
Makefile.am automake: add SWR to `make distcheck' gallium drivers 2016-06-13 15:24:44 +01:00
REVIEWERS add REVIEWERS and get_reviewer.pl script 2016-05-04 11:25:46 -04:00
SConstruct scons: whitespace cleanup 2016-05-25 12:23:12 -06:00
VERSION docs: add 12.1.0-devel release notes template, bump version 2016-05-30 20:03:19 +01:00
appveyor.yml appveyor: Update winflexbison download URL. 2016-09-13 17:54:51 +01:00
autogen.sh
common.py svga: add opt to the list of valid build types 2016-08-26 06:19:51 -06:00
configure.ac direct-to-native-GL for GLX clients on Cygwin ("Windows-DRI") 2016-09-15 13:14:43 +01:00
install-gallium-links.mk install-gallium-links.mk: handle multiple libraries 2016-04-14 16:30:57 +01:00
install-lib-links.mk

docs/README.WIN32

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 http://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.