mesa/docs
Eric Anholt d0f8fe5909 softpipe: Switch to using NIR as the shader format from mesa/st.
This causes our TGSI to use far more temps, since NTT is currently not
releasing temps from registers.  On the other hand, this interpreter is
already spectacularly slow, and if we wanted to go fast we should probably
write a scalar NIR intrepeter.

For now, using NTT means that we test that codepath in preparation for
switching TGSI-consuming HW drivers over, so that we can eventually
garbage collect st_glsl_to_tgsi.

As this is a major restructuring, there are some impacts on piglit:

- Several tests start assert failing about 64-bit NIR registers for temp
  arrays not getting split to vec2s:
  - fs-frexp-dvec4-variable-index.shader_test
  - arb_gpu_shader_fp64/uniform_buffers/{vs,fs,gs}-array-copy.shader_test
  - arb_gpu_shader_int64/execution/indirect-array-two-accesses.shader_test
- dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_geometry_fragment.fbo_bbox_larger
  starts crashing depending on various bits of state (previous tests run
  before it, presence of valgrind, presence of glib's memcheck).  Doesn't
  seem really NTT-specific, added to flakes list with other GS flakes.
- Almost 200 fp64/int64-related tests start passing, mostly around i/o loayout.

shader-db:
total instructions in shared programs: 3492656 -> 3081674 (-11.77%)
total loops in shared programs: 1418 -> 1387 (-2.19%)
total temps in shared programs: 340041 -> 615527 (81.02%)
total const in shared programs: 3158970 -> 1528630 (-51.61%)
total imm in shared programs: 117586 -> 101349 (-13.81%)
Total CPU time (seconds): 430.36 -> 900.94 (109.35%)

FPS results:
glmark2 texture               +7.32484% +/- 3.76528% (n=10)
glmark2 desktop:effect=shadow +20%      +/- 0% (n=10)
glmark2 shadow                +6.49351% +/- 3.65335% (n=7)
glmark2 conditionals          +18.75%   +/- 2.74658% (n=9)

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3395>
2020-10-20 08:54:06 -07:00
..
_extra/specs docs: include specs into the generated docs 2020-06-13 10:42:01 +00:00
_exts docs: remove webmaster article 2020-09-28 07:51:31 +00:00
ci docs: Document how to replicate a CI build locally. 2020-10-14 16:54:59 +00:00
gallium zink: add feature-documentation 2020-10-14 14:23:43 +00:00
relnotes anv: Advertise VK_KHR_shader_terminate_invocation 2020-10-19 19:38:35 +00:00
application-issues.rst docs: update internal references 2020-06-16 20:36:38 +00:00
ARB_color_buffer_float.txt mesa: implement clamping controls (ARB_color_buffer_float) 2011-03-29 12:04:55 +02:00
bugs.rst docs: convert articles to reructuredtext 2020-06-13 10:42:00 +00:00
codingstyle.rst docs: gallium -> Gallium 2020-09-29 09:00:36 +00:00
conf.py docs: show 'Edit on GitLab'-link 2020-09-28 07:46:33 +00:00
conform.rst docs: Replace ancient swrast conformance docs with more current information. 2020-06-16 20:54:44 +00:00
contents.rst docs: remove webmaster article 2020-09-28 07:51:31 +00:00
debugging.rst docs: scons -> SCons 2020-09-30 08:18:21 +00:00
developers.rst docs: convert articles to reructuredtext 2020-06-13 10:42:00 +00:00
devinfo.rst docs: drop open-coded toc for articles 2020-06-13 10:42:01 +00:00
dispatch.rst docs: use ref-links for internal references 2020-06-28 09:06:57 +00:00
download.rst docs: git -> Git 2020-09-30 08:18:21 +00:00
egl.rst docs: initialisation -> initialization 2020-09-28 07:54:25 +00:00
envvars.rst softpipe: Switch to using NIR as the shader format from mesa/st. 2020-10-20 08:54:06 -07:00
extensions.rst docs: convert articles to reructuredtext 2020-06-13 10:42:00 +00:00
faq.rst docs: update internal references 2020-06-16 20:36:38 +00:00
favicon.ico docs: update favicon 2020-06-26 12:09:22 +00:00
favicon.svg docs: update favicon 2020-06-26 12:09:22 +00:00
features.txt doc/features: remove zink entries for GL 3.3 items 2020-10-19 14:00:02 +00:00
helpwanted.rst docs: git -> Git 2020-09-30 08:18:21 +00:00
index.rst docs: gallium -> Gallium 2020-09-29 09:00:36 +00:00
install.rst docs: visual studio -> Visual Studio 2020-09-30 08:18:21 +00:00
libGL.txt glx: turn LIBGL_ALWAYS_INDIRECT into a boolean 2017-09-12 13:53:12 +01:00
license.rst docs: reformat license table as rst table 2020-06-13 10:42:01 +00:00
lists.rst docs: git -> Git 2020-09-30 08:18:21 +00:00
meson.rst docs: cmake -> CMake 2020-09-30 08:18:21 +00:00
opengles.rst docs: update internal references 2020-06-16 20:36:38 +00:00
osmesa.rst docs: gallium -> Gallium 2020-09-29 09:00:36 +00:00
perf.rst docs: convert articles to reructuredtext 2020-06-13 10:42:00 +00:00
precompiled.rst docs: convert articles to reructuredtext 2020-06-13 10:42:00 +00:00
README.UVD radeon/uvd: add H.265/HEVC to legal notes 2015-11-08 18:16:01 -05:00
README.VCE radeon/winsys: add VCE support v4 2014-02-13 11:11:24 +01:00
README.WIN32 docs: https all the links \o/ 2017-02-09 11:28:15 +00:00
release-calendar.rst docs/release-calendar: plan 20.3 release 2020-10-14 21:43:35 +00:00
release-maintainers-keys.asc docs: cat maintainer keys to a single file 2020-06-22 23:07:16 +00:00
releasing.rst docs: git -> Git 2020-09-30 08:18:21 +00:00
relnotes.rst docs: update calendar and link releases notes for 20.1.10 2020-10-14 21:28:23 +02:00
repository.rst docs: git -> Git 2020-09-30 08:18:21 +00:00
shading.rst docs: drop open-coded toc for articles 2020-06-13 10:42:01 +00:00
sourcedocs.rst docs: git -> Git 2020-09-30 08:18:21 +00:00
sourcetree.rst docs: gallium -> Gallium 2020-09-29 09:00:36 +00:00
submittingpatches.rst docs: quote "git log" 2020-09-30 08:18:21 +00:00
systems.rst docs: vmware -> VMWare 2020-09-30 08:18:21 +00:00
thanks.rst docs: git -> Git 2020-09-30 08:18:21 +00:00
utilities.rst docs: convert articles to reructuredtext 2020-06-13 10:42:00 +00:00
versions.rst docs: bpp -> BPP 2020-09-30 08:18:20 +00:00
viewperf.rst docs: gallium -> Gallium 2020-09-29 09:00:36 +00:00
vmware-guest.rst docs: ubuntu -> Ubuntu 2020-09-30 08:18:21 +00:00
xlibdriver.rst docs: convert articles to reructuredtext 2020-06-13 10:42:00 +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.