This patch series adds high-resolution rendering using multiple passes. Changing to high resolution rendering requires changing few lines of code to existing applications (see added example). All the rest is done by gsKit in a separate thread.
Even when the application is slow and running at for instance 20fps, it can still use high-resolution rendering. The thread will make sure the gs is rendering at 120, 180 or 240 passes per second (depending on the number of passes per frame (2, 3 or 4).
Using 2 passes the memory used by the front, back and depth buffer will be only 50%.
Using 3 passes the memory used by the front, back and depth buffer will be only 33%.
Using 4 passes the memory used by the front, back and depth buffer will be only 33%, with some extra memory left for a dynamic memory (texture) manager I have planned for the future. Due to alignment requirements 4 passes is also required by higher resolutions (like 1920x1024 for instance).
Note that this does not change any existing functionality, so it's fully compatible with existing applications.
This patch series adds high-resolution rendering using multiple passes. Changing to high resolution rendering requires changing few lines of code to existing applications (see added example). All the rest is done by gsKit in a separate thread.
Even when the application is slow and running at for instance 20fps, it can still use high-resolution rendering. The thread will make sure the gs is rendering at 120, 180 or 240 passes per second (depending on the number of passes per frame (2, 3 or 4).
Using 2 passes the memory used by the front, back and depth buffer will be only 50%. Using 3 passes the memory used by the front, back and depth buffer will be only 33%. Using 4 passes the memory used by the front, back and depth buffer will be only 33%, with some extra memory left for a dynamic memory (texture) manager I have planned for the future. Due to alignment requirements 4 passes is also required by higher resolutions (like 1920x1024 for instance).
Note that this does not change any existing functionality, so it's fully compatible with existing applications.