Progress: Difference between revisions

From DXGL Wiki
Jump to navigation Jump to search
Tag: Manual revert
 
(164 intermediate revisions by the same user not shown)
Line 23: Line 23:
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.13
* 0.6.0
{{progression|100|task=Support DirectDraw1 Z buffers}}
{{progression|100|task=Remove deprecated OpenGL APIs}}
{{progression|100|task=Create new/better DXGLCFG application}}
{{progression|1|task=Rewrite rendering backend}}
{{progression|100|task=Merge DXGL Config and DXGL Test}}
{{progression|100|task=Basic VSync support}}
{{progression|100|task=Support custom primary scaling}}
{{progression|100|task=Fix destination color key, broken since 0.5.11 on some configurations}}
{{progression|100|task=Separate screen filter and Blt() filter}}
{{progression|100|task=Remember window position and size in forced-window mode}}
{{progression|100|task=Remember maximized state of resizable window}}
{{progression|100|task=Increased customization for extra display modes, add UHD modes}}
{{progression|100|task=Allow selecting specific color depths to add}}
{{progression|100|task=Display mode hack - Remove 23/29/47/59/71/119Hz modes}}
{{progression|100|task=Refresh mode list in DXGL Test when settings are updated}}
{{progression|100|task=Scaling hack - Lands of Lore Guardians of Destiny}}
{{progression|50|task=Support Windows 10 1607 DPI awareness}}
{{progression|25|task=Fix installer for merging of DXGL Config and DXGL Test}}
{{progression|0|task=Scaling hack - Zelda Classic}}


* 0.5.x
* 0.6.x (higher priority)
{{progression|90|task=Fix reference counts}}
{{progression|75|task=Validate DDraw parameters}}
{{progression|25|task=Remove trace build, control tracing via config option}}
{{progression|25|task=Fix resource leaks}}
{{progression|15|task=Improve DDraw API}}
{{progression|0|task=Improve color conversion on destination side}}
{{progression|0|task=Hook ClipCursor function}}
 
* 0.6.x (lower priority)
{{progression|95|task=Add mipmap surfaces}}
{{progression|95|task=Add mipmap surfaces}}
{{progression|95|task=Support D3D2 textures}}
{{progression|95|task=Support D3D2 textures}}
{{progression|95|task=Isolate API from backend threads}}
{{progression|95|task=Isolate API from backend threads}}
{{progression|90|task=Add depth buffer fill}}
{{progression|90|task=Add depth buffer fill}}
{{progression|90|task=Fix reference counts}}
{{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 software T&L for execute buffers}}
{{progression|50|task=Add software T&L for execute buffers}}
{{progression|25|task=Fix resource leaks}}
{{progression|15|task=Improve DDraw API}}
{{progression|10|task=Group renderer commands into batches}}
{{progression|10|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}}
{{progression|0|task=Support Blt() to/from different surface formats}}
{{progression|0|task=Expand use of PBO transfers}}
{{progression|0|task=Improve filtered color key Blt()}}
{{progression|0|task=Postprocess scaling for change mode with fallback}}
{{progression|0|task=Postprocess scaling for change mode with fallback}}
{{progression|0|task=Fix first frame not being drawn when postprocess scaling is enabled.}}
{{progression|0|task=Improve filtered color key Blt()}}
{{progression|0|task=Add framerate limiter}}
{{progression|0|task=Add framerate limiter}}
{{progression|0|task=Improve fog support}}
{{progression|0|task=Improve fog support}}
{{progression|0|task=Add multisampling}}
{{progression|0|task=Add multisampling}}
{{progression|0|task=Precompile generated shaders used in previous sessions}}
{{progression|0|task=Precompile generated shaders used in previous sessions}}
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}
{{progression|0|task=Fix 8-bit color with Mesa software renderer and Geforce 6 series}}
* 0.6.x
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}


* Future
* Future
{{progression|75|task=Support multiple DirectDraw drivers per process}}
{{progression|75|task=Support multiple DirectDraw drivers per process}}
{{progression|75|task=Validate DDraw parameters}}
{{progression|75|task=Support surface color depths}}
{{progression|75|task=Support surface color depths}}
{{progression|50|task=Convert from C++ to C}}
{{progression|25|task=Support NULL HWND}}
{{progression|25|task=Support NULL HWND}}
{{progression|25|task=Implement and improve API functions}}
{{progression|25|task=Implement and improve API functions}}
{{progression|19|task=Convert from C++ to C}}
{{progression|5|task=Support GCC/MinGW compilation}}
{{progression|5|task=Support GCC/MinGW compilation}}
{{progression|5|task=Create Doxygen documentation}}
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}
{{progression|0|task=Add mingw build support}}
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}
{{progression|0|task=Support PBO texture transfer}}
{{progression|0|task=Add optimized texture color conversion}}
{{progression|0|task=Support palette fading without updating primary}}
{{progression|0|task=Advanced VSync support}}
{{progression|0|task=Advanced VSync support}}
{{progression|0|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}
{{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=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}
{{progression|0|task=Support scaling of windowed modes}}
{{progression|5|task=Create Doxygen documentation [MAYBE]}}
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}
{{progression|0|task=Compatibility with and support for Windows 10 RS5 Sets if supported on all Win32 apps [MAYBE]}}
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}

Latest revision as of 16:40, 17 January 2024

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: 100% 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
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 clippers on NVIDIA GeForce 6 series GPU: 0% complete
  • Future
Support multiple DirectDraw drivers per process: 75% 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
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