Progress: Difference between revisions
Jump to navigation
Jump to search
(→Roadmap: Try to make antivirus less grumpy) |
|||
| (81 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. | * 0.5.27 | ||
{{progression|100|task=Fix | {{progression|100|task=Fix heap corruption creating mipmapped textures}} | ||
{{progression| | {{progression|90|task=Add force single core mode}} | ||
{{progression|0|task=Move COM registration from installer to DXGL Config}} | |||
{{progression| | |||
* 0.5. | * 0.6.0 | ||
{{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|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) | |||
{{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=Fix resource leaks}} | {{progression|25|task=Fix resource leaks}} | ||
{{progression|15|task=Improve DDraw API}} | {{progression|15|task=Improve DDraw API}} | ||
{{progression|0|task= | {{progression|0|task=Improve color conversion on destination side}} | ||
* 0. | * 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}} | ||
| Line 49: | Line 52: | ||
{{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 | {{progression|50|task=Add T&L for execute buffers}} | ||
{{progression| | {{progression|50|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}} | ||
| Line 61: | Line 64: | ||
{{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 clippers on NVIDIA GeForce 6 series GPU}} | {{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}} | ||
* Future | * Future | ||
{{progression| | {{progression|95|task=Support multiple DirectDraw drivers per process}} | ||
{{progression|75|task=Support surface color depths}} | {{progression|75|task=Support surface color depths}} | ||
{{progression|50|task= | {{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|5|task=Support GCC/MinGW compilation}} | {{progression|5|task=Support GCC/MinGW compilation}} | ||
{{progression|5|task=Create Doxygen documentation [MAYBE]}} | |||
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}} | {{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}} | ||
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}} | {{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}} | ||
{{progression|0|task=Advanced VSync support}} | {{progression|0|task=Advanced VSync support}} | ||
{{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=Support GL_ARB_texture_barrier for destination color keying}} | ||
{{progression|0|task=Workaround for | {{progression|0|task=Workaround for "System (Enhanced)" DPI scaling, if necessary}} | ||
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}} | {{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}} | ||
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}} | |||
Latest revision as of 03:26, 24 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: 90% complete | ||
|
|
| Move COM registration from installer to DXGL Config: 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 | |
|
|