Progress: Difference between revisions
Jump to navigation
Jump to search
Tag: Manual revert |
|||
(273 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads. | See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads. | ||
Also see [[DXGL Test Results]]. | Also see [[DXGL Test Results]] for some detailed tests performed occasionally. | ||
What works: | What works: | ||
Line 23: | Line 23: | ||
These are goals to be set for future releases. This is completely subject to change at any time. | These are goals to be set for future releases. This is completely subject to change at any time. | ||
* 0. | * 0.6.0 | ||
{{progression|100|task= | {{progression|100|task=Remove deprecated OpenGL APIs}} | ||
{{progression| | {{progression|1|task=Rewrite rendering backend}} | ||
* 0. | * 0.6.x (higher priority) | ||
{{progression|90|task=Fix reference counts}} | |||
{{progression|75|task=Validate DDraw parameters}} | |||
{{progression|25|task=Remove trace build, control tracing via config option}} | |||
{{progression|25|task=Fix resource leaks}} | |||
{{progression|15|task=Improve DDraw API}} | {{progression|15|task=Improve DDraw API}} | ||
{{progression| | {{progression|0|task=Improve color conversion on destination side}} | ||
{{progression|0|task=Hook ClipCursor function}} | |||
* 0. | * 0.6.x (lower priority) | ||
{{progression|95|task=Add mipmap surfaces}} | {{progression|95|task=Add mipmap surfaces}} | ||
{{progression|95|task=Support D3D2 textures}} | {{progression|95|task=Support D3D2 textures}} | ||
{{progression|95|task=Isolate API from backend threads}} | |||
{{progression|90|task=Add depth buffer fill}} | {{progression|90|task=Add depth buffer fill}} | ||
{{progression|75|task=Implement D3D execute buffers}} | {{progression|75|task=Implement D3D execute buffers}} | ||
{{progression|50|task=Rework D3DTLVERTEX rendering}} | {{progression|50|task=Rework D3DTLVERTEX rendering}} | ||
{{progression|50|task=Add software T&L for execute buffers}} | {{progression|50|task=Add software T&L for execute buffers}} | ||
{{progression| | {{progression|10|task=Group renderer commands into batches}} | ||
{{progression| | {{progression|10|task=Add client memory surfaces}} | ||
{{progression| | {{progression|1|task=Improve D3D backend}} | ||
{{progression|0|task= | {{progression|0|task=Support Blt() to/from different surface formats}} | ||
{{progression|0|task=Expand use of PBO transfers}} | |||
{{progression|0|task=Improve filtered color key Blt()}} | |||
{{progression|0|task=Postprocess scaling for change mode with fallback}} | |||
{{progression|0|task=Add framerate limiter}} | {{progression|0|task=Add framerate limiter}} | ||
{{progression|0|task=Improve fog support}} | {{progression|0|task=Improve fog support}} | ||
{{progression|0|task=Add multisampling}} | {{progression|0|task=Add multisampling}} | ||
{{progression|0|task=Precompile generated shaders used in previous sessions}} | {{progression|0|task=Precompile generated shaders used in previous sessions}} | ||
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}} | {{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}} | ||
* Future | * Future | ||
{{progression|75|task=Support multiple DirectDraw drivers per process}} | {{progression|75|task=Support multiple DirectDraw drivers per process}} | ||
{{progression|75|task=Support surface color depths}} | {{progression|75|task=Support surface color depths}} | ||
{{progression|50|task=Convert from C++ to C}} | |||
{{progression|25|task=Support NULL HWND}} | {{progression|25|task=Support NULL HWND}} | ||
{{progression|25|task=Implement and improve API functions}} | {{progression|25|task=Implement and improve API functions}} | ||
{{progression|5|task=Support GCC/MinGW compilation}} | {{progression|5|task=Support GCC/MinGW compilation}} | ||
{{progression| | {{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}} | ||
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}} | |||
{{progression|0|task=Support | |||
{{progression|0|task=Advanced VSync support}} | {{progression|0|task=Advanced VSync support}} | ||
{{progression|0|task=Hook GDI palette function}} | {{progression|0|task=Hook GDI palette function}} | ||
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}} | |||
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}} | |||
{{progression|5|task=Create Doxygen documentation [MAYBE]}} | |||
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}} | |||
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}} |
Latest revision as of 16:40, 17 January 2024
DXGL is currently a work-in-progress and is currently considered alpha-quality software..
See DXGL Features for detailed information.
See Version history from the downloads section for release information and previous version downloads.
Also see DXGL Test Results for some detailed tests performed occasionally.
What works:
- DirectDraw object creation and destruction (versions 1 to 7)
- Display mode enumeration and switching (with emulated mode switching)
- Fullscreen and windowed modes.
- Basic Blt() functionality
- 8-bit color emulated with GLSL shader
What partially works:
- 3D graphics are only partially supported.
What doesn't work:
- Many functions are stubbed out and return an error
Roadmap
These are goals to be set for future releases. This is completely subject to change at any time.
- 0.6.0
Remove deprecated OpenGL APIs: 100% complete | |
|
Rewrite rendering backend: 1% complete | ||
|
- 0.6.x (higher priority)
Fix reference counts: 90% complete | ||
|
Validate DDraw parameters: 75% complete | ||
|
Remove trace build, control tracing via config option: 25% complete | ||
|
Fix resource leaks: 25% complete | ||
|
Improve DDraw API: 15% complete | ||
|
Improve color conversion on destination side: 0% complete | |
|
Hook ClipCursor function: 0% complete | |
|
- 0.6.x (lower priority)
Add mipmap surfaces: 95% complete | ||
|
Support D3D2 textures: 95% complete | ||
|
Isolate API from backend threads: 95% complete | ||
|
Add depth buffer fill: 90% complete | ||
|
Implement D3D execute buffers: 75% complete | ||
|
Rework D3DTLVERTEX rendering: 50% complete | ||
|
Add software T&L for execute buffers: 50% complete | ||
|
Group renderer commands into batches: 10% complete | ||
|
Add client memory surfaces: 10% complete | ||
|
Improve D3D backend: 1% complete | ||
|
Support Blt() to/from different surface formats: 0% complete | |
|
Expand use of PBO transfers: 0% complete | |
|
Improve filtered color key Blt(): 0% complete | |
|
Postprocess scaling for change mode with fallback: 0% complete | |
|
Add framerate limiter: 0% complete | |
|
Improve fog support: 0% complete | |
|
Add multisampling: 0% complete | |
|
Precompile generated shaders used in previous sessions: 0% complete | |
|
Fix clippers on NVIDIA GeForce 6 series GPU: 0% complete | |
|
- Future
Support multiple DirectDraw drivers per process: 75% complete | ||
|
Support surface color depths: 75% complete | ||
|
Convert from C++ to C: 50% complete | ||
|
Support NULL HWND: 25% complete | ||
|
Implement and improve API functions: 25% complete | ||
|
Support GCC/MinGW compilation: 5% complete | ||
|
Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo: 1% complete | ||
|
Support Per-Monitor v2 DPI awareness in DXGL Config: 0% complete | |
|
Advanced VSync support: 0% complete | |
|
Hook GDI palette function: 0% complete | |
|
Support GL_ARB_texture_barrier for destination color keying: 0% complete | |
|
Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary: 0% complete | |
|
Create Doxygen documentation [MAYBE]: 5% complete | ||
|
Support configuring old/legacy DXGL versions [MAYBE]: 0% complete | |
|
Add DXGL loader stub to fix programs that demand ddraw.dll from system32: 0% complete | |
|