Comments (2)
Another approach could be to allocate the memory range ourselves, let that be read and written like normal memory, and handle the GPU in a separate thread.
A separate thread to handle the GPU with will be needed anyway, as it's emulation should run independently from the CPU.
There are a few things to watch out for though;
Timing might become an issue.
If correct functioning of a piece of software relies on specific timing, that could turn out to be difficult to emulate.
Reads or writes could require specific handling.
If a read or write to GPU memory requires specific handling during this access, we can't treat any access to the hardware address range like normal memory anymore. Instead, we would need address specific handlers, at least for these addresses.
This in turn requires an efficient mechanism to match an address to a handler. (We're still not sure what the best approach for that would be.)
from cxbx-reloaded.
This entire idea is obsolete. Accurate GPU emulation requires handling every write and read that would have some effect on the real GPU too.
Now, there do exist methods to speed up the handling of pages faults, but we would have to research the academic papers on the subject first before making any bold statements.
from cxbx-reloaded.
Related Issues (20)
- Please add a Version for Android Users HOT 4
- Cxbx ignores PAL EEPROM settings if i load Nightfire EU version
- Mouse bindings absent? HOT 1
- Virtua Cop 3 : no reflected light HOT 1
- Inlined D3DDevice_BlockUntilVerticalBlank needs emulation without patching HOT 1
- Dino Crisis 3 Black Screen after Menu HOT 1
- Dino Crisis 3 Black Screen after Menu HOT 1
- Internal support for ISO HOT 1
- Internal support for ISO HOT 7
- Several issues with fullscreen and such HOT 10
- MOUSE RECOGNIZED WHEN PLUGGED MORE DEVICE HOT 1
- The cxbx is crashing after exact time every time
- Extreme lag in Panzer Dragoon Orta
- DEAD OR ALIVE 2 ULTIMATE HOT 2
- No Inputs When Running cxbxr-ldr.exe HOT 1
- CNK hasn't worked since July 5th, 2022 HOT 1
- Midtown Madness 3 Problems HOT 1
- Midtown Madness 3 Problems HOT 1
- Forza Motorsport error at boot HOT 1
- Xbox Kernel Test Suite Issues
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cxbx-reloaded.