History log of /external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
77574bf0f46716490be741d8095a8d184eff6076 13-Oct-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> d3d1x: update format mapping table

Use the proper integer formats.
Fix mapping of some PIPE depth formats to DXGI.
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
92bc1111f3c5dd3616bd591129aebd3f4307e5b4 27-Aug-2011 Kai Wasserbäch <kai@dev.carbon-project.org> d3d1x: Fix include style

As explained in the thread starting at [0], the internal include style
should be »#include "path/to/header.h"« for non-system includes.

[0]
<http://news.gmane.org/find-root.php?message_id=%3c4E5802BE.6020206%40vmware.com%3e>

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
dfc546c047b0f6df254586e991f656faa781ddba 27-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d11: advertise IDXGIDevice1, not just IDXGIDevice

Fixes failure to create device in DirectX SDK samples.
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
4babdc78448f92b8d027a66cd506351a16aef4ec 23-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: add untested support for geometry shader translation
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
8224256946619fb25278718bbf4703e3b9d60c93 23-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: remove specstrings
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
6c598c78bd17642d731cf57b8369cc794f64ba2f 23-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: normalize whitespace
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
22762012d1ab4060d8274c1007067c80bb8e806c 23-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: initialize the mutex
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
ab5e9a726d50b414718a248fd8625f1c6f269a49 22-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: define GUIDs in the normal way
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
4f8e38dab88378b0b5f822893dae5b791e53fb46 22-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: fix GUID declarations
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
cac1565b98c7450ef5c74660e8145e300b3f8d7f 22-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: fix segfault when hashing
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
d092c0c60ddcb56f8c5d2786ae3b61f5339b84e1 22-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: add missing memory barrier
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
c02bf8162981c4b6287098bc33e954519d414326 21-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: fix GCC 4.1/4.2 build
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
82c346673a78e6cc32e7a1451f2b127128246ef3 21-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: fix build with compilers other than GCC 4.5

There was some libstdc++-specific code that would only build with GCC 4.5
Now it should be much more compatible, at the price of reimplementing
the generic hash function.
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
bb26272beaf1d2bddffaad5341235e70abcf483b 21-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: actually enable and fix blob apis
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
70fed0b0ec8a3ec4f6b9b47f1fe98cc54c6037f0 21-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: add blob and signature extraction APIs

NOTE: untested, needs a testing tool!
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h
92617aeac109481258f0c3863d09c1b8903d438b 12-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: add new Direct3D 10/11 COM state tracker for Gallium

This is a new implementation of the Direct3D 11 COM API for Gallium.

Direct3D 10 and 10.1 implementations are also provided, which are
automatically generated with s/D3D11/D3D10/g plus a bunch of #ifs.

While this is an initial version, most of the code is there (limited
to what Gallium can express), and tri, gears and texturing demos
are working.

The primary goal is to realize Gallium's promise of multiple API
support, and provide an API that can be easily implemented with just
a very thin wrapper over Gallium, instead of the enormous amount of
complex code needed for OpenGL.

The secondary goal is to run Windows Direct3D 10/11 games on Linux
using Wine.
Wine dlls are currently not provided, but adding them should be
quite easy.

Fglrx and nvidia drivers can also be supported by writing a Gallium
driver that talks to them using OpenGL, which is a relatively easy
task.
Thanks to the great design of Direct3D 10/11 and closeness to Gallium,
this approach should not result in detectable overhead, and is the
most maintainable way to do it, providing a path to switch to the
open Gallium drivers once they are on par with the proprietary ones.

Currently Wine has a very limited Direct3D 10 implementation, and
completely lacks a Direct3D 11 implementation.

Note that Direct3D 10/11 are completely different from Direct3D 9
and earlier, and thus warrant a fully separate implementation.

The third goal is to provide a superior alternative to OpenGL for
graphics programming on non-Windows systems, particularly Linux
and other free and open systems.

Thanks to a very clean and well-though design done from scratch,
the Direct3D 10/11 APIs are vastly better than OpenGL and can be
supported with orders of magnitude less code and development time,
as you can see by comparing the lines of code of this commit and
those in the existing Mesa OpenGL implementation.

This would have been true for the Longs Peak proposal as well, but
unfortunately it was abandoned by Khronos, leaving the OpenGL
ecosystem without a graphics API with a modern design.

A binding of Direct3D 10/11 to EGL would solve this issue in the
most economical way possible, and this would be great to provide
in Mesa, since DXGI, the API used to bind Direct3D 10/11 to Windows,
is a bit suboptimal, especially on non-Windows platforms.

Finally, a mature Direct3D 10/11 implementation is intrinsically going
to be faster and more reliable than an OpenGL implementation, thanks
to the dramatically smaller API and the segregation of all nontrivial
work to object creation that the application must perform ahead of
time.

Currently, this commit contains:
- Independently created headers for Direct3D 10, 10.1, 11 and DXGI 1.1,
partially based on the existing Wine headers for D3D10 and DXGI 1.0
- A parser for Direct3D 10/11 DXBC and TokenizedProgramFormat (TPF)
- A shader translator from TokenizedProgramFormat to TGSI
- Implementation of the Direct3D 11 core interfaces
- Automatically generated implementation of Direct3D 10 and 10.1
- Implementation of DXGI using the "native" framework of the EGL st
- Demos, usable either on Windows or on this implementation
- d3d11tri, a clone of tri
- d3d11tex, a (multi)texturing demo
- d3d11gears, an improved version of glxgears
- d3d11spikysphere, a D3D11 tessellation demo (currently Windows-only)
- A downloader for the Microsoft HLSL compiler, needed to recompile
the shaders (compiled shader bytecode is also included)

To compile this, configure at least with these options:
--with-state-trackers=egl,d3d1x --with-egl-platforms=x11
plus some gallium drivers (such as softpipe with --enable-gallium-swrast)

The Wine headers (usually from a wine-dev or wine-devel package) must
be installed.
Only x86-32 has been tested.

You may need to run "make" in the subdirectories of src/gallium/winsys/sw
and you may need to manually run "sudo make install" in
src/gallium/targets/egl

To test it, run the demos in the "progs" directory.
Windows binaries are included to find out how demos should work, and to
test Wine integration when it will be done.

Enjoy, and let me know if you manage to compile and run this, or
which issues you are facing if not.

Using softpipe is recommended for now, and your mileage with hardware
drivers may vary.
However, getting this to work on hardware drivers is also obviously very
important.

Note that currently llvmpipe is buggy and causes all 3 gears to be
drawn with the same color.
Use export GALLIUM_DRIVER=softpipe to avoid this.

Thanks to all the Gallium contributors and especially the VMware
team, whose work made it possible to implement Direct3D 10/11 much
more easily than it would have been otherwise.
/external/mesa3d/src/gallium/state_trackers/d3d1x/d3d1xstutil/include/d3d1xstutil.h