Progress

From DXGL Wiki
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.

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.9
Isolate API from backend threads: 10% complete
Add client memory surfaces: 10% complete
Improve DDraw API: 5% complete
0.5.9 Features TBA: 0% complete
  • 0.5.x
Add mipmap surfaces: 95% complete
Support D3D2 textures: 95% complete
Add depth buffer fill: 90% complete
Fix reference counts: 90% complete
Implement D3D execute buffers: 75% complete
Rework D3DTLVERTEX rendering: 50% complete
Support `Adjust primary resolution` on Direct3D: 50% complete
Add software T&L for execute buffers: 50% complete
Fix resource leaks: 25% complete
Optimize shader cache: 15% complete
Create new/better DXGLCFG application: 15% complete
Group renderer commands into batches: 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
Fix 8-bit color with Mesa software renderer: 0% complete
  • 0.5.x or 0.6.0
Support optional INI files for configuration: 0% complete
Optionally delete user settings on uninstall: 0% complete
Add DXGL loader stub to fix programs that demand ddraw.dll from system32: 0% complete
  • Future
Support multiple DirectDraw drivers per process: 75% complete
Validate DDraw parameters: 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: 20% complete
Support GCC/MinGW compilation: 5% complete
Create Doxygen documentation: 5% complete
Add mingw build support: 0% complete
Support PBO texture transfer: 0% complete
Add optimized texture color conversion: 0% complete
Support palette fading without updating primary: 0% complete
Advanced VSync support: 0% complete
Hook GetCursorPos/SetCursorPos/ClipCursor/GetClipCursor/GetCursorInfo: 0% complete
Hook GDI palette function: 0% complete