Progress
Jump to navigation
Jump to search
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: 5% complete | ||
|
Support GLSL 3.x: 0% complete | |
|
64-bit support: 0% complete | |
|
- 0.6.x (higher priority)
Fix reference counts: 90% complete | ||
|
Validate DDraw parameters: 75% complete | ||
|
Fix resource leaks: 25% complete | ||
|
Remove trace build, control tracing via config option: 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 16-bit 565 surfaces on ATI Radeon X300 series: 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 | ||
|
Support NULL HWND: 25% complete | ||
|
Implement and improve API functions: 25% complete | ||
|
Convert from C++ to C: 19% 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 | |
|