-
-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a null
rendering backend
#120
Conversation
Virtual classes need to override the base-type deconstructor so that they are proper called when referred to by their base-type.
Doesn't implement any functions, currently not selectable or configurable
There are still some initialization errors to work through, such as config not being initialized properly by the time GPU tries to utilize it too. Also some life-time issues. But manually forcing it to use the Null backnd successfully works and allows games to be "played" headlessly.
`config` was being consumed much too early before it has a chance to call `load`. This caused GPU to read weird uninitialized data, and then `load` called, and then further initialization to occur based on default data and the data inside of `config.toml`. `EmulatorConfig` needs to be loaded in first before any sort of initialization happens, by adding a new constructor so that it can be initialized sooner.
Sir I tried this and I can't see the Pokemans, I think you have a bug, please fix |
Wdym, its playing Pokemon Black perfectly. |
Reshiram pic or lying |
Rather than using integer-indices, just use plaintext case-insensitive names and leave the actual enum indexes as an implementation detail.
CI seems to be dying to IWYU stuff (no in renderer.hpp) So you'd do |
Also fix some IWYU build errors
Addressed CI issues 👍 |
7e29b64
to
c339c7d
Compare
This adds the null rendering backend, which just stubs all of the implementation details of the rendering backend, allowing for "headless" emulation of 3DS roms.
This also adds support for multiple rendering backends, based on an index within the user's
config.toml
.