- Fix bugs with ClearImage/Rear-plane emulation that caused it to stop working. (Makes games like Sonic Chronicles: The Dark Brotherhood playable again with this renderer.)
- Windows doesn't seem like multithreading on the same OpenGL context, so revert to r4435 where we disable this on Windows. Should fix related crashing bugs on certain drivers. Someone please research.
- Change detection of toon table invalidation from using a render state flag to doing a full memcmp() on the render state's toon table. (Maybe fixes some bugs?)
- Lazy load the toon table instead of loading on invalidate.
- In single-threaded mode, defer pixel reads until H-Blank to help improve single-threaded performance.
- Move the framebuffer conversion code to its own function.
- Add PBO support.
- Pixels reads are now multithreaded, giving a significant performance boost. (Note: This optimization does not work on GPUs lacking PBO support and running on Windows. Someone please research...)
- Add shader support to the OpenGL blitter and move matrix transforms to the shaders.
- Remove the assumption that the renderer will have VBO support. The code will now work without it.
- Improve accuracy of wireframe mode rendering.
- Fix regression from r4426 where wireframe rendering of GL_QUADS and GL_QUAD_STRIP would render an extra diagonal line. (Tested on Nanostray 2)
- Allow the OpenGL 3D renderer to render in HW (allow for SW fallback).
- Remove the depth buffer from the display output context (doesn't need it and never will need it).
- Optimize OpenGL blitter for better performance (now uses VBOs to modify display properties instead of completely reconstructing display lists whenever the properties change).
- Some refactoring and code cleanup of the video output code.
- Add support for the OpenGL 3D renderer.
- Improve thread-safety of the display code.
- Fix a pixel alignment issue when resizing the display window.
- Lots of refactoring and cleanup of the display code.
- Optimize OpenGL blitter for better performance (now uses display lists instead of rendering in immediate mode).
- Some refactoring and code cleanup of the video output code.