Progress: Difference between revisions
Jump to navigation
Jump to search
Tag: Manual revert |
(→Roadmap: Adjust progress for post-0.5.25, remove task to hook ClipCursor, it was implemented in 0.5.25.) |
||
| Line 22: | Line 22: | ||
== Roadmap == | == Roadmap == | ||
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.5.26 | |||
{{progression|0|task=Fix log levels 1 and 2}} | |||
{{progression|0|task=Add less verbose API logging}} | |||
{{progression|0|task=Fix scaled primary writes}} | |||
* 0.6.0 | * 0.6.0 | ||
{{progression|100|task=Remove deprecated OpenGL APIs}} | {{progression|100|task=Remove deprecated OpenGL APIs except when needed for OpenGL 2.x support}} | ||
{{progression|15|task=Port DDraw to new rendering backend}} | |||
{{progression|1|task=Rewrite rendering backend}} | {{progression|1|task=Rewrite rendering backend}} | ||
| Line 34: | Line 40: | ||
{{progression|15|task=Improve DDraw API}} | {{progression|15|task=Improve DDraw API}} | ||
{{progression|0|task=Improve color conversion on destination side}} | {{progression|0|task=Improve color conversion on destination side}} | ||
* 0.6.x (lower priority) | * 0.6.x (lower priority) | ||
| Line 43: | Line 48: | ||
{{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 | {{progression|50|task=Add T&L for execute buffers}} | ||
{{progression| | {{progression|50|task=Group renderer commands into batches}} | ||
{{progression|10|task=Add client memory surfaces}} | {{progression|10|task=Add client memory surfaces}} | ||
{{progression|1|task=Improve D3D backend}} | {{progression|1|task=Improve D3D backend}} | ||
| Line 58: | Line 63: | ||
* Future | * Future | ||
{{progression| | {{progression|95|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|50|task=Convert from C++ to C}} | ||
| Line 64: | Line 69: | ||
{{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|5|task=Create Doxygen documentation [MAYBE]}} | |||
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}} | {{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 Per-Monitor v2 DPI awareness in DXGL Config}} | ||
| Line 69: | Line 75: | ||
{{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=Support GL_ARB_texture_barrier for destination color keying}} | ||
{{progression|0|task=Workaround for | {{progression|0|task=Workaround for "System (Enhanced)" DPI scaling, if necessary}} | ||
{{progression|0|task=Support configuring old/legacy DXGL versions [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}} | {{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}} | ||
Revision as of 20:28, 28 December 2025
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.5.26
| Fix log levels 1 and 2: 0% complete | |
|
|
| Add less verbose API logging: 0% complete | |
|
|
| Fix scaled primary writes: 0% complete | |
|
|
- 0.6.0
| Remove deprecated OpenGL APIs except when needed for OpenGL 2.x support: 100% complete | |
|
|
| Port DDraw to new rendering backend: 15% 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 | |
|
|
- 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 T&L for execute buffers: 50% complete | ||
|
|
| Group renderer commands into batches: 50% 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: 95% 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 | ||
|
|
| Create Doxygen documentation [MAYBE]: 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 "System (Enhanced)" DPI scaling, if necessary: 0% 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 | |
|
|