![]() |
Welcome to ftp.nluug.nl Current directory: /ftp/os/BSD/NetBSD/NetBSD-release-9/xsrc/external/mit/MesaLib/dist/src/gallium/state_trackers/nine/ |
|
Contents of README:Quickstart Guide *** Configure and build mesa CFLAGS="-m32" CXXFLAGS="-m32" ./autogen.sh --prefix=/usr \ --with-gallium-drivers=nouveau,r600,swrast --enable-nine \ --enable-debug --enable-texture-float --with-dri-drivers= --disable-dri \ --disable-opengl --disable-egl --disable-vdpau --disable-xvmc --disable-gbm \ --disable-llvm make *** Then we create some symlinks to mesa: ln -s "`pwd`/lib/gallium/libd3dadapter9.so.0.0.0" /usr/lib/ ln -s "`pwd`/lib/gallium/libd3dadapter9.so.0" /usr/lib/ ln -s "`pwd`/lib/gallium/libd3dadapter9.so" /usr/lib/ ln -s "`pwd`/include/d3dadapter" /usr/include/ *** Clone and build a patched wine git clone git@github.com:iXit/wine.git ./configure make *** And finally we create some symlinks to our patched wine files: for f in d3d9.dll gdi32.dll user32.dll wineps.drv winex11.drv; do mv /usr/lib/wine/$f.so /usr/lib/wine/$f.so.old ln -s "`pwd`/dlls/`basename -s .dll $f`/$f.so" /usr/lib/wine/ done *** Activating it within wine regedit Navigate to HKCU\Software\Wine\Direct3D If it's not there, create it Create a new DWORD value called UseNative Set its value to 1 Every Direct3D9 program will now try using nine before wined3d If you want to selectively enable it per-exe instead, use the key: HKCU\Software\Wine\AppDefaults\app.exe\Direct3D\UseNative where app.exe is the name of your .exe file *** HOW IT WORKS *** Nine implements the full IDirect3DDevice9 COM interface and a custom COM interface called ID3DAdapter9 which is used to implement a final IDirect3D9Ex COM interface. ID3DAdapter9 is completely devoid of window system code, meaning this can be provided by wine, Xlib, Wayland, etc. It's inadvisible to write a non-Windows backend though, as we don't want to encourage linux developers to use this API. The state tracker is compiled, along with pipe-loader, into a library called libd3dadapter9.so. This library loads pipe_[driver].so drivers on demand and exports a single symbol for getting a subsystem driver. Currently only DRM is supported. This library is then linked to the library implementing the IDirect3D9[Ex] interface and the actual Direct3D9 entry points (Direct3DCreate9[Ex]) The implementation of IDirect3D9[Ex] lies within wine and coexists with wined3d. It's loaded on demand and so if it's not there, it doesn't have any drivers or something else is wrong, d3d9.dll will automatically revert to using wined3d. Whether or not it's even tried is determined by 2 DWORD registry keys. > HKCU\Software\Wine\Direct3D\UseNative > HKCU\Software\Wine\AppDefaults\app.exe\Direct3D\UseNative The former is the global on-switch. The latter is per-exe. The driver search path can be set at configure time with --with-gallium-driver-dir and overridden at runtime with D3D9_DRIVERS_PATH. Debugging information can be gotten with the WINEDEBUG channels d3d9 and d3dadapter, and state_tracker debug information can be gotten with NINE_DEBUG. Help on NINE_DEBUG is shown through NINE_DEBUG=help Finally, the ID3DPresent[Group] and ID3DAdapter9 interfaces are not set in stone, so feel free to hack on those as well as st/nine. Happy Hacking! |
Name Last modified Size
Parent Directory -
CVS/ 19-Mar-2020 23:39 -
Makefile.am 10-Mar-2019 04:42 277
Makefile.in 10-Mar-2019 04:42 36K
Makefile.sources 10-Mar-2019 04:42 1.4K
README 10-Mar-2019 04:42 3.0K
adapter9.c 10-Mar-2019 04:42 46K
adapter9.h 10-Mar-2019 04:42 5.4K
authenticatedchannel9.c 10-Mar-2019 04:42 3.0K
authenticatedchannel9.h 10-Mar-2019 04:42 2.7K
basetexture9.c 10-Mar-2019 04:42 22K
basetexture9.h 10-Mar-2019 04:42 5.2K
buffer9.c 10-Mar-2019 04:42 17K
buffer9.h 10-Mar-2019 04:42 4.6K
cryptosession9.c 10-Mar-2019 04:42 4.2K
cryptosession9.h 10-Mar-2019 04:42 3.5K
cubetexture9.c 10-Mar-2019 04:42 12K
cubetexture9.h 10-Mar-2019 04:42 3.0K
device9.c 10-Mar-2019 04:42 142K
device9.h 10-Mar-2019 04:42 30K
device9ex.c 10-Mar-2019 04:42 17K
device9ex.h 10-Mar-2019 04:42 6.8K
device9video.c 10-Mar-2019 04:42 2.6K
device9video.h 10-Mar-2019 04:42 2.5K
guid.c 10-Mar-2019 04:42 4.8K
guid.h 10-Mar-2019 04:42 1.4K
indexbuffer9.c 10-Mar-2019 04:42 4.2K
indexbuffer9.h 10-Mar-2019 04:42 2.7K
iunknown.c 10-Mar-2019 04:42 8.6K
iunknown.h 10-Mar-2019 04:42 5.0K
meson.build 10-Mar-2019 04:42 2.0K
nine_buffer_upload.c 10-Mar-2019 04:42 9.1K
nine_buffer_upload.h 10-Mar-2019 04:42 2.2K
nine_csmt_helper.h 10-Mar-2019 04:42 16K
nine_debug.c 10-Mar-2019 04:42 5.5K
nine_debug.h 10-Mar-2019 04:42 4.3K
nine_defines.h 10-Mar-2019 04:42 2.7K
nine_dump.c 10-Mar-2019 04:42 32K
nine_dump.h 10-Mar-2019 04:42 1.4K
nine_ff.c 10-Mar-2019 04:42 96K
nine_ff.h 10-Mar-2019 04:42 3.3K
nine_flags.h 10-Mar-2019 04:42 298
nine_helpers.c 10-Mar-2019 04:42 3.1K
nine_helpers.h 10-Mar-2019 04:42 5.8K
nine_limits.h 10-Mar-2019 04:42 8.6K
nine_lock.c 10-Mar-2019 04:42 102K
nine_lock.h 10-Mar-2019 04:42 2.5K
nine_pdata.h 10-Mar-2019 04:42 822
nine_pipe.c 10-Mar-2019 04:42 17K
nine_pipe.h 01-Jun-2019 09:41 28K
nine_queue.c 10-Mar-2019 04:42 7.2K
nine_queue.h 10-Mar-2019 04:42 1.7K
nine_quirk.c 10-Mar-2019 04:42 1.8K
nine_quirk.h 10-Mar-2019 04:42 1.4K
nine_shader.c 10-Mar-2019 04:42 123K
nine_shader.h 10-Mar-2019 04:42 6.5K
nine_state.c 10-Mar-2019 04:42 123K
nine_state.h 10-Mar-2019 04:42 23K
nineexoverlayextension.c 10-Mar-2019 04:42 2.2K
nineexoverlayextension.h 10-Mar-2019 04:42 2.2K
pixelshader9.c 10-Mar-2019 04:42 6.6K
pixelshader9.h 10-Mar-2019 04:42 4.2K
query9.c 10-Mar-2019 04:42 10K
query9.h 10-Mar-2019 04:42 2.6K
resource9.c 10-Mar-2019 04:42 5.3K
resource9.h 10-Mar-2019 04:42 2.6K
stateblock9.c 10-Mar-2019 04:42 22K
stateblock9.h 10-Mar-2019 04:42 2.2K
surface9.c 10-Mar-2019 04:42 30K
surface9.h 10-Mar-2019 04:42 5.5K
swapchain9.c 01-Jun-2019 09:41 43K
swapchain9.h 10-Mar-2019 04:42 5.1K
swapchain9ex.c 10-Mar-2019 04:42 4.3K
swapchain9ex.h 10-Mar-2019 04:42 2.4K
texture9.c 10-Mar-2019 04:42 14K
texture9.h 10-Mar-2019 04:42 2.7K
threadpool.c 10-Mar-2019 04:42 5.4K
threadpool.h 10-Mar-2019 04:42 2.1K
vertexbuffer9.c 10-Mar-2019 04:42 3.9K
vertexbuffer9.h 10-Mar-2019 04:42 2.6K
vertexdeclaration9.c 10-Mar-2019 04:42 19K
vertexdeclaration9.h 10-Mar-2019 04:42 3.3K
vertexshader9.c 10-Mar-2019 04:42 8.6K
vertexshader9.h 10-Mar-2019 04:42 4.3K
volume9.c 10-Mar-2019 04:42 19K
volume9.h 10-Mar-2019 04:42 3.6K
volumetexture9.c 10-Mar-2019 04:42 10K
volumetexture9.h 10-Mar-2019 04:42 2.8K
NLUUG - Open Systems. Open Standards
Become a member
and get discounts on conferences and more, see the NLUUG website!