Giter Site home page Giter Site logo

d3d9-to-11's Introduction

Direct3D 9-to-11

AppVeyor build status Travis CI Build Status Lines of Code LGPL-3.0

Scope of this project

This project is an attempt to convert Direct3D 9 programs to Direct3D 11. It reimplements the d3d9.dll, which contains the core D3D9 interfaces.

Most D3D9 games are CPU limited on modern PCs, since GPU power increased exponentially while CPUs fell behind. Furthermore, most (old) games lack multithreading support, draining the CPU resource even more.

This project uplifts the games D3D9 graphics API calls to D3D11.

Note: the project is currently under heavy development. Currently, it is not capable of running real games. You are welcome to build and test it yourself if you want to.

Important: this project should be used together with DXVK, which would then translate D3D11 to Vulkan. Without DXVK, this project will probably not provide any performance improvement, more likely will degrade performance.

Documentation

Read the documentation online on GitHub Pages!

All of the project's documentation is stored in the docs directory and is checked into the repository.

We don't use GitHub's wiki pages, because it is hard to contribute and review changes to the wiki documentation. It is better to use pull requests for documentation changes.

Everyone is welcome to contribute to the docs. The docs are licensed under the GNU Free Documentation License.

Installation

In order to install this software, you have two options:

Usage

After installation, see the usage instructions.

Credits

  • Wine for allowing us to run Windows programs on other OSes

  • DXVK for inspiration and making this project possible

  • VK9 for the original D3D9-to-Vulkan wrapper

License

This project is licensed under the Lesser GNU General Public License, version 3 or (at your option) any later version.

d3d9-to-11's People

Contributors

gabrielmajeri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

d3d9-to-11's Issues

Welcome!

Hello and welcome to the gaming FOSS scene!

Your project is very interesting, I would like to try it and I have some questions:
I compiled it on Ubuntu 18.04 without problem, your project is very well documented.
First ask: I didn't understand if I have to install dxvk for your dll to work?
I installed your dll in some directx9 games and the games asked for directx 9.0c.
I used the "export RUST_LOG=d3d9=info" but no log info.
Could you give me a game your dll tested with success?
I tested with:

  • Rayman origins --> black windows
  • Injustice --> the game didn't launch and asked for directx 9.0c

Thank you for your help.

My config:
Ubuntu 18.04
Nvidia

Any way to debug/log this on Windows?

As a curiosity/reference it'd be good to have this easily testable on Windows.

Setting RUST_LOG as indicated didn't produce any log output on native Windows despite the d3d9 getting loaded and the program exiting.

A Wiki Page.

This might be silly, as the project just started... But, just as a reminder, what about a wiki using the Github feature? Although I "made", Crtl + C - Crtl + V from the docs, one in my fork, if it's even helpful.

Greater then 2G VRAM

One issue that will crop up in the future is using this on GPU with 6G or more RAM. Currently on my system, when using wine with skyrim and enboost memory managment/fixes. NOT enb graphics, that is a seperate thing. Skyrim/enb can only see <2.5G VRAM on a Nvidia Titian with 6GB of VRAM.

So please keep that in mind when doing the texture parts and not code in a hard limit of 2G. Skyrim with enboost on windows system can see all of the 6GB of VRAM.

Please forgive spelling mistakes as the spell checker is not sujesting fixes on my tablet here.

Once this project gets to testing on games, I will happly test this limit. :-)

Is it alive?

I am just curious. Last commits were 2 or 3 months ago

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.