Progress: Difference between revisions

From DXGL Wiki
Jump to navigation Jump to search
(→‎Roadmap: Update progress)
Line 24: Line 24:


* 0.5.27
* 0.5.27
{{progression|100|task=Fix heap corruption creating mipmapped textures}}
{{progression|0|task=Add force single core mode}}
{{progression|0|task=Add force single core mode}}
{{progression|0|task=Lands of Lore III compatibility fixes}}


* 0.6.0
* 0.6.0
{{progression|100|task=Remove deprecated OpenGL APIs except when needed for OpenGL 2.x support}}
{{progression|100|task=Remove deprecated OpenGL APIs except when needed for OpenGL 2.x support}}
{{progression|90|task=Reimplement surface lock/unlock}}
{{progression|15|task=Port DDraw to new rendering backend}}
{{progression|15|task=Port DDraw to new rendering backend}}
{{progression|1|task=Rewrite rendering backend}}
{{progression|10|task=Reimplement Blt}}
{{progression|5|task=Rewrite rendering backend}}
{{progression|0|task=Reimplement GetDC/ReleaseDC}}
{{progression|0|task=Reimplement Direct3D}}


* 0.6.x (higher priority)
* 0.6.x (higher priority)
{{progression|99|task=Remove trace build, control tracing via config option}}
{{progression|90|task=Fix reference counts}}
{{progression|90|task=Fix reference counts}}
{{progression|75|task=Validate DDraw parameters}}
{{progression|75|task=Validate DDraw parameters}}
{{progression|25|task=Remove trace build, control tracing via config option}}
{{progression|25|task=Fix resource leaks}}
{{progression|25|task=Fix resource leaks}}
{{progression|15|task=Improve DDraw API}}
{{progression|15|task=Improve DDraw API}}

Revision as of 02:34, 18 January 2026

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.27
Fix heap corruption creating mipmapped textures: 100% complete
Add force single core mode: 0% complete
  • 0.6.0
Remove deprecated OpenGL APIs except when needed for OpenGL 2.x support: 100% complete
Reimplement surface lock/unlock: 90% complete
Port DDraw to new rendering backend: 15% complete
Reimplement Blt: 10% complete
Rewrite rendering backend: 5% complete
Reimplement GetDC/ReleaseDC: 0% complete
Reimplement Direct3D: 0% complete
  • 0.6.x (higher priority)
Remove trace build, control tracing via config option: 99% complete
Fix reference counts: 90% complete
Validate DDraw parameters: 75% 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