Mesa3D Graphics Library (Bleeding edge ray tracing branches)
Go to file
Roland Scheidegger af7ba989fb llvmpipe: fix layer/vp input into fs when not written by prior stages
ARB_fragment_layer_viewport requires that if a fs reads layer or viewport
index but it wasn't output by gs (or vs with other extensions), then it reads
0. This never worked for llvmpipe, and is surprisingly non-trivial to fix.
The problem is the mechanism to handle non-existing outputs in draw is rather
crude, it will simply redirect them to whatever is at output 0, thus later
stages will just get garbage. So, rather than trying to fix this up (which
looks non-trivial), fix this up in llvmpipe setup by detecting this case there
and output a fixed zero directly.
While here, also optimize the hw vertex layout a bit - previously if the gs
outputted layer (or vp) and the fs read those inputs, we'd add them twice
to the vertex layout, which is unnecessary.
And do some minor cleanup, slots don't require that many bits, there was some
bogus (but harmless) float/int mixup for psize slot too, make the slots all
unsigned (we always put pos at pos zero thus everything else has to be positive
if it exists), and make sure they are properly initialized (layer and vp index
slot were not which looked fishy as they might not have got set back to zero
when changing from a gs which outputs them to one which does not).

This fixes the failures in piglit's arb_fragment_layer_viewport group
(3 each for layer and vp).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2015-12-12 01:59:15 +01:00
bin bugzilla_mesa.sh: sort the bugs list by number 2015-07-13 20:02:09 +01:00
docs softpipe: enable GL_ARB_viewport_array support, update GL3.txt doc 2015-12-11 20:09:21 +01:00
doxygen doxygen: Remove doxygen_sqlite3.db with 'make clean' 2015-07-11 20:48:25 +01:00
include Remove Sun CC specific code. 2015-12-02 07:51:04 +00:00
m4 configure.ac: move AC_MSG_RESULT reporting back into the m4 macro 2015-03-24 20:49:32 +00:00
scons scons: support for LLVM 3.7. 2015-12-08 13:53:31 +00:00
src llvmpipe: fix layer/vp input into fs when not written by prior stages 2015-12-12 01:59:15 +01:00
.dir-locals.el dir-locals.el: Don't set variables for non-programming modes 2015-02-02 12:02:55 +00:00
.gitattributes
.gitignore mesa: add .mesa-install-links files to gitignore 2015-04-17 15:24:14 -04:00
.travis.yml travis: Add a test build with scons. 2015-12-01 15:09:56 -08:00
Android.common.mk android: Always define __STDC_LIMIT_MACROS. 2015-09-09 15:26:46 +01:00
Android.mk egl: android: remove DRM_GRALLOC_TOP hack 2015-07-22 16:35:27 +01: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: use static llvm for make distcheck 2015-11-20 18:07:52 +00:00
SConstruct scons: Don't use bundled C99 headers for VS 2013. 2014-05-02 22:04:46 +01:00
VERSION docs: add 11.2.0-devel release notes template, bump version 2015-11-21 14:10:08 +00:00
appveyor.yml appveyor: Cache winflexbison archive. 2015-12-08 22:49:38 +00:00
autogen.sh autogen.sh: pass --force to autoreconf, quote ORIGDIR 2015-03-11 23:28:26 +00:00
common.py common.py: Fix PEP 8 issues. 2015-03-16 22:55:08 -07:00
configure.ac configure.ac: Refuse to build with Sun C compiler. 2015-12-02 07:51:04 +00:00
install-gallium-links.mk targets/radeonsi/vdpau: convert to static/shared pipe-drivers 2014-06-22 23:06:01 +01:00
install-lib-links.mk install-lib-links: remove the .install-lib-links file 2015-02-24 15:33:25 +00:00

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.