Find a file
Andres Gomez b27be186cb Revert "glsl: allow layout qualifier overrides with ARB_shading_language_420pack"
This reverts commit aaa69c79cd.

The commit was erroneous because the ast_layout_expression class is
meant to hold a list used for an after check that all the declared
values for a layout-qualifier-name are consistent.

Therefore, the check for the possibility of duplicated values was
previously fixed to happen much sooner, in the GLSL parser and the
merge of layout qualifiers, and the process_qualifier_constant method
only needs to check that the values are consistent.

By now, those layout-qualifier-name represented as a
ast_layout_expression are "max_vertices", "invocations", "vertices",
"local_size_[x|y|z]" and "xfb_stride".

From page 40 (page 46 of the PDF) of the GLSL 1.50 spec:

  " All geometry shader output layout declarations in a program must
    declare the same layout and same value for max_vertices."

From page 44 (page 50 of the PDF) of the GLSL 4.00 spec:

  " If an invocation count is declared, all such declarations must
    specify the same count."

From page 47 (page 53 of the PDF) of the GLSL 4.00 spec:

  " All tessellation control shader layout declarations in a program
    must specify the same output patch vertex count."

From page 60 (page 66 of the PDF) of the GLSL 4.30 spec:

  " Also, if such a layout qualifier is declared more than once in the
    same shader, all those declarations must set the same set of local
    work-group sizes and set them to the same values; otherwise a
    compile-time error results. If multiple compute shaders attached
    to a single program object declare local work-group size, the
    declarations must be identical; otherwise a link-time error
    results."

From page 73 (page 79 of the PDF) of the GLSL 4.40 spec:

  " While xfb_stride can be declared multiple times for the same
    buffer, it is a compile-time or link-time error to have different
    values specified for the stride for the same buffer."

Fixes GL44-CTS.enhanced_layouts.xfb_duplicated_stride

Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
2016-11-25 13:18:31 +02:00
bin Introduce .editorconfig 2016-08-31 17:06:54 -07:00
docs docs: get rid of duplicated description from sourcetree.html 2016-11-22 15:13:42 +00:00
doxygen doxygen: Plumb through gallium/ to automated documentation 2016-05-30 17:53:45 +01:00
include i965: Fix KBL typo in string 2016-11-15 17:34:37 -08:00
m4 build: Remove unused AX_CHECK_COMPILE_FLAG macro 2016-07-25 15:14:12 +02:00
scons scons: Recognize LLVM_CONFIG environment variable. 2016-11-24 13:37:33 -08:00
scripts get_reviewer.pl: fix mesa check 2016-08-30 16:44:00 -04:00
src Revert "glsl: allow layout qualifier overrides with ARB_shading_language_420pack" 2016-11-25 13:18:31 +02:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.editorconfig Introduce .editorconfig 2016-08-31 17:06:54 -07: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: remove no longer needed libudev-dev dependency 2016-10-18 17:06:24 +01:00
Android.common.mk android: avoid using libdrm with host modules 2016-11-02 14:43:26 +00:00
Android.mk android: add support for libmesa_amdgpu_addrlib 2016-09-13 10:06:04 +10: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 amd: flatten amd/common makefile structure 2016-11-15 20:04:37 +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 automake: don't forget to pick wglext.h in the tarball 2016-10-24 09:44:26 +01: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 docs: add 13.1.0-devel release notes template, bump version 2016-10-19 19:10:16 +01: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 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.