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 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.11
Fix installation on systems without MSVC runtime installed: 100% complete
Downgrade compiler to VS2010 but keep compatibility with VS2013: 100% complete
Fix black screen issues under certain circumstances.: 100% complete
Prevent multiple instances of DXGL Config: 100% complete
Add custom first-pass scaling - See checklist for details.: 66% complete

☑ Renderer support for first pass
☑ Automatic pixel doubling support
☑ Support Change Desktop Resolution - offer modes per scaling.
☑ Fix broken scaled modes.
☑ Support Stretch to Screen.
☑ Add Extra Display Modes enabled by default, add doubled pixel modes.
☑ Fix dxglcfg non-square scaling.
☑ Support Aspect Corrected Stretch - automatic aspect fixup.
☑ Support cropped to aspect mode - automatic aspect fixup.
☑ Support centered modes.
☐ Support modes that have scaling fallback.
☐ Support windowed mode.
☐ Support Adjust primary resolution - stretch to screen.
☐ Support Adjust primary resolution - aspect corrected stretch.
☐ Fix first frame not being drawn when scaling is enabled.

  • 0.5.12
Isolate API from backend threads: 95% complete
Improve D3D backend: 1% complete
Support optional INI files for configuration: 0% complete
  • 0.5.13
Improve DDraw API: 15% complete
Group renderer commands into batches: 10% 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
Add software T&L for execute buffers: 50% complete
Fix resource leaks: 25% complete
Create new/better DXGLCFG application: 15% complete
Add client memory surfaces: 10% 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 and Geforce 6 series: 0% complete
Support configuring old/legacy DXGL versions: 0% complete
  • 0.5.x or 0.6.0
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
Support Windows 10 1607 DPI awareness: 0% complete
Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary: 0% complete
Support scaling of windowed modes: 0% complete