Find a file
Topi Pohjolainen 933be19cdf i965/blorp: do not use unnecessary hw-blending support
This is really not needed as blorp blit programs already sample
XRGB normally and get alpha channel set to 1.0 automatically by
the sampler engine. This is simply copied directly to the payload
of the render target write message and hence there is no need for
any additional blending support from the pixel processing pipeline.

The blending formula is anyway broken for color components, it
multiplies the color component with itself (blend factor is the
component itself).
Alpha blending in turn would not fix the alpha to one independent
of the source but simply used the source alpha as is instead
(1.0 * src_alpha + 0.0 * dst_alpha).

Quoting Eric:

 "If we want to actually make the no-alpha-bits-present thing work,
  we need to override the bits in the surface state or in the
  generated code.  In the normal draw path, it's done for sampling
  by the swizzling code in brw_wm_surface_state.c, and the blending
  overrides is just to fix up the alpha blending stage which
  doesn't pay attention to that for the destination surface."

If one modifies piglit test gl-3.2-layered-rendering-blit to use
color component values other than zero or one, this change will
kick in on IVB. No regressions on IVB.

This is effectively revert of c0554141a9:

    i965/blorp: Support overriding destination alpha to 1.0.

    Currently, Blorp requires the source and destination formats to be
    equal.  However, we'd really like to be able to blit between XRGB and
    ARGB formats; our BLT engine paths have supported this for a long time.

    For ARGB -> XRGB, nothing needs to occur: the missing alpha is already
    interpreted as 1.0.  For XRGB -> ARGB, we need to smash the alpha
    channel to 1.0 when writing the destination colors.  This is fairly
    straightforward with blending.

    For now, this code is never used, as the source and destination formats
    still must be equal.  The next patch will relax that restriction.

    NOTE: This is a candidate for the 9.1 branch.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2014-02-04 16:39:23 +02:00
bin get-pick-list: Allow for non-whitespace between "CC:" and "mesa-stable" 2013-07-31 15:49:48 -07:00
docs docs: Add release notes for 10.0.3 2014-02-03 13:55:24 -08:00
doxygen doxygen: Add i965 to list of modules in html header 2013-10-10 22:20:39 -07:00
include mesa: change GL_ALL_ATTRIB_BITS to 0xFFFFFFFF 2014-02-03 12:50:03 -07:00
m4 mesa: Fix build to properly check for supported compiler flags 2013-12-20 17:00:57 -08:00
scons s/Tungsten Graphics/VMware/ 2014-01-17 20:00:32 +00:00
src i965/blorp: do not use unnecessary hw-blending support 2014-02-04 16:39:23 +02:00
.dir-locals.el dir-locals.el: Set indent-tabs-mode true for makefile-mode 2014-01-29 11:45:49 -08:00
.gitattributes Disable autocrlf for Visual Studio project files. 2008-02-28 12:34:01 +09:00
.gitignore Clean up .gitignore files 2013-01-10 22:01:31 +01:00
Android.common.mk build: unify mesa version by using a VERSION file 2013-07-29 13:39:29 -07:00
Android.mk loader: introduce the loader util lib 2014-01-18 18:47:27 +00:00
autogen.sh build: Fix autogen.sh to allow out-of-tree builds 2012-08-14 10:54:39 -07:00
common.py mesa: Preliminary support for MSVC_VERSION=12.0 2014-01-08 17:33:06 -07:00
configure.ac loader: fix running with --disable-egl builds 2014-01-28 21:51:21 +00:00
install-lib-links.mk build: Share the all-local rule for linking libraries into the build dir 2014-01-29 12:58:13 -08:00
Makefile.am Makefile: Add bin/test-driver to EXTRA_FILES 2013-12-13 11:12:23 -08:00
SConstruct build: unify mesa version by using a VERSION file 2013-07-29 13:39:29 -07:00
VERSION mesa: bump version to 10.1 (devel) 2013-11-17 20:31:49 +13: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 osmesa mesagdi

to build classic mesa Windows GDI drivers; or

  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.

1) install python 2.7
2) install scons (latest)
3) install mingw, flex, and bison
4) install libxml2 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs
  get libxml2-python-2.9.1.win-amd64-py2.7.exe
5) install pywin32 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs
  get pywin32-218.4.win-amd64-py2.7.exe
6) install git
7) download mesa from git
  see http://www.mesa3d.org/repository.html
8) 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.