Module: Mesa
Branch: main
Commit: 54b8137141a7c89956a51b8aa1e7fb7f7ef10cd7
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=54b8137141a7c89956a51b8aa1e7fb7f7ef10cd7

Author: Jose Fonseca <[email protected]>
Date:   Wed May  5 11:57:43 2021 +0100

d3d10umd,d3d10sw: Initial import.

This change adds a gallium D3D10 state tracker that works as a WDDM UMD
software driver, similar to Microsoft WARP, but using llvmpipe/softpipe.

The final deliverable is a d3d10sw.dll, which is similar to WARP's
d3d10warp.dll.

This has been used to run Microsoft Windows HCK wgf11* tests with
llvmpipe, and they were at one point passing 100%.

Known limitations:
- TGSI (no NIR)
- D3D10 only (no D3D11 support yet)
- no WINE integration (WINE doesn't implement WDDM DDI.)

For further details see:
- src/gallium/frontends/d3d10umd/README.md
- src/gallium/targets/d3d10sw/README.md

v2: Drop the DXBC-based disassembly.  Add missing break statements.
v3: Incorporate Jesse's feedback.

Reviewed-by: Roland Scheidegger <[email protected]>
Acked-by: Jesse Natalie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10687>

---

 include/winddk/.gitignore                        |   13 +
 include/winddk/README.txt                        |   16 +
 include/winddk/winddk_compat.h                   |  236 +++
 meson.build                                      |    6 +
 meson_options.txt                                |    6 +
 src/gallium/frontends/d3d10umd/Adapter.cpp       |  274 +++
 src/gallium/frontends/d3d10umd/D3DKMT.cpp        |  728 +++++++
 src/gallium/frontends/d3d10umd/Debug.cpp         |   81 +
 src/gallium/frontends/d3d10umd/Debug.h           |   72 +
 src/gallium/frontends/d3d10umd/Device.cpp        |  725 +++++++
 src/gallium/frontends/d3d10umd/Device.h          |   44 +
 src/gallium/frontends/d3d10umd/Draw.cpp          |  343 ++++
 src/gallium/frontends/d3d10umd/Draw.h            |   52 +
 src/gallium/frontends/d3d10umd/DriverIncludes.h  |   65 +
 src/gallium/frontends/d3d10umd/Dxgi.cpp          |  374 ++++
 src/gallium/frontends/d3d10umd/Dxgi.h            |   46 +
 src/gallium/frontends/d3d10umd/Format.cpp        |  389 ++++
 src/gallium/frontends/d3d10umd/Format.h          |   45 +
 src/gallium/frontends/d3d10umd/InputAssembly.cpp |  370 ++++
 src/gallium/frontends/d3d10umd/InputAssembly.h   |   63 +
 src/gallium/frontends/d3d10umd/OutputMerger.cpp  |  998 ++++++++++
 src/gallium/frontends/d3d10umd/OutputMerger.h    |  114 ++
 src/gallium/frontends/d3d10umd/Query.cpp         |  454 +++++
 src/gallium/frontends/d3d10umd/Query.h           |   76 +
 src/gallium/frontends/d3d10umd/README.md         |    6 +
 src/gallium/frontends/d3d10umd/Rasterizer.cpp    |  285 +++
 src/gallium/frontends/d3d10umd/Rasterizer.h      |   62 +
 src/gallium/frontends/d3d10umd/Resource.cpp      |  880 +++++++++
 src/gallium/frontends/d3d10umd/Resource.h        |   93 +
 src/gallium/frontends/d3d10umd/Shader.cpp        | 1414 +++++++++++++
 src/gallium/frontends/d3d10umd/Shader.h          |  164 ++
 src/gallium/frontends/d3d10umd/ShaderDump.cpp    |   72 +
 src/gallium/frontends/d3d10umd/ShaderDump.h      |   50 +
 src/gallium/frontends/d3d10umd/ShaderParse.c     |  610 ++++++
 src/gallium/frontends/d3d10umd/ShaderParse.h     |  183 ++
 src/gallium/frontends/d3d10umd/ShaderTGSI.c      | 2302 ++++++++++++++++++++++
 src/gallium/frontends/d3d10umd/State.h           |  411 ++++
 src/gallium/frontends/d3d10umd/d3d10_sw.def      |   53 +
 src/gallium/frontends/d3d10umd/meson.build       |   35 +
 src/gallium/meson.build                          |    4 +
 src/gallium/targets/d3d10sw/README.md            |   50 +
 src/gallium/targets/d3d10sw/d3d10_gdi.c          |   82 +
 src/gallium/targets/d3d10sw/meson.build          |   45 +
 43 files changed, 12391 insertions(+)

Diff:   
http://cgit.freedesktop.org/mesa/mesa/diff/?id=54b8137141a7c89956a51b8aa1e7fb7f7ef10cd7
_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to