https://dxgl.org/w/api.php?action=feedcontributions&user=William&feedformat=atom
DXGL Wiki - User contributions [en]
2024-03-28T09:07:51Z
User contributions
MediaWiki 1.38.4
https://dxgl.org/w/index.php?title=Downloads&diff=3796
Downloads
2024-02-27T02:54:05Z
<p>William: Release DXGL 0.5.23</p>
<hr />
<div>DXGL is provided subject to the terms of the [http://www.gnu.org/licenses/lgpl-2.1.html GNU Lesser General Public License, version 2.1].<br />
To install DXGL, simply download and run the Windows installer. To upgrade, install over the old version. All programs configured by the configuration tool or automatically added by the DXGL library will be automatically updated during the installation progress.<br />
<br />
=== Updgrade notes ===<br />
If you upgrade from DXGL 0.5.8 or earlier, the configuration format will be changed, and earlier versions of DXGL will no longer recognize the profiles. In addition, any profiles generated by older versions of DXGL going forward will not be recognized by DXGL 0.5.9 or later. If you wish to migrate any old profiles generated after installing DXGL 0.5.9 or later, you will need to use Regedit to delete the "Configuration Version" registry value from the HKEY_CURRENT_USER\SOFTWARE\DXGL registry key to force the upgrade to be run again. <br />
<br />
The current available version of DXGL is 0.5.23. Please click one of the links below to download.<br />
<br />
DXGL 0.5.15 and newer now come in two versions, a standard version requiring at least Windows Vista SP2 and a SSE2-capable processor, and a legacy version with the same requirements as previous versions.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.23-win32.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.23-win32-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/dxgl-src-0.5.23.zip Source code]<br />
<br />
==Experimental versions==<br />
DXGL has been built in Visual Studio 2008 and Visual Studio 2005. These builds are experimental and are compatible with Windows 2000 and up. The VS2005 build is built in Multi-Byte Character Set mode and may not be compatible with installation paths containing characters that are not part of your operating system’s ANSI character set.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.23-win32-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.23-win32-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
Please see below for older versions.<br />
<br />
== Experimental x64 version ==<br />
DXGL is now available in an x64 version, for use with x64 programs. This version is not compatible with 32-bit programs, and should only be downloaded when needed.<br />
OS requirements are the same as for the 32-bit versions, except that the x64 version is required and installation will be canceled if a 32-bit version of Windows is detected.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.23-x64.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.23-x64-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.23-x64-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.23-x64-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
== Version history ==<br />
<br />
<br />
{| border="1"<br />
! Version<br />
! Source<br />
! Binary<br />
! Major changes<br />
|-<br />
| 0.5.23<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.23.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.23-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.23-win32-msvc10.exe Download (legacy)]<br />
|Fix installation of MSVC runtime and Program Files links.<br />
|-<br />
| 0.5.22<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.22.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.22-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.22-win32-msvc10.exe Download (legacy)]<br />
|Fix freezing during ddraw.dll initialization.<br />
|-<br />
| 0.5.21<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.21.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.21-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.21-win32-msvc10.exe Download (legacy)]<br />
|Prevent screensaver when program is active. Rewrite profile update. Add portable install. Add debug symbols.<br />
|-<br />
| 0.5.20<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.20.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.20-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.20-win32-msvc10.exe Download (legacy)]<br />
|Rewrite surface structures. Partially implement hardware accelerated scaled primary.<br />
|-<br />
| 0.5.19<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.19.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.19-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.19-win32-msvc10.exe Download (legacy)]<br />
|Add x64 build. Add shader compatibility with OpenGL 3.x. Fix some API bugs.<br />
|-<br />
| 0.5.18<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.18.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.18-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.18-win32-msvc10.exe Download (legacy)]<br />
|Migrate source code to GitHub. Add basic overlay surface support. Add scaling for windowed mode applications.<br />
|-<br />
| 0.5.17<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.17.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.17-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.17-win32-msvc10.exe Download (legacy)]<br />
|Add VS2005 and VS2008 builds. Change debug tracing to a .ini option. Fix profile directory SHA256 hashes. Add included directive to .ini files and support alternate dxgl.cfg configuration file.<br />
|-<br />
| 0.5.16<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.16.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.16-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.16-win32-msvc10.exe Download (legacy)]<br />
|Upgrade VC2017 to VC2019.&nbsp; Add some improvements to DDraw API.&nbsp; Add color format conversions for several surface formats.&nbsp; Add 1, 2, and 4-bit pixel formats.&nbsp; Add packed YUV pixel formats.<br />
|-<br />
| 0.5.15<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.15.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.15-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.15-win32-msvc10.exe Download (legacy)]<br />
|Add VC2017 build. Add Wine DLL overrides. Fix uninstaller to clean up files and registry. Improve color palette support. Improve 512×448 scaling mode. Several bug fixes.<br />
|-<br />
| 0.5.14<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.14.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.14-win32.exe Download]<br />
|Add offline help. Add mouse related hooks including a contributed addition. Improve window mode. Add custom scaling options. Support saving INI files. Fix a few bugs.<br />
|-<br />
| 0.5.13<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.13.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.13-win32.exe Download]<br />
|New DXGL Config application. Improved color depth and display mode selections. Add debug options and rendering hacks. Fix a few bugs.<br />
|-<br />
| 0.5.12<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.12.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.12-win32.exe Download]<br />
|Fix window mode. Add .ini configuration support. Add debug options. Add color key override. Add single buffer display mode.<br />
|-<br />
| 0.5.11<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.11.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.11-win32.exe Download]<br />
|Bug fixes. Downgrade runtime to VS2010. Add first pass scaling mode and forced SSAA.<br />
|-<br />
| 0.5.10<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.10.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.10-win32.exe Download]<br />
| Minor bug fixes. Optimization for shader cache. Add non-minimizing windowed borderless modes.<br />
|-<br />
| 0.5.9<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.9.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.9-win32.exe Download]<br />
| Minor clipper fixes. Isolate most of renderer backend from frontend API. Overhaul installer and configuration.<br />
|-<br />
| 0.5.8<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.8.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.8-win32.exe Download]<br />
| Upgrade compiler to Visual Studio 2013. Add forced-window mode. Add borderless-window (non-exclusive) fullscreen mode.<br />
|-<br />
| 0.5.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.7.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.7-win32.exe Download]<br />
| Minimize fullscreen mode on Alt+Tab and restore desktop resolution. Fix D3DTLVERTEX rendering. Fix D3D color key support. Add depth fill Blt.<br />
|-<br />
| 0.5.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.6-win32.exe Download]<br />
| More API improvements. Improve dithering performance. Full ROP support. Windows 10 compatibility.<br />
|-<br />
| 0.5.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.5-win32.exe Download]<br />
| API improvements. Add mipmap texture support. Better Direct3D2 texture support. Adjustments to transformed vertices. Add dithering.<br />
|-<br />
| 0.5.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.4-win32.exe Download]<br />
| Blt fixes. Color key fix. Add destination and colorspace color key. Add 90 degree blt rotation. Add blt mirroring.<br />
|-<br />
| 0.5.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.3-win32.exe Download]<br />
| Surface clipper support. Same source/dest blt fix. Dynamic blt shader generation. Partial ROP support.<br />
|-<br />
| 0.5.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.2-win32.exe Download]<br />
| Better Windows 8.1 compatibility. High DPI support. Custom aspect ratio support. Better 8-bit color support.<br />
|-<br />
| 0.5.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.1-win32.exe Download]<br />
| Fix Intel graphics compatibility. Support ARB_sampler_objects for more accurate D3D emulation. Fix several bugs. Add tracing support to source code.<br />
|-<br />
| 0.5.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.0-win32.exe Download]<br />
| Add partial DirectX2 D3D support. Enable D3D support on all builds. Improve Windows 8 compatibility. Fix a few D3D bugs.<br />
|-<br />
| 0.4.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.2-win32.exe Download]<br />
| Add wireframe and point rendering. Add fog. Add flat shading. Fix light positions.<br />
|-<br />
| 0.4.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.1-win32.exe Download]<br />
| Add backface culling. Add alpha test functions. Add texture color key. Various DDraw and D3D fixes.<br />
|-<br />
| 0.4.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.0-win32.exe Download]<br />
| Add DirectX5 D3D support. Add locking of surface rects. Various minor fixes.<br />
|-<br />
| 0.3.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.2-win32.exe Download]<br />
| Rewrite texture management. Add RGBA4444 textures. Add alpha blending. Fix crash in XP.<br />
|-<br />
| 0.3.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.1-win32.exe Download]<br />
| Fix surface access. Eliminate redundant GL state changes. Some D3D fixes.<br />
|-<br />
| 0.3.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.0-win32.exe Download]<br />
| Improve installer. Add DirectX6 D3D support.<br />
|-<br />
| 0.2.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.3-win32.exe Download]<br />
| Add spot lights. Add specular lighting. Add transformed vertices support.<br />
|-<br />
| 0.2.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.2-win32.exe Download]<br />
| Fix threading bugs. Add Z buffer testing. Add point lights.<br />
|-<br />
| 0.2.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.1-win32.exe Download]<br />
| Add more texture shaders. Add Windows 8 registry fix. Various fixes.<br />
|-<br />
| 0.2.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.0-win32.exe Download]<br />
| Add preliminary IDirect3D7 interfaces. Fix DXGLCFG profiles.<br />
|-<br />
| 0.1.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.6-win32.exe Download]<br />
| Fix AMD/ATI compatibility. Validate parameters. Fix render thread.<br />
|-<br />
| 0.1.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.5-win32.exe Download]<br />
| Fix shader engine. Improved application compatibility. Screen smoothing in 8-bit modes.<br />
|-<br />
| 0.1.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.4-win32.exe Download]<br />
| Use shaders for rendering. Fix OpenGL memory leaks.<br />
|-<br />
| 0.1.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.3-win32.exe Download]<br />
| Optimize texture uploads. Add Z buffer support. Fix framebuffer object initialization.<br />
|-<br />
| 0.1.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.2-win32.exe Download]<br />
| Add COM initialization. Restore display mode when deleting DDraw object. Fix VSync.<br />
|-<br />
| 0.1.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.1-win32.exe Download]<br />
| Add mouse support. Improve render window drawing. Add vertical sync support.<br />
|-<br />
| 0.1.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.0-win32.exe Download]<br />
| Fix Windows XP compatibility. Add installer. Add application profile support. Add help file.<br />
|-<br />
| 0.0.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.7.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.7.zip Download]<br />
| Add DirectDrawEnumerate. Add color fill and colorkey blt(). Fix flipping. Add compatibility with Windows 8.<br />
|-<br />
| 0.0.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.6.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.6.zip Download]<br />
| Speed up surface locking. Fix non-multiple-of-8 modes.<br />
|-<br />
| 0.0.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.5.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.5.zip Download]<br />
| Add GetDC() GDI surface access. Add more tests to DXGLTest.<br />
|-<br />
| 0.0.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.4.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.4.zip Download]<br />
| Add all DDraw interface versions, add 15 and 24 bit modes, add low-res modes, fix memory leaks.<br />
|-<br />
| 0.0.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.3.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.3.zip Download]<br />
| Remove wxWidgets and GLEW, fix duplicate mode enumeration, multiple fixes.<br />
|-<br />
| 0.0.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.2.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.2.zip Download]<br />
| Add windowed mode.<br />
|-<br />
| 0.0.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.1.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.1.zip Download]<br />
| Initial preview release. Only direct access to primary surface.<br />
|}</div>
William
https://dxgl.org/w/index.php?title=Downloads&diff=3795
Downloads
2024-01-17T16:44:00Z
<p>William: Release 0.5.22</p>
<hr />
<div>DXGL is provided subject to the terms of the [http://www.gnu.org/licenses/lgpl-2.1.html GNU Lesser General Public License, version 2.1].<br />
To install DXGL, simply download and run the Windows installer. To upgrade, install over the old version. All programs configured by the configuration tool or automatically added by the DXGL library will be automatically updated during the installation progress.<br />
<br />
=== Updgrade notes ===<br />
If you upgrade from DXGL 0.5.8 or earlier, the configuration format will be changed, and earlier versions of DXGL will no longer recognize the profiles. In addition, any profiles generated by older versions of DXGL going forward will not be recognized by DXGL 0.5.9 or later. If you wish to migrate any old profiles generated after installing DXGL 0.5.9 or later, you will need to use Regedit to delete the "Configuration Version" registry value from the HKEY_CURRENT_USER\SOFTWARE\DXGL registry key to force the upgrade to be run again. <br />
<br />
The current available version of DXGL is 0.5.22. Please click one of the links below to download.<br />
<br />
DXGL 0.5.15 and newer now come in two versions, a standard version requiring at least Windows Vista SP2 and a SSE2-capable processor, and a legacy version with the same requirements as previous versions.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.22-win32.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.22-win32-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/dxgl-src-0.5.22.zip Source code]<br />
<br />
==Experimental versions==<br />
DXGL has been built in Visual Studio 2008 and Visual Studio 2005. These builds are experimental and are compatible with Windows 2000 and up. The VS2005 build is built in Multi-Byte Character Set mode and may not be compatible with installation paths containing characters that are not part of your operating system’s ANSI character set.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.22-win32-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.22-win32-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
Please see below for older versions.<br />
<br />
== Experimental x64 version ==<br />
DXGL is now available in an x64 version, for use with x64 programs. This version is not compatible with 32-bit programs, and should only be downloaded when needed.<br />
OS requirements are the same as for the 32-bit versions, except that the x64 version is required and installation will be canceled if a 32-bit version of Windows is detected.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.22-x64.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.22-x64-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.22-x64-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.22-x64-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
== Version history ==<br />
<br />
<br />
{| border="1"<br />
! Version<br />
! Source<br />
! Binary<br />
! Major changes<br />
|-<br />
| 0.5.22<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.22.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.22-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.22-win32-msvc10.exe Download (legacy)]<br />
|Fix freezing during ddraw.dll initialization.<br />
|-<br />
| 0.5.21<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.21.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.21-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.21-win32-msvc10.exe Download (legacy)]<br />
|Prevent screensaver when program is active. Rewrite profile update. Add portable install. Add debug symbols.<br />
|-<br />
| 0.5.20<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.20.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.20-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.20-win32-msvc10.exe Download (legacy)]<br />
|Rewrite surface structures. Partially implement hardware accelerated scaled primary.<br />
|-<br />
| 0.5.19<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.19.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.19-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.19-win32-msvc10.exe Download (legacy)]<br />
|Add x64 build. Add shader compatibility with OpenGL 3.x. Fix some API bugs.<br />
|-<br />
| 0.5.18<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.18.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.18-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.18-win32-msvc10.exe Download (legacy)]<br />
|Migrate source code to GitHub. Add basic overlay surface support. Add scaling for windowed mode applications.<br />
|-<br />
| 0.5.17<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.17.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.17-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.17-win32-msvc10.exe Download (legacy)]<br />
|Add VS2005 and VS2008 builds. Change debug tracing to a .ini option. Fix profile directory SHA256 hashes. Add included directive to .ini files and support alternate dxgl.cfg configuration file.<br />
|-<br />
| 0.5.16<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.16.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.16-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.16-win32-msvc10.exe Download (legacy)]<br />
|Upgrade VC2017 to VC2019.&nbsp; Add some improvements to DDraw API.&nbsp; Add color format conversions for several surface formats.&nbsp; Add 1, 2, and 4-bit pixel formats.&nbsp; Add packed YUV pixel formats.<br />
|-<br />
| 0.5.15<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.15.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.15-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.15-win32-msvc10.exe Download (legacy)]<br />
|Add VC2017 build. Add Wine DLL overrides. Fix uninstaller to clean up files and registry. Improve color palette support. Improve 512×448 scaling mode. Several bug fixes.<br />
|-<br />
| 0.5.14<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.14.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.14-win32.exe Download]<br />
|Add offline help. Add mouse related hooks including a contributed addition. Improve window mode. Add custom scaling options. Support saving INI files. Fix a few bugs.<br />
|-<br />
| 0.5.13<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.13.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.13-win32.exe Download]<br />
|New DXGL Config application. Improved color depth and display mode selections. Add debug options and rendering hacks. Fix a few bugs.<br />
|-<br />
| 0.5.12<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.12.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.12-win32.exe Download]<br />
|Fix window mode. Add .ini configuration support. Add debug options. Add color key override. Add single buffer display mode.<br />
|-<br />
| 0.5.11<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.11.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.11-win32.exe Download]<br />
|Bug fixes. Downgrade runtime to VS2010. Add first pass scaling mode and forced SSAA.<br />
|-<br />
| 0.5.10<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.10.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.10-win32.exe Download]<br />
| Minor bug fixes. Optimization for shader cache. Add non-minimizing windowed borderless modes.<br />
|-<br />
| 0.5.9<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.9.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.9-win32.exe Download]<br />
| Minor clipper fixes. Isolate most of renderer backend from frontend API. Overhaul installer and configuration.<br />
|-<br />
| 0.5.8<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.8.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.8-win32.exe Download]<br />
| Upgrade compiler to Visual Studio 2013. Add forced-window mode. Add borderless-window (non-exclusive) fullscreen mode.<br />
|-<br />
| 0.5.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.7.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.7-win32.exe Download]<br />
| Minimize fullscreen mode on Alt+Tab and restore desktop resolution. Fix D3DTLVERTEX rendering. Fix D3D color key support. Add depth fill Blt.<br />
|-<br />
| 0.5.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.6-win32.exe Download]<br />
| More API improvements. Improve dithering performance. Full ROP support. Windows 10 compatibility.<br />
|-<br />
| 0.5.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.5-win32.exe Download]<br />
| API improvements. Add mipmap texture support. Better Direct3D2 texture support. Adjustments to transformed vertices. Add dithering.<br />
|-<br />
| 0.5.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.4-win32.exe Download]<br />
| Blt fixes. Color key fix. Add destination and colorspace color key. Add 90 degree blt rotation. Add blt mirroring.<br />
|-<br />
| 0.5.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.3-win32.exe Download]<br />
| Surface clipper support. Same source/dest blt fix. Dynamic blt shader generation. Partial ROP support.<br />
|-<br />
| 0.5.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.2-win32.exe Download]<br />
| Better Windows 8.1 compatibility. High DPI support. Custom aspect ratio support. Better 8-bit color support.<br />
|-<br />
| 0.5.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.1-win32.exe Download]<br />
| Fix Intel graphics compatibility. Support ARB_sampler_objects for more accurate D3D emulation. Fix several bugs. Add tracing support to source code.<br />
|-<br />
| 0.5.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.0-win32.exe Download]<br />
| Add partial DirectX2 D3D support. Enable D3D support on all builds. Improve Windows 8 compatibility. Fix a few D3D bugs.<br />
|-<br />
| 0.4.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.2-win32.exe Download]<br />
| Add wireframe and point rendering. Add fog. Add flat shading. Fix light positions.<br />
|-<br />
| 0.4.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.1-win32.exe Download]<br />
| Add backface culling. Add alpha test functions. Add texture color key. Various DDraw and D3D fixes.<br />
|-<br />
| 0.4.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.0-win32.exe Download]<br />
| Add DirectX5 D3D support. Add locking of surface rects. Various minor fixes.<br />
|-<br />
| 0.3.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.2-win32.exe Download]<br />
| Rewrite texture management. Add RGBA4444 textures. Add alpha blending. Fix crash in XP.<br />
|-<br />
| 0.3.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.1-win32.exe Download]<br />
| Fix surface access. Eliminate redundant GL state changes. Some D3D fixes.<br />
|-<br />
| 0.3.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.0-win32.exe Download]<br />
| Improve installer. Add DirectX6 D3D support.<br />
|-<br />
| 0.2.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.3-win32.exe Download]<br />
| Add spot lights. Add specular lighting. Add transformed vertices support.<br />
|-<br />
| 0.2.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.2-win32.exe Download]<br />
| Fix threading bugs. Add Z buffer testing. Add point lights.<br />
|-<br />
| 0.2.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.1-win32.exe Download]<br />
| Add more texture shaders. Add Windows 8 registry fix. Various fixes.<br />
|-<br />
| 0.2.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.0-win32.exe Download]<br />
| Add preliminary IDirect3D7 interfaces. Fix DXGLCFG profiles.<br />
|-<br />
| 0.1.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.6-win32.exe Download]<br />
| Fix AMD/ATI compatibility. Validate parameters. Fix render thread.<br />
|-<br />
| 0.1.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.5-win32.exe Download]<br />
| Fix shader engine. Improved application compatibility. Screen smoothing in 8-bit modes.<br />
|-<br />
| 0.1.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.4-win32.exe Download]<br />
| Use shaders for rendering. Fix OpenGL memory leaks.<br />
|-<br />
| 0.1.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.3-win32.exe Download]<br />
| Optimize texture uploads. Add Z buffer support. Fix framebuffer object initialization.<br />
|-<br />
| 0.1.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.2-win32.exe Download]<br />
| Add COM initialization. Restore display mode when deleting DDraw object. Fix VSync.<br />
|-<br />
| 0.1.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.1-win32.exe Download]<br />
| Add mouse support. Improve render window drawing. Add vertical sync support.<br />
|-<br />
| 0.1.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.0-win32.exe Download]<br />
| Fix Windows XP compatibility. Add installer. Add application profile support. Add help file.<br />
|-<br />
| 0.0.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.7.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.7.zip Download]<br />
| Add DirectDrawEnumerate. Add color fill and colorkey blt(). Fix flipping. Add compatibility with Windows 8.<br />
|-<br />
| 0.0.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.6.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.6.zip Download]<br />
| Speed up surface locking. Fix non-multiple-of-8 modes.<br />
|-<br />
| 0.0.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.5.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.5.zip Download]<br />
| Add GetDC() GDI surface access. Add more tests to DXGLTest.<br />
|-<br />
| 0.0.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.4.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.4.zip Download]<br />
| Add all DDraw interface versions, add 15 and 24 bit modes, add low-res modes, fix memory leaks.<br />
|-<br />
| 0.0.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.3.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.3.zip Download]<br />
| Remove wxWidgets and GLEW, fix duplicate mode enumeration, multiple fixes.<br />
|-<br />
| 0.0.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.2.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.2.zip Download]<br />
| Add windowed mode.<br />
|-<br />
| 0.0.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.1.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.1.zip Download]<br />
| Initial preview release. Only direct access to primary surface.<br />
|}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3794
Progress
2024-01-17T16:40:00Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|100|task=Remove deprecated OpenGL APIs}}<br />
{{progression|1|task=Rewrite rendering backend}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Downloads&diff=3793
Downloads
2024-01-16T23:52:17Z
<p>William: </p>
<hr />
<div>DXGL is provided subject to the terms of the [http://www.gnu.org/licenses/lgpl-2.1.html GNU Lesser General Public License, version 2.1].<br />
To install DXGL, simply download and run the Windows installer. To upgrade, install over the old version. All programs configured by the configuration tool or automatically added by the DXGL library will be automatically updated during the installation progress.<br />
<br />
=== Updgrade notes ===<br />
If you upgrade from DXGL 0.5.8 or earlier, the configuration format will be changed, and earlier versions of DXGL will no longer recognize the profiles. In addition, any profiles generated by older versions of DXGL going forward will not be recognized by DXGL 0.5.9 or later. If you wish to migrate any old profiles generated after installing DXGL 0.5.9 or later, you will need to use Regedit to delete the "Configuration Version" registry value from the HKEY_CURRENT_USER\SOFTWARE\DXGL registry key to force the upgrade to be run again. <br />
<br />
The current available version of DXGL is 0.5.21. Please click one of the links below to download.<br />
<br />
DXGL 0.5.15 and newer now come in two versions, a standard version requiring at least Windows Vista SP2 and a SSE2-capable processor, and a legacy version with the same requirements as previous versions.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.21-win32.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.21-win32-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/dxgl-src-0.5.21.zip Source code]<br />
<br />
==Experimental versions==<br />
DXGL has been built in Visual Studio 2008 and Visual Studio 2005. These builds are experimental and are compatible with Windows 2000 and up. The VS2005 build is built in Multi-Byte Character Set mode and may not be compatible with installation paths containing characters that are not part of your operating system’s ANSI character set.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.21-win32-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.21-win32-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
Please see below for older versions.<br />
<br />
== Experimental x64 version ==<br />
DXGL is now available in an x64 version, for use with x64 programs. This version is not compatible with 32-bit programs, and should only be downloaded when needed.<br />
OS requirements are the same as for the 32-bit versions, except that the x64 version is required and installation will be canceled if a 32-bit version of Windows is detected.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.21-x64.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.21-x64-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.21-x64-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.21-x64-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
== Version history ==<br />
<br />
<br />
{| border="1"<br />
! Version<br />
! Source<br />
! Binary<br />
! Major changes<br />
|-<br />
| 0.5.21<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.21.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.21-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.21-win32-msvc10.exe Download (legacy)]<br />
|Prevent screensaver when program is active. Rewrite profile update. Add portable install. Add debug symbols.<br />
|-<br />
| 0.5.20<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.20.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.20-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.20-win32-msvc10.exe Download (legacy)]<br />
|Rewrite surface structures. Partially implement hardware accelerated scaled primary.<br />
|-<br />
| 0.5.19<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.19.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.19-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.19-win32-msvc10.exe Download (legacy)]<br />
|Add x64 build. Add shader compatibility with OpenGL 3.x. Fix some API bugs.<br />
|-<br />
| 0.5.18<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.18.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.18-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.18-win32-msvc10.exe Download (legacy)]<br />
|Migrate source code to GitHub. Add basic overlay surface support. Add scaling for windowed mode applications.<br />
|-<br />
| 0.5.17<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.17.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.17-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.17-win32-msvc10.exe Download (legacy)]<br />
|Add VS2005 and VS2008 builds. Change debug tracing to a .ini option. Fix profile directory SHA256 hashes. Add included directive to .ini files and support alternate dxgl.cfg configuration file.<br />
|-<br />
| 0.5.16<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.16.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.16-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.16-win32-msvc10.exe Download (legacy)]<br />
|Upgrade VC2017 to VC2019.&nbsp; Add some improvements to DDraw API.&nbsp; Add color format conversions for several surface formats.&nbsp; Add 1, 2, and 4-bit pixel formats.&nbsp; Add packed YUV pixel formats.<br />
|-<br />
| 0.5.15<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.15.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.15-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.15-win32-msvc10.exe Download (legacy)]<br />
|Add VC2017 build. Add Wine DLL overrides. Fix uninstaller to clean up files and registry. Improve color palette support. Improve 512×448 scaling mode. Several bug fixes.<br />
|-<br />
| 0.5.14<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.14.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.14-win32.exe Download]<br />
|Add offline help. Add mouse related hooks including a contributed addition. Improve window mode. Add custom scaling options. Support saving INI files. Fix a few bugs.<br />
|-<br />
| 0.5.13<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.13.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.13-win32.exe Download]<br />
|New DXGL Config application. Improved color depth and display mode selections. Add debug options and rendering hacks. Fix a few bugs.<br />
|-<br />
| 0.5.12<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.12.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.12-win32.exe Download]<br />
|Fix window mode. Add .ini configuration support. Add debug options. Add color key override. Add single buffer display mode.<br />
|-<br />
| 0.5.11<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.11.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.11-win32.exe Download]<br />
|Bug fixes. Downgrade runtime to VS2010. Add first pass scaling mode and forced SSAA.<br />
|-<br />
| 0.5.10<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.10.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.10-win32.exe Download]<br />
| Minor bug fixes. Optimization for shader cache. Add non-minimizing windowed borderless modes.<br />
|-<br />
| 0.5.9<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.9.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.9-win32.exe Download]<br />
| Minor clipper fixes. Isolate most of renderer backend from frontend API. Overhaul installer and configuration.<br />
|-<br />
| 0.5.8<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.8.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.8-win32.exe Download]<br />
| Upgrade compiler to Visual Studio 2013. Add forced-window mode. Add borderless-window (non-exclusive) fullscreen mode.<br />
|-<br />
| 0.5.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.7.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.7-win32.exe Download]<br />
| Minimize fullscreen mode on Alt+Tab and restore desktop resolution. Fix D3DTLVERTEX rendering. Fix D3D color key support. Add depth fill Blt.<br />
|-<br />
| 0.5.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.6-win32.exe Download]<br />
| More API improvements. Improve dithering performance. Full ROP support. Windows 10 compatibility.<br />
|-<br />
| 0.5.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.5-win32.exe Download]<br />
| API improvements. Add mipmap texture support. Better Direct3D2 texture support. Adjustments to transformed vertices. Add dithering.<br />
|-<br />
| 0.5.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.4-win32.exe Download]<br />
| Blt fixes. Color key fix. Add destination and colorspace color key. Add 90 degree blt rotation. Add blt mirroring.<br />
|-<br />
| 0.5.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.3-win32.exe Download]<br />
| Surface clipper support. Same source/dest blt fix. Dynamic blt shader generation. Partial ROP support.<br />
|-<br />
| 0.5.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.2-win32.exe Download]<br />
| Better Windows 8.1 compatibility. High DPI support. Custom aspect ratio support. Better 8-bit color support.<br />
|-<br />
| 0.5.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.1-win32.exe Download]<br />
| Fix Intel graphics compatibility. Support ARB_sampler_objects for more accurate D3D emulation. Fix several bugs. Add tracing support to source code.<br />
|-<br />
| 0.5.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.0-win32.exe Download]<br />
| Add partial DirectX2 D3D support. Enable D3D support on all builds. Improve Windows 8 compatibility. Fix a few D3D bugs.<br />
|-<br />
| 0.4.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.2-win32.exe Download]<br />
| Add wireframe and point rendering. Add fog. Add flat shading. Fix light positions.<br />
|-<br />
| 0.4.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.1-win32.exe Download]<br />
| Add backface culling. Add alpha test functions. Add texture color key. Various DDraw and D3D fixes.<br />
|-<br />
| 0.4.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.0-win32.exe Download]<br />
| Add DirectX5 D3D support. Add locking of surface rects. Various minor fixes.<br />
|-<br />
| 0.3.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.2-win32.exe Download]<br />
| Rewrite texture management. Add RGBA4444 textures. Add alpha blending. Fix crash in XP.<br />
|-<br />
| 0.3.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.1-win32.exe Download]<br />
| Fix surface access. Eliminate redundant GL state changes. Some D3D fixes.<br />
|-<br />
| 0.3.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.0-win32.exe Download]<br />
| Improve installer. Add DirectX6 D3D support.<br />
|-<br />
| 0.2.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.3-win32.exe Download]<br />
| Add spot lights. Add specular lighting. Add transformed vertices support.<br />
|-<br />
| 0.2.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.2-win32.exe Download]<br />
| Fix threading bugs. Add Z buffer testing. Add point lights.<br />
|-<br />
| 0.2.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.1-win32.exe Download]<br />
| Add more texture shaders. Add Windows 8 registry fix. Various fixes.<br />
|-<br />
| 0.2.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.0-win32.exe Download]<br />
| Add preliminary IDirect3D7 interfaces. Fix DXGLCFG profiles.<br />
|-<br />
| 0.1.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.6-win32.exe Download]<br />
| Fix AMD/ATI compatibility. Validate parameters. Fix render thread.<br />
|-<br />
| 0.1.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.5-win32.exe Download]<br />
| Fix shader engine. Improved application compatibility. Screen smoothing in 8-bit modes.<br />
|-<br />
| 0.1.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.4-win32.exe Download]<br />
| Use shaders for rendering. Fix OpenGL memory leaks.<br />
|-<br />
| 0.1.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.3-win32.exe Download]<br />
| Optimize texture uploads. Add Z buffer support. Fix framebuffer object initialization.<br />
|-<br />
| 0.1.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.2-win32.exe Download]<br />
| Add COM initialization. Restore display mode when deleting DDraw object. Fix VSync.<br />
|-<br />
| 0.1.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.1-win32.exe Download]<br />
| Add mouse support. Improve render window drawing. Add vertical sync support.<br />
|-<br />
| 0.1.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.0-win32.exe Download]<br />
| Fix Windows XP compatibility. Add installer. Add application profile support. Add help file.<br />
|-<br />
| 0.0.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.7.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.7.zip Download]<br />
| Add DirectDrawEnumerate. Add color fill and colorkey blt(). Fix flipping. Add compatibility with Windows 8.<br />
|-<br />
| 0.0.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.6.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.6.zip Download]<br />
| Speed up surface locking. Fix non-multiple-of-8 modes.<br />
|-<br />
| 0.0.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.5.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.5.zip Download]<br />
| Add GetDC() GDI surface access. Add more tests to DXGLTest.<br />
|-<br />
| 0.0.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.4.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.4.zip Download]<br />
| Add all DDraw interface versions, add 15 and 24 bit modes, add low-res modes, fix memory leaks.<br />
|-<br />
| 0.0.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.3.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.3.zip Download]<br />
| Remove wxWidgets and GLEW, fix duplicate mode enumeration, multiple fixes.<br />
|-<br />
| 0.0.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.2.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.2.zip Download]<br />
| Add windowed mode.<br />
|-<br />
| 0.0.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.1.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.1.zip Download]<br />
| Initial preview release. Only direct access to primary surface.<br />
|}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3792
Progress
2024-01-15T01:48:47Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.21<br />
{{progression|100|task=Disable screensaver when active}}<br />
{{progression|100|task=Fix infinite loops in upgrade}}<br />
{{progression|0|task=Portable mode for installer}}<br />
<br />
* 0.6.0<br />
{{progression|100|task=Remove deprecated OpenGL APIs}}<br />
{{progression|1|task=Rewrite rendering backend}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3791
Progress
2024-01-04T03:49:13Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.21<br />
{{progression|100|task=Disable screensaver when active}}<br />
{{progression|75|task=Fix infinite loops in upgrade}}<br />
{{progression|0|task=Portable mode for installer}}<br />
<br />
* 0.6.0<br />
{{progression|100|task=Remove deprecated OpenGL APIs}}<br />
{{progression|1|task=Rewrite rendering backend}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3790
Progress
2023-12-12T15:20:39Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.21<br />
{{progression|100|task=Disable screensaver when active}}<br />
{{progression|0|task=Portable mode for installer}}<br />
{{progression|0|task=Fix infinite loops in upgrade}}<br />
<br />
* 0.6.0<br />
{{progression|100|task=Remove deprecated OpenGL APIs}}<br />
{{progression|1|task=Rewrite rendering backend}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Main_Page&diff=3789
Main Page
2023-05-15T01:42:53Z
<p>William: /* System Requirements */ Vista no longer supported in VS2022 builds.</p>
<hr />
<div>__NOTOC__ <br />
== Introduction ==<br />
<br />
DXGL is a free replacement for the Windows ddraw.dll library, running on OpenGL. It is designed to overcome driver bugs, particularly in Windows Vista and newer operating systems. It also adds various enhancements to the graphics output such as display scaling and filtering options.<br />
DXGL supports the DirectX 7.0 graphics APIs, however it is currently under development and does not work with many programs.<br />
<br />
DXGL is currently in an alpha stage, but several applications and games already work.<br />
<br />
== System Requirements ==<br />
<br />
* Windows 7 (with SP1), 8, 8.1, 10, or 11 (standard build)<br />
* Windows XP (with SP3), Vista, 7, 8, 8.1, 10, or 11 (legacy build)<br />
** Also compatible with most versions of Wine, by setting the ddraw DLL override to "native, builtin" which is done automatically at installation.<br />
** Not compatible with Windows 10 in S mode.<br />
* OpenGL 2.0 or higher compatible video card<br />
** Requires support for Framebuffer objects<br />
** Requires support for hardware accelerated non-power-of-two textures<br />
** OpenGL 3.2 or higher recommended.<br />
* The standard build requires a SSE2-capable processor; older processors require the legacy build.<br />
* For the standard build, Visual C++ 2015-2022 x86 runtime, which can be found at https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads (will be installed if not present)<br />
* For the legacy build, Visual C++ 2010 x86 runtime, available at https://www.microsoft.com/en-us/download/details.aspx?id=8328 (will be installed if not present)<br />
<br />
=== [[Downloads|Download DXGL]] ===<br />
=== [[Source|Get source code]] ===<br />
=== [[Build_from_source|Build instructions]] ===<br />
=== <span class="plainlinks">[https://www.dxgl.info/appdb AppDB]</span> ===<br />
=== [[Bug_reports|Bug reports]] ===<br />
<br />
=== <span class="plainlinks">[https://forum.dxgl.info Forums]</span> ===<br />
<br />
At this time, the DXGL Wiki is currently under construction.</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3788
Progress
2022-10-02T18:43:33Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|100|task=Remove deprecated OpenGL APIs}}<br />
{{progression|1|task=Rewrite rendering backend}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Downloads&diff=3787
Downloads
2022-04-16T19:10:06Z
<p>William: 0.5.20 release</p>
<hr />
<div>DXGL is provided subject to the terms of the [http://www.gnu.org/licenses/lgpl-2.1.html GNU Lesser General Public License, version 2.1].<br />
To install DXGL, simply download and run the Windows installer. To upgrade, install over the old version. All programs configured by the configuration tool or automatically added by the DXGL library will be automatically updated during the installation progress.<br />
<br />
=== Updgrade notes ===<br />
If you upgrade from DXGL 0.5.8 or earlier, the configuration format will be changed, and earlier versions of DXGL will no longer recognize the profiles. In addition, any profiles generated by older versions of DXGL going forward will not be recognized by DXGL 0.5.9 or later. If you wish to migrate any old profiles generated after installing DXGL 0.5.9 or later, you will need to use Regedit to delete the "Configuration Version" registry value from the HKEY_CURRENT_USER\SOFTWARE\DXGL registry key to force the upgrade to be run again. <br />
<br />
The current available version of DXGL is 0.5.20. Please click one of the links below to download.<br />
<br />
DXGL 0.5.15 and newer now come in two versions, a standard version requiring at least Windows Vista SP2 and a SSE2-capable processor, and a legacy version with the same requirements as previous versions.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.20-win32.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.20-win32-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/dxgl-src-0.5.20.zip Source code]<br />
<br />
==Experimental versions==<br />
DXGL has been built in Visual Studio 2008 and Visual Studio 2005. These builds are experimental and are compatible with Windows 2000 and up. The VS2005 build is built in Multi-Byte Character Set mode and may not be compatible with installation paths containing characters that are not part of your operating system’s ANSI character set.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.20-win32-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.20-win32-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
Please see below for older versions.<br />
<br />
== Experimental x64 version ==<br />
DXGL is now available in an x64 version, for use with x64 programs. This version is not compatible with 32-bit programs, and should only be downloaded when needed.<br />
OS requirements are the same as for the 32-bit versions, except that the x64 version is required and installation will be canceled if a 32-bit version of Windows is detected.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.20-x64.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.20-x64-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.20-x64-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.20-x64-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
== Version history ==<br />
<br />
<br />
{| border="1"<br />
! Version<br />
! Source<br />
! Binary<br />
! Major changes<br />
|-<br />
| 0.5.20<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.20.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.20-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.20-win32-msvc10.exe Download (legacy)]<br />
|Rewrite surface structures. Partially implement hardware accelerated scaled primary.<br />
|-<br />
| 0.5.19<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.19.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.19-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.19-win32-msvc10.exe Download (legacy)]<br />
|Add x64 build. Add shader compatibility with OpenGL 3.x. Fix some API bugs.<br />
|-<br />
| 0.5.18<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.18.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.18-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.18-win32-msvc10.exe Download (legacy)]<br />
|Migrate source code to GitHub. Add basic overlay surface support. Add scaling for windowed mode applications.<br />
|-<br />
| 0.5.17<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.17.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.17-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.17-win32-msvc10.exe Download (legacy)]<br />
|Add VS2005 and VS2008 builds. Change debug tracing to a .ini option. Fix profile directory SHA256 hashes. Add included directive to .ini files and support alternate dxgl.cfg configuration file.<br />
|-<br />
| 0.5.16<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.16.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.16-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.16-win32-msvc10.exe Download (legacy)]<br />
|Upgrade VC2017 to VC2019.&nbsp; Add some improvements to DDraw API.&nbsp; Add color format conversions for several surface formats.&nbsp; Add 1, 2, and 4-bit pixel formats.&nbsp; Add packed YUV pixel formats.<br />
|-<br />
| 0.5.15<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.15.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.15-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.15-win32-msvc10.exe Download (legacy)]<br />
|Add VC2017 build. Add Wine DLL overrides. Fix uninstaller to clean up files and registry. Improve color palette support. Improve 512×448 scaling mode. Several bug fixes.<br />
|-<br />
| 0.5.14<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.14.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.14-win32.exe Download]<br />
|Add offline help. Add mouse related hooks including a contributed addition. Improve window mode. Add custom scaling options. Support saving INI files. Fix a few bugs.<br />
|-<br />
| 0.5.13<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.13.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.13-win32.exe Download]<br />
|New DXGL Config application. Improved color depth and display mode selections. Add debug options and rendering hacks. Fix a few bugs.<br />
|-<br />
| 0.5.12<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.12.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.12-win32.exe Download]<br />
|Fix window mode. Add .ini configuration support. Add debug options. Add color key override. Add single buffer display mode.<br />
|-<br />
| 0.5.11<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.11.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.11-win32.exe Download]<br />
|Bug fixes. Downgrade runtime to VS2010. Add first pass scaling mode and forced SSAA.<br />
|-<br />
| 0.5.10<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.10.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.10-win32.exe Download]<br />
| Minor bug fixes. Optimization for shader cache. Add non-minimizing windowed borderless modes.<br />
|-<br />
| 0.5.9<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.9.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.9-win32.exe Download]<br />
| Minor clipper fixes. Isolate most of renderer backend from frontend API. Overhaul installer and configuration.<br />
|-<br />
| 0.5.8<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.8.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.8-win32.exe Download]<br />
| Upgrade compiler to Visual Studio 2013. Add forced-window mode. Add borderless-window (non-exclusive) fullscreen mode.<br />
|-<br />
| 0.5.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.7.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.7-win32.exe Download]<br />
| Minimize fullscreen mode on Alt+Tab and restore desktop resolution. Fix D3DTLVERTEX rendering. Fix D3D color key support. Add depth fill Blt.<br />
|-<br />
| 0.5.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.6-win32.exe Download]<br />
| More API improvements. Improve dithering performance. Full ROP support. Windows 10 compatibility.<br />
|-<br />
| 0.5.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.5-win32.exe Download]<br />
| API improvements. Add mipmap texture support. Better Direct3D2 texture support. Adjustments to transformed vertices. Add dithering.<br />
|-<br />
| 0.5.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.4-win32.exe Download]<br />
| Blt fixes. Color key fix. Add destination and colorspace color key. Add 90 degree blt rotation. Add blt mirroring.<br />
|-<br />
| 0.5.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.3-win32.exe Download]<br />
| Surface clipper support. Same source/dest blt fix. Dynamic blt shader generation. Partial ROP support.<br />
|-<br />
| 0.5.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.2-win32.exe Download]<br />
| Better Windows 8.1 compatibility. High DPI support. Custom aspect ratio support. Better 8-bit color support.<br />
|-<br />
| 0.5.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.1-win32.exe Download]<br />
| Fix Intel graphics compatibility. Support ARB_sampler_objects for more accurate D3D emulation. Fix several bugs. Add tracing support to source code.<br />
|-<br />
| 0.5.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.0-win32.exe Download]<br />
| Add partial DirectX2 D3D support. Enable D3D support on all builds. Improve Windows 8 compatibility. Fix a few D3D bugs.<br />
|-<br />
| 0.4.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.2-win32.exe Download]<br />
| Add wireframe and point rendering. Add fog. Add flat shading. Fix light positions.<br />
|-<br />
| 0.4.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.1-win32.exe Download]<br />
| Add backface culling. Add alpha test functions. Add texture color key. Various DDraw and D3D fixes.<br />
|-<br />
| 0.4.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.0-win32.exe Download]<br />
| Add DirectX5 D3D support. Add locking of surface rects. Various minor fixes.<br />
|-<br />
| 0.3.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.2-win32.exe Download]<br />
| Rewrite texture management. Add RGBA4444 textures. Add alpha blending. Fix crash in XP.<br />
|-<br />
| 0.3.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.1-win32.exe Download]<br />
| Fix surface access. Eliminate redundant GL state changes. Some D3D fixes.<br />
|-<br />
| 0.3.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.0-win32.exe Download]<br />
| Improve installer. Add DirectX6 D3D support.<br />
|-<br />
| 0.2.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.3-win32.exe Download]<br />
| Add spot lights. Add specular lighting. Add transformed vertices support.<br />
|-<br />
| 0.2.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.2-win32.exe Download]<br />
| Fix threading bugs. Add Z buffer testing. Add point lights.<br />
|-<br />
| 0.2.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.1-win32.exe Download]<br />
| Add more texture shaders. Add Windows 8 registry fix. Various fixes.<br />
|-<br />
| 0.2.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.0-win32.exe Download]<br />
| Add preliminary IDirect3D7 interfaces. Fix DXGLCFG profiles.<br />
|-<br />
| 0.1.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.6-win32.exe Download]<br />
| Fix AMD/ATI compatibility. Validate parameters. Fix render thread.<br />
|-<br />
| 0.1.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.5-win32.exe Download]<br />
| Fix shader engine. Improved application compatibility. Screen smoothing in 8-bit modes.<br />
|-<br />
| 0.1.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.4-win32.exe Download]<br />
| Use shaders for rendering. Fix OpenGL memory leaks.<br />
|-<br />
| 0.1.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.3-win32.exe Download]<br />
| Optimize texture uploads. Add Z buffer support. Fix framebuffer object initialization.<br />
|-<br />
| 0.1.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.2-win32.exe Download]<br />
| Add COM initialization. Restore display mode when deleting DDraw object. Fix VSync.<br />
|-<br />
| 0.1.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.1-win32.exe Download]<br />
| Add mouse support. Improve render window drawing. Add vertical sync support.<br />
|-<br />
| 0.1.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.0-win32.exe Download]<br />
| Fix Windows XP compatibility. Add installer. Add application profile support. Add help file.<br />
|-<br />
| 0.0.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.7.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.7.zip Download]<br />
| Add DirectDrawEnumerate. Add color fill and colorkey blt(). Fix flipping. Add compatibility with Windows 8.<br />
|-<br />
| 0.0.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.6.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.6.zip Download]<br />
| Speed up surface locking. Fix non-multiple-of-8 modes.<br />
|-<br />
| 0.0.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.5.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.5.zip Download]<br />
| Add GetDC() GDI surface access. Add more tests to DXGLTest.<br />
|-<br />
| 0.0.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.4.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.4.zip Download]<br />
| Add all DDraw interface versions, add 15 and 24 bit modes, add low-res modes, fix memory leaks.<br />
|-<br />
| 0.0.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.3.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.3.zip Download]<br />
| Remove wxWidgets and GLEW, fix duplicate mode enumeration, multiple fixes.<br />
|-<br />
| 0.0.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.2.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.2.zip Download]<br />
| Add windowed mode.<br />
|-<br />
| 0.0.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.1.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.1.zip Download]<br />
| Initial preview release. Only direct access to primary surface.<br />
|}</div>
William
https://dxgl.org/w/index.php?title=Main_Page&diff=3786
Main Page
2022-04-16T19:08:21Z
<p>William: /* System Requirements */</p>
<hr />
<div>__NOTOC__ <br />
== Introduction ==<br />
<br />
DXGL is a free replacement for the Windows ddraw.dll library, running on OpenGL. It is designed to overcome driver bugs, particularly in Windows Vista and newer operating systems. It also adds various enhancements to the graphics output such as display scaling and filtering options.<br />
DXGL supports the DirectX 7.0 graphics APIs, however it is currently under development and does not work with many programs.<br />
<br />
DXGL is currently in an alpha stage, but several applications and games already work.<br />
<br />
== System Requirements ==<br />
<br />
* Windows Vista (with SP2), 7 (with SP1), 8, 8.1, 10, or 11 (standard build)<br />
* Windows XP (with SP3), Vista, 7, 8, 8.1, 10, or 11 (legacy build)<br />
** Also compatible with most versions of Wine, by setting the ddraw DLL override to "native, builtin" which is done automatically at installation.<br />
** Not compatible with Windows 10 in S mode.<br />
* OpenGL 2.0 or higher compatible video card<br />
** Requires support for Framebuffer objects<br />
** Requires support for hardware accelerated non-power-of-two textures<br />
** OpenGL 3.2 or higher recommended.<br />
* The standard build requires a SSE2-capable processor; older processors require the legacy build.<br />
* For the standard build, Visual C++ 2015-2022 x86 runtime, which can be found at https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads (will be installed if not present)<br />
* For the legacy build, Visual C++ 2010 x86 runtime, available at https://www.microsoft.com/en-us/download/details.aspx?id=8328 (will be installed if not present)<br />
<br />
=== [[Downloads|Download DXGL]] ===<br />
=== [[Source|Get source code]] ===<br />
=== [[Build_from_source|Build instructions]] ===<br />
=== <span class="plainlinks">[https://www.dxgl.info/appdb AppDB]</span> ===<br />
=== [[Bug_reports|Bug reports]] ===<br />
<br />
=== <span class="plainlinks">[https://forum.dxgl.info Forums]</span> ===<br />
<br />
At this time, the DXGL Wiki is currently under construction.</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3785
Progress
2021-12-10T19:57:13Z
<p>William: /* Roadmap */ Update roadmap</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.20<br />
{{progression|100|task=Support VS2022}}<br />
{{progression|90|task=Refactor surface storage}}<br />
{{progression|0|task=Improve scaled color key Blt support}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
{{progression|0|task=Separate VS2010 and VS2022 project files}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Main_Page&diff=3779
Main Page
2021-06-30T00:30:32Z
<p>William: /* System Requirements */</p>
<hr />
<div>__NOTOC__ <br />
== Introduction ==<br />
<br />
DXGL is a free replacement for the Windows ddraw.dll library, running on OpenGL. It is designed to overcome driver bugs, particularly in Windows Vista and newer operating systems. It also adds various enhancements to the graphics output such as display scaling and filtering options.<br />
DXGL supports the DirectX 7.0 graphics APIs, however it is currently under development and does not work with many programs.<br />
<br />
DXGL is currently in an alpha stage, but several applications and games already work.<br />
<br />
== System Requirements ==<br />
<br />
* Windows Vista (with SP2), 7 (with SP1), 8, 8.1, 10, or 11 (standard build)<br />
* Windows XP (with SP3), Vista, 7, 8, 8.1, 10, or 11 (legacy build)<br />
** Also compatible with most versions of Wine, by setting the ddraw DLL override to "native, builtin" which is done automatically at installation.<br />
** Not compatible with Windows 10 in S mode.<br />
* OpenGL 2.0 or higher compatible video card<br />
** Requires support for Framebuffer objects<br />
** Requires support for hardware accelerated non-power-of-two textures<br />
** OpenGL 3.2 or higher recommended.<br />
* The standard build requires a SSE2-capable processor; older processors require the legacy build.<br />
* For the standard build, Visual C++ 2015-2019 x86 runtime, which can be found at https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads (will be installed if not present)<br />
* For the legacy build, Visual C++ 2010 x86 runtime, available at https://www.microsoft.com/en-us/download/details.aspx?id=8328 (will be installed if not present)<br />
<br />
=== [[Downloads|Download DXGL]] ===<br />
=== [[Source|Get source code]] ===<br />
=== [[Build_from_source|Build instructions]] ===<br />
=== <span class="plainlinks">[https://www.dxgl.info/appdb AppDB]</span> ===<br />
=== [[Bug_reports|Bug reports]] ===<br />
<br />
=== <span class="plainlinks">[https://forum.dxgl.info Forums]</span> ===<br />
<br />
At this time, the DXGL Wiki is currently under construction.</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3758
Progress
2021-05-05T00:12:20Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.20 or 0.6.0<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|0|task=Separate VS2010 and VS2019 project files}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3726
Progress
2021-04-04T23:59:26Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.20 or 0.6.0<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3725
Progress
2021-04-04T23:00:45Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.20 or 0.6.0<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|0|task=Support dark mode in DXGL Config}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3723
Progress
2021-04-04T02:36:16Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.20 or 0.6.0<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|0|task=Fix x64 installer}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Privacy_policy&diff=3603
Privacy policy
2021-01-28T00:49:12Z
<p>William: </p>
<hr />
<div>__NOTOC__<br />
Please read the privacy policy before using this site.<br />
<br />
Please look at the bottom of the page at https://dxgl.org/wiki/Privacy_policy to determine the last time the Privacy Policy was modified. To view changes, please [https://dxgl.org/w/index.php?title=Privacy_policy&action=history click here].<br />
<br />
== Information automatically gathered ==<br />
As with all web servers, when you access this site, the following standard information may be automatically stored by the server:<br />
* The current date and time<br />
* The page requested<br />
* Your user agent ID (which tells the type of browser you are using)<br />
* IP address of your Internet connection.<br />
These logs are occasionally deleted to create a `clean slate` when I debug my site, and sometimes to speed up backup operations, as I treat them as temporary.<br />
<br />
=== BitTorrent downloads ===<br />
This website may offer one or more downloads using the "BitTorrent" protocol, for the specific purpose to distribute archive copies of the DXGL software and website. In order to deliver the content, your IP address will be temporarily stored and shared with other users, for the sole purpose to facilitate the acceleration of the content's downloading. This is so your BitTorrent client can share downloaded content with other users and help accelerate the delivery of the content. In addition, your BitTorrent client may publicly share your IP address over decentralized networks for the same purpose. Once you disconnect your BitTorrent client, the server will soon discontinue sharing your IP address.<br />
<br />
Since for the purpose of avoiding the distribution of illegal or infringing files the BitTorrent tracker is programmed to only accept Torrent info-hashes authorized by this site, copyright protection organizations are requested to refrain from scraping IP addresses from this tracker.<br />
<br />
The tracker is available via unencrypted HTTP for the purpose of compatibility with older and/or embedded BitTorrent clients. If your client supports HTTPS tracker URLs, you may modify the tracker portion of the Magnet link from http to https before pasting into your client.<br />
<br />
=== Protection against unauthorized access ===<br />
This server may contain one or more software applications designed to prevent unauthorized access to secure areas of the server. In this case, the logs generated by this security software will be e-mailed to a special mailbox on the server, and may be retained indefinitely and disclosed to the attacker's ISP as described under Use of Information.<br />
* Abuse logs will NOT be generated through normal, unauthenticated browsing of this website and only apply to private, administrative areas. For normal browsing, the rest of the ''Information Automatically Gathered'' section applies.<br />
<br />
== Cookies ==<br />
* Certain areas of this website use "cookies" so that the software can track logins and session information. Other than for the purpose of validating logins, these cookies are not used to identify you.<br />
* In addition, as described in the "Matomo" section below, one or more anonymized cookies are used for site analytics purposes.<br />
* You may disable cookies on your web browser if you wish; however you will be logged out of any area of the site using a login.<br />
* Embedded YouTube videos are set to use "Privacy-enhanced mode" and will not set cookies automatically on your system. YouTube however may set cookies as soon as you click to play those videos. For privacy information regarding YouTube, please see https://www.google.com/intl/en/policies/privacy/<br />
=== Matomo ===<br />
* This website uses the Matomo platform (formerly known as Piwik) in order to gather aggregated information regarding the use of this website. No personal information is gathered as a result of this software, with the exception of IP address which will be used for statistical purposes.<br />
** This information is stored locally on the web server (this is self-hosted software), and will not be disclosed except under very limited circumstances as explained under the "Use of information" section.<br />
** Collected IP addresses will be partially anonymized; IPv4 addresses will have the last two octets set to 0 and IPv6 addresses will have the last 80 bits set to 0.<br />
** You may disable tracking by two methods.<br />
*** If your browser has "Do Not Track" enabled, this will automatically disable analytics collection.<br />
*** If you do not have "Do Not Track" enabled or your browser does not support this feature, you may use the following opt-out checkbox to disable or re-enable tracking on this website:<br />
{{#widget:PiwikOptout}}<br />
<br />
== Advertising ==<br />
* Third party vendors, including Google, use cookies to serve ads based on a user's prior visits to this website.<br />
* Google's use of the DART cookie enables it and its partners to serve ads to you based on your visit to this site and/or other sites on the Internet.<br />
* Users may opt out of personalized advertising by visiting Ads Settings ([https://www.google.com/settings/ads https://www.google.com/settings/ads]). In addition, you may visit [https://optout.aboutads.info/ https://optout.aboutads.info/] to opt out of personalized advertising for a variety of ad networks.<br />
<br />
<!--<br />
== WOT Ratings ==<br />
This website supports Web of Trust ratings using the WOT widget, documentation of which is at [https://www.mywot.com/wiki/WOT_widget https://www.mywot.com/wiki/WOT_widget], to provide web safety ratings for external websites. Certain non-identifying information may be collected as a result of the addon, and privacy information may be found at [https://www.mywot.com/en/privacy https://www.mywot.com/en/privacy].<br />
* External websites are denoted with a colored circle based on the WOT trustworthiness of the linked website. Please note that these external websites have their own policies, for which the owner of dxgl.org, dxgl.info and williamfeely.info is not responsible. --><br />
<br />
== Information you provide ==<br />
You may provide information to this website in the following ways:<br />
* By creating or editing a page (including discussion pages)<br />
* By requesting a Wiki account or confirming account creation<br />
* If you add to a discussion page while not logged on, your IP address will be recorded.<br />
* If you request a Wiki account, you will need to provide a valid E-mail address.<br />
* Any user may create a Bugzilla account, which is separate from the MediaWiki system. An E-mail address is required to send the activation E-mail and is used as your username.<br />
** Please note that E-mail addresses are publicly displayed when entering bug reports, so consider getting a free `disposable` account for use on public services such as Bugzilla.<br />
* Any user may create an account on the AppDB system, which is also separate from the MediaWiki system.<br />
** E-mail addresses in the AppDB system are not publicly displayed, but registered users may be able to e-mail you through the site if you submit any content to the AppDB.<br />
* This website has a phpBB based forum, with separate registration. You may control the availability of your information to other users via the User Control Panel link at the top left of the page. E-mail addresses are not disclosed to other users, although users may be able to e-mail each other using a web based form.<br />
<br />
== Minimum age to use services ==<br />
In order to ensure compliance with the laws of the United States and to ensure personal data is not collected from underage users, you must be 13 years of age or older to register an account on this website. Any user account found to belong to a user under 13 years of age (or the minimum age for your country, often 16 in Europe) will have that account information permanently deleted without notice.<br />
* No personal information entered into this website will be used for any form of targeted marketing, however please note that if advertising is ever added to this website it may perform said marketing using data that isn't part of any user account maintained on this site (such data is strictly confidential and only disclosed per the terms below).<br />
* This section does not apply to usage of this site where no personal data is provided. However, if you are a minor please remember to get your parents' permission before installing any software provided on this website.<br />
<br />
== Use of information ==<br />
* Server logs may be used for the purpose of diagnosing site problems and ensuring the security of the service.<br />
* All page edits are automatically made visible to the public.<br />
* Your username, or IP address if you are not logged on, will be visible to the public whenever an edit is made.<br />
* IP addresses or user names will act as your signature on any edits or discussions on this site, and will be used to help protect against abuse.<br />
* E-mail addresses will be used to send a validation link upon account registration. If an account is approved, it will be associated with your username for the life of your account. E-mail addresses collected through the Contact form or by direct e-mail will be used for the sole purpose of responding to your message.<br />
* The Bugzilla system will display your e-mail address along with any bug report you submit.<br />
* The forum will collect the IP address used to register for an account, as well as your E-mail address, which will be available to other registered members. This information is associated with your username for the life of the account.<br />
* Information submitted to this website will not be given to third parties, except in special circumstances:<br />
** If abuse of this site is detected, your information may be disclosed to your Internet provider's abuse contact.<br />
** In case of spam, your information (or the information provided by the spambot) may be reported to the provider's abuse contact as well as to anti-spam services, web safety forums, or trademark owners.<br />
** In extreme situations, such as criminal activity, information may be disclosed to the relevant authorities as the situation dictates.<br />
** Information may be disclosed in response to a valid legal order, warrant, or subpoena.<br />
*** Information will NOT be disclosed if a legal order is from a foreign country, and such disclosure would violate human rights laws or be in violation of United States law. In this unlikely scenario (politics are not allowed on this website) I would seek assistance from legal counsel before continuing.<br />
<br />
== Protection of information ==<br />
* To protect sensitive information, certain areas of this website are protected with TLS and strong encryption. To ensure maximum security and proper functionality, please make sure your web browser is up to date, as this site supports TLS 1.2 with Perfect Forward Secrecy on supported browsers.<br />
* A web browser supporting at least TLS 1.2 and SHA-2 certificates is required to access many parts of this website.<br />
* To ensure maximum protection, parts of the website that require HTTPS will be inaccessible over plaintext HTTP. In addition, the https part of the site will deliver a Strict Transport Security header to instruct your browser to only use HTTPS. This site has been submitted to HSTS preloading lists on all major web browsers, <br />
* To ensure the security of the connection you can check that the certificate has been issued by R3 (the Let's Encrypt intermediate). Any CA other than Let's Encrypt or R3 means that your connection has more than likely been compromised, and you should run an anti-malware program, or if you are on a work or school network check with your network administrator.<br />
** For additional information on the protection of your privacy when connecting to this website please visit https://www.grc.com/fingerprints.htm?domain=dxgl.org using a web browser that properly supports Extended Validation certificates (such as Chrome or Firefox) and ensure that "Gibson Research Corporation [US]" is displayed in the Address Bar. This will display the current fingerprint being used by dxgl.org so you can compare it with the fingerprint displayed in your web browser's certificate information.<br />
<br />
== External links ==<br />
* External links are provided for your convenience in certain areas of this site. Please note that they are subject to their own privacy practices, and you should review their privacy policies.<br />
<br />
== Removal of information ==<br />
If you have been granted a user name and would like it removed, please leave a message under the discussion tab of this page, with the title '''USERNAME REMOVAL'''. You must be logged on to the username that you wish to have removed.<br />
* Your username will still be associated to any contributions you have made, but I will blank out all personal information from the database.<br />
* To remove a Bugzilla account or any other account you may have on this website, please leave a message at https://dxgl.org/contact/ and I will remove the account from the Bugzilla system.<br />
* To remove a forum account, please send a Private Message to username William, and I will delete the username from the forums.<br />
<br />
== Access to data ==<br />
If you would like access to data collected as part of any user accounts, please leave a message at https://dxgl.org/contact/ using the e-mail address that matches your user account. If your e-mail address has changed, please make sure to change it in your user account before contacting, for security purposes.</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=3065
Progress
2021-01-17T04:20:20Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.20 or 0.6.0<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|50|task=Convert from C++ to C}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=2369
Progress
2021-01-03T02:10:12Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.20 or 0.6.0<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|25|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Privacy_policy&diff=1895
Privacy policy
2020-12-23T20:16:16Z
<p>William: Update domain for checking certificate</p>
<hr />
<div>__NOTOC__<br />
Please read the privacy policy before using this site.<br />
<br />
Please look at the bottom of the page at https://dxgl.org/wiki/Privacy_policy to determine the last time the Privacy Policy was modified. To view changes, please [https://dxgl.org/w/index.php?title=Privacy_policy&action=history click here].<br />
<br />
== Information automatically gathered ==<br />
As with all web servers, when you access this site, the following standard information may be automatically stored by the server:<br />
* The current date and time<br />
* The page requested<br />
* Your user agent ID (which tells the type of browser you are using)<br />
* IP address may be logged if a server error occurs; this is a limitation of Nginx error logging. For normal access your IP address will not be logged.<br />
These logs are occasionally deleted to create a `clean slate` when I debug my site, and sometimes to speed up backup operations, as I treat them as temporary.<br />
<br />
=== BitTorrent downloads ===<br />
This website may offer one or more downloads using the "BitTorrent" protocol, for the specific purpose to distribute archive copies of the DXGL software and website. In order to deliver the content, your IP address will be temporarily stored and shared with other users, for the sole purpose to facilitate the acceleration of the content's downloading. This is so your BitTorrent client can share downloaded content with other users and help accelerate the delivery of the content. In addition, your BitTorrent client may publicly share your IP address over decentralized networks for the same purpose. Once you disconnect your BitTorrent client, the server will soon discontinue sharing your IP address.<br />
<br />
Since for the purpose of avoiding the distribution of illegal or infringing files the BitTorrent tracker is programmed to only accept Torrent info-hashes authorized by this site, copyright protection organizations are requested to refrain from scraping IP addresses from this tracker.<br />
<br />
The tracker is available via unencrypted HTTP for the purpose of compatibility with older and/or embedded BitTorrent clients. If your client supports HTTPS tracker URLs, you may modify the tracker portion of the Magnet link from http to https before pasting into your client.<br />
<br />
=== Protection against unauthorized access ===<br />
This server may contain one or more software applications designed to prevent unauthorized access to secure areas of the server. In this case, the logs generated by this security software will be e-mailed to a special mailbox on the server, and may be retained indefinitely and disclosed to the attacker's ISP as described under Use of Information.<br />
* Abuse logs will NOT be generated through normal, unauthenticated browsing of this website and only apply to private, administrative areas. For normal browsing, the rest of the ''Information Automatically Gathered'' section applies.<br />
<br />
== Cookies ==<br />
* Certain areas of this website use "cookies" so that the software can track logins and session information. Other than for the purpose of validating logins, these cookies are not used to identify you.<br />
* In addition, as described in the "Matomo" section below, one or more anonymized cookies are used for site analytics purposes.<br />
* You may disable cookies on your web browser if you wish; however you will be logged out of any area of the site using a login.<br />
* Embedded YouTube videos are set to use "Privacy-enhanced mode" and will not set cookies automatically on your system. YouTube however may set cookies as soon as you click to play those videos. For privacy information regarding YouTube, please see https://www.google.com/intl/en/policies/privacy/<br />
=== Matomo ===<br />
* This website uses the Matomo platform (formerly known as Piwik) in order to gather aggregated information regarding the use of this website. No personal information is gathered as a result of this software, with the exception of IP address which will be used for statistical purposes.<br />
** This information is stored locally on the web server (this is self-hosted software), and will not be disclosed except under very limited circumstances as explained under the "Use of information" section.<br />
** Collected IP addresses will be partially anonymized; IPv4 addresses will have the last two octets set to 0 and IPv6 addresses will have the last 80 bits set to 0.<br />
** You may disable tracking by two methods.<br />
*** If your browser has "Do Not Track" enabled, this will automatically disable analytics collection.<br />
*** If you do not have "Do Not Track" enabled or your browser does not support this feature, you may use the following opt-out checkbox to disable or re-enable tracking on this website:<br />
{{#widget:PiwikOptout}}<br />
<br />
== Advertising ==<br />
* Third party vendors, including Google, use cookies to serve ads based on a user's prior visits to this website.<br />
* Google's use of the DART cookie enables it and its partners to serve ads to you based on your visit to this site and/or other sites on the Internet.<br />
* Users may opt out of personalized advertising by visiting Ads Settings ([https://www.google.com/settings/ads https://www.google.com/settings/ads]). In addition, you may visit [https://optout.aboutads.info/ https://optout.aboutads.info/] to opt out of personalized advertising for a variety of ad networks.<br />
<br />
<!--<br />
== WOT Ratings ==<br />
This website supports Web of Trust ratings using the WOT widget, documentation of which is at [https://www.mywot.com/wiki/WOT_widget https://www.mywot.com/wiki/WOT_widget], to provide web safety ratings for external websites. Certain non-identifying information may be collected as a result of the addon, and privacy information may be found at [https://www.mywot.com/en/privacy https://www.mywot.com/en/privacy].<br />
* External websites are denoted with a colored circle based on the WOT trustworthiness of the linked website. Please note that these external websites have their own policies, for which the owner of dxgl.org, dxgl.info and williamfeely.info is not responsible. --><br />
<br />
== Information you provide ==<br />
You may provide information to this website in the following ways:<br />
* By creating or editing a page (including discussion pages)<br />
* By requesting a Wiki account or confirming account creation<br />
* If you add to a discussion page while not logged on, your IP address will be recorded.<br />
* If you request a Wiki account, you will need to provide a valid E-mail address.<br />
* Any user may create a Bugzilla account, which is separate from the MediaWiki system. An E-mail address is required to send the activation E-mail and is used as your username.<br />
** Please note that E-mail addresses are publicly displayed when entering bug reports, so consider getting a free `disposable` account for use on public services such as Bugzilla.<br />
* Any user may create an account on the AppDB system, which is also separate from the MediaWiki system.<br />
** E-mail addresses in the AppDB system are not publicly displayed, but registered users may be able to e-mail you through the site if you submit any content to the AppDB.<br />
* This website has a phpBB based forum, with separate registration. You may control the availability of your information to other users via the User Control Panel link at the top left of the page. E-mail addresses are not disclosed to other users, although users may be able to e-mail each other using a web based form.<br />
<br />
== Minimum age to use services ==<br />
In order to ensure compliance with the laws of the United States and to ensure personal data is not collected from underage users, you must be 13 years of age or older to register an account on this website. Any user account found to belong to a user under 13 years of age (or the minimum age for your country, often 16 in Europe) will have that account information permanently deleted without notice.<br />
* No personal information entered into this website will be used for any form of targeted marketing, however please note that if advertising is ever added to this website it may perform said marketing using data that isn't part of any user account maintained on this site (such data is strictly confidential and only disclosed per the terms below).<br />
* This section does not apply to usage of this site where no personal data is provided. However, if you are a minor please remember to get your parents' permission before installing any software provided on this website.<br />
<br />
== Use of information ==<br />
* Server logs may be used for the purpose of diagnosing site problems.<br />
* All page edits are automatically made visible to the public.<br />
* Your username, or IP address if you are not logged on, will be visible to the public whenever an edit is made.<br />
* IP addresses or user names will act as your signature on any edits or discussions on this site, and will be used to help protect against abuse.<br />
* E-mail addresses will be used to send a validation link upon account registration. If an account is approved, it will be associated with your username for the life of your account. E-mail addresses collected through the Contact form or by direct e-mail will be used for the sole purpose of responding to your message.<br />
* The Bugzilla system will display your e-mail address along with any bug report you submit.<br />
* The forum will collect the IP address used to register for an account, as well as your E-mail address, which will be available to other registered members. This information is associated with your username for the life of the account.<br />
* Information submitted to this website will not be given to third parties, except in special circumstances:<br />
** If abuse of this site is detected, your information may be disclosed to your Internet provider's abuse contact.<br />
** In case of spam, your information (or the information provided by the spambot) may be reported to the provider's abuse contact as well as to anti-spam services, web safety forums, or trademark owners.<br />
** In extreme situations, such as criminal activity, information may be disclosed to the relevant authorities as the situation dictates.<br />
** Information may be disclosed in response to a valid legal order, warrant, or subpoena.<br />
*** Information will NOT be disclosed if a legal order is from a foreign country, and such disclosure would violate human rights laws or be in violation of United States law. In this unlikely scenario (politics are not allowed on this website) I would seek assistance from legal counsel before continuing.<br />
<br />
== Protection of information ==<br />
* To protect sensitive information, certain areas of this website are protected with TLS and strong encryption. To ensure maximum security and proper functionality, please make sure your web browser is up to date, as this site supports TLS 1.2 with Perfect Forward Secrecy on supported browsers.<br />
* A web browser supporting at least TLS 1.2 and SHA-2 certificates is required to access many parts of this website.<br />
* To ensure maximum protection, parts of the website that require HTTPS will be inaccessible over plaintext HTTP. In addition, the https part of the site will deliver a Strict Transport Security header to instruct your browser to only use HTTPS. This site has been submitted to HSTS preloading lists on all major web browsers, <br />
* To ensure the security of the connection you can check that the certificate has been issued by R3 (the Let's Encrypt intermediate). Any CA other than Let's Encrypt or R3 means that your connection has more than likely been compromised, and you should run an anti-malware program, or if you are on a work or school network check with your network administrator.<br />
** For additional information on the protection of your privacy when connecting to this website please visit https://www.grc.com/fingerprints.htm?domain=dxgl.org using a web browser that properly supports Extended Validation certificates (such as Chrome or Firefox) and ensure that "Gibson Research Corporation [US]" is displayed in the Address Bar. This will display the current fingerprint being used by www.williamfeely.info so you can compare it with the fingerprint displayed in your web browser's certificate information.<br />
<br />
== External links ==<br />
* External links are provided for your convenience in certain areas of this site. Please note that they are subject to their own privacy practices, and you should review their privacy policies.<br />
<br />
== Removal of information ==<br />
If you have been granted a user name and would like it removed, please leave a message under the discussion tab of this page, with the title '''USERNAME REMOVAL'''. You must be logged on to the username that you wish to have removed.<br />
* Your username will still be associated to any contributions you have made, but I will blank out all personal information from the database.<br />
* To remove a Bugzilla account or any other account you may have on this website, please leave a message at https://dxgl.org/contact/ and I will remove the account from the Bugzilla system.<br />
* To remove a forum account, please send a Private Message to username William, and I will delete the username from the forums.<br />
<br />
== Access to data ==<br />
If you would like access to data collected as part of any user accounts, please leave a message at https://dxgl.org/contact/ using the e-mail address that matches your user account. If your e-mail address has changed, please make sure to change it in your user account before contacting, for security purposes.</div>
William
https://dxgl.org/w/index.php?title=Privacy_policy&diff=1894
Privacy policy
2020-12-23T20:09:19Z
<p>William: Change in Let's Encrypt CA</p>
<hr />
<div>__NOTOC__<br />
Please read the privacy policy before using this site.<br />
<br />
Please look at the bottom of the page at https://dxgl.org/wiki/Privacy_policy to determine the last time the Privacy Policy was modified. To view changes, please [https://dxgl.org/w/index.php?title=Privacy_policy&action=history click here].<br />
<br />
== Information automatically gathered ==<br />
As with all web servers, when you access this site, the following standard information may be automatically stored by the server:<br />
* The current date and time<br />
* The page requested<br />
* Your user agent ID (which tells the type of browser you are using)<br />
* IP address may be logged if a server error occurs; this is a limitation of Nginx error logging. For normal access your IP address will not be logged.<br />
These logs are occasionally deleted to create a `clean slate` when I debug my site, and sometimes to speed up backup operations, as I treat them as temporary.<br />
<br />
=== BitTorrent downloads ===<br />
This website may offer one or more downloads using the "BitTorrent" protocol, for the specific purpose to distribute archive copies of the DXGL software and website. In order to deliver the content, your IP address will be temporarily stored and shared with other users, for the sole purpose to facilitate the acceleration of the content's downloading. This is so your BitTorrent client can share downloaded content with other users and help accelerate the delivery of the content. In addition, your BitTorrent client may publicly share your IP address over decentralized networks for the same purpose. Once you disconnect your BitTorrent client, the server will soon discontinue sharing your IP address.<br />
<br />
Since for the purpose of avoiding the distribution of illegal or infringing files the BitTorrent tracker is programmed to only accept Torrent info-hashes authorized by this site, copyright protection organizations are requested to refrain from scraping IP addresses from this tracker.<br />
<br />
The tracker is available via unencrypted HTTP for the purpose of compatibility with older and/or embedded BitTorrent clients. If your client supports HTTPS tracker URLs, you may modify the tracker portion of the Magnet link from http to https before pasting into your client.<br />
<br />
=== Protection against unauthorized access ===<br />
This server may contain one or more software applications designed to prevent unauthorized access to secure areas of the server. In this case, the logs generated by this security software will be e-mailed to a special mailbox on the server, and may be retained indefinitely and disclosed to the attacker's ISP as described under Use of Information.<br />
* Abuse logs will NOT be generated through normal, unauthenticated browsing of this website and only apply to private, administrative areas. For normal browsing, the rest of the ''Information Automatically Gathered'' section applies.<br />
<br />
== Cookies ==<br />
* Certain areas of this website use "cookies" so that the software can track logins and session information. Other than for the purpose of validating logins, these cookies are not used to identify you.<br />
* In addition, as described in the "Matomo" section below, one or more anonymized cookies are used for site analytics purposes.<br />
* You may disable cookies on your web browser if you wish; however you will be logged out of any area of the site using a login.<br />
* Embedded YouTube videos are set to use "Privacy-enhanced mode" and will not set cookies automatically on your system. YouTube however may set cookies as soon as you click to play those videos. For privacy information regarding YouTube, please see https://www.google.com/intl/en/policies/privacy/<br />
=== Matomo ===<br />
* This website uses the Matomo platform (formerly known as Piwik) in order to gather aggregated information regarding the use of this website. No personal information is gathered as a result of this software, with the exception of IP address which will be used for statistical purposes.<br />
** This information is stored locally on the web server (this is self-hosted software), and will not be disclosed except under very limited circumstances as explained under the "Use of information" section.<br />
** Collected IP addresses will be partially anonymized; IPv4 addresses will have the last two octets set to 0 and IPv6 addresses will have the last 80 bits set to 0.<br />
** You may disable tracking by two methods.<br />
*** If your browser has "Do Not Track" enabled, this will automatically disable analytics collection.<br />
*** If you do not have "Do Not Track" enabled or your browser does not support this feature, you may use the following opt-out checkbox to disable or re-enable tracking on this website:<br />
{{#widget:PiwikOptout}}<br />
<br />
== Advertising ==<br />
* Third party vendors, including Google, use cookies to serve ads based on a user's prior visits to this website.<br />
* Google's use of the DART cookie enables it and its partners to serve ads to you based on your visit to this site and/or other sites on the Internet.<br />
* Users may opt out of personalized advertising by visiting Ads Settings ([https://www.google.com/settings/ads https://www.google.com/settings/ads]). In addition, you may visit [https://optout.aboutads.info/ https://optout.aboutads.info/] to opt out of personalized advertising for a variety of ad networks.<br />
<br />
<!--<br />
== WOT Ratings ==<br />
This website supports Web of Trust ratings using the WOT widget, documentation of which is at [https://www.mywot.com/wiki/WOT_widget https://www.mywot.com/wiki/WOT_widget], to provide web safety ratings for external websites. Certain non-identifying information may be collected as a result of the addon, and privacy information may be found at [https://www.mywot.com/en/privacy https://www.mywot.com/en/privacy].<br />
* External websites are denoted with a colored circle based on the WOT trustworthiness of the linked website. Please note that these external websites have their own policies, for which the owner of dxgl.org, dxgl.info and williamfeely.info is not responsible. --><br />
<br />
== Information you provide ==<br />
You may provide information to this website in the following ways:<br />
* By creating or editing a page (including discussion pages)<br />
* By requesting a Wiki account or confirming account creation<br />
* If you add to a discussion page while not logged on, your IP address will be recorded.<br />
* If you request a Wiki account, you will need to provide a valid E-mail address.<br />
* Any user may create a Bugzilla account, which is separate from the MediaWiki system. An E-mail address is required to send the activation E-mail and is used as your username.<br />
** Please note that E-mail addresses are publicly displayed when entering bug reports, so consider getting a free `disposable` account for use on public services such as Bugzilla.<br />
* Any user may create an account on the AppDB system, which is also separate from the MediaWiki system.<br />
** E-mail addresses in the AppDB system are not publicly displayed, but registered users may be able to e-mail you through the site if you submit any content to the AppDB.<br />
* This website has a phpBB based forum, with separate registration. You may control the availability of your information to other users via the User Control Panel link at the top left of the page. E-mail addresses are not disclosed to other users, although users may be able to e-mail each other using a web based form.<br />
<br />
== Minimum age to use services ==<br />
In order to ensure compliance with the laws of the United States and to ensure personal data is not collected from underage users, you must be 13 years of age or older to register an account on this website. Any user account found to belong to a user under 13 years of age (or the minimum age for your country, often 16 in Europe) will have that account information permanently deleted without notice.<br />
* No personal information entered into this website will be used for any form of targeted marketing, however please note that if advertising is ever added to this website it may perform said marketing using data that isn't part of any user account maintained on this site (such data is strictly confidential and only disclosed per the terms below).<br />
* This section does not apply to usage of this site where no personal data is provided. However, if you are a minor please remember to get your parents' permission before installing any software provided on this website.<br />
<br />
== Use of information ==<br />
* Server logs may be used for the purpose of diagnosing site problems.<br />
* All page edits are automatically made visible to the public.<br />
* Your username, or IP address if you are not logged on, will be visible to the public whenever an edit is made.<br />
* IP addresses or user names will act as your signature on any edits or discussions on this site, and will be used to help protect against abuse.<br />
* E-mail addresses will be used to send a validation link upon account registration. If an account is approved, it will be associated with your username for the life of your account. E-mail addresses collected through the Contact form or by direct e-mail will be used for the sole purpose of responding to your message.<br />
* The Bugzilla system will display your e-mail address along with any bug report you submit.<br />
* The forum will collect the IP address used to register for an account, as well as your E-mail address, which will be available to other registered members. This information is associated with your username for the life of the account.<br />
* Information submitted to this website will not be given to third parties, except in special circumstances:<br />
** If abuse of this site is detected, your information may be disclosed to your Internet provider's abuse contact.<br />
** In case of spam, your information (or the information provided by the spambot) may be reported to the provider's abuse contact as well as to anti-spam services, web safety forums, or trademark owners.<br />
** In extreme situations, such as criminal activity, information may be disclosed to the relevant authorities as the situation dictates.<br />
** Information may be disclosed in response to a valid legal order, warrant, or subpoena.<br />
*** Information will NOT be disclosed if a legal order is from a foreign country, and such disclosure would violate human rights laws or be in violation of United States law. In this unlikely scenario (politics are not allowed on this website) I would seek assistance from legal counsel before continuing.<br />
<br />
== Protection of information ==<br />
* To protect sensitive information, certain areas of this website are protected with TLS and strong encryption. To ensure maximum security and proper functionality, please make sure your web browser is up to date, as this site supports TLS 1.2 with Perfect Forward Secrecy on supported browsers.<br />
* A web browser supporting at least TLS 1.2 and SHA-2 certificates is required to access many parts of this website.<br />
* To ensure maximum protection, parts of the website that require HTTPS will be inaccessible over plaintext HTTP. In addition, the https part of the site will deliver a Strict Transport Security header to instruct your browser to only use HTTPS. This site has been submitted to HSTS preloading lists on all major web browsers, <br />
* To ensure the security of the connection you can check that the certificate has been issued by R3 (the Let's Encrypt intermediate). Any CA other than Let's Encrypt or R3 means that your connection has more than likely been compromised, and you should run an anti-malware program, or if you are on a work or school network check with your network administrator.<br />
** For additional information on the protection of your privacy when connecting to this website please visit https://www.grc.com/fingerprints.htm?domain=www.williamfeely.info using a web browser that properly supports Extended Validation certificates (such as Chrome or Firefox) and ensure that "Gibson Research Corporation [US]" is displayed in the Address Bar. This will display the current fingerprint being used by www.williamfeely.info so you can compare it with the fingerprint displayed in your web browser's certificate information.<br />
<br />
== External links ==<br />
* External links are provided for your convenience in certain areas of this site. Please note that they are subject to their own privacy practices, and you should review their privacy policies.<br />
<br />
== Removal of information ==<br />
If you have been granted a user name and would like it removed, please leave a message under the discussion tab of this page, with the title '''USERNAME REMOVAL'''. You must be logged on to the username that you wish to have removed.<br />
* Your username will still be associated to any contributions you have made, but I will blank out all personal information from the database.<br />
* To remove a Bugzilla account or any other account you may have on this website, please leave a message at https://dxgl.org/contact/ and I will remove the account from the Bugzilla system.<br />
* To remove a forum account, please send a Private Message to username William, and I will delete the username from the forums.<br />
<br />
== Access to data ==<br />
If you would like access to data collected as part of any user accounts, please leave a message at https://dxgl.org/contact/ using the e-mail address that matches your user account. If your e-mail address has changed, please make sure to change it in your user account before contacting, for security purposes.</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=839
Progress
2020-11-12T20:02:45Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.20 or 0.6.0<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=DXGL_Test_Results&diff=617
DXGL Test Results
2020-10-17T15:41:08Z
<p>William: /* API Test Cases */</p>
<hr />
<div>The following are the results of testing DirectX SDK demos and driver test programs.<br />
Please note that these results are currently out of date.<br />
<br />
<br />
__TOC__<br />
<br />
=DirectX SDKs=<br />
==DirectX 2.0 SDK==<br />
<br />
{| border="1" class="sortable"<br />
! Program<br />
! Result<br />
|-<br />
|d3dtest.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|ddcaps.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|ddex1.exe<br />
|bgcolor="olive" | Missing center message<br />
|-<br />
|ddex2.exe<br />
|bgcolor="olive" | Wrong colors<br />
|-<br />
|ddex3.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex4.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex5.exe<br />
|bgcolor="olive" | Possible palette issues<br />
|-<br />
|ddtest.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|donut.exe<br />
|bgcolor="darkred" | No output<br />
|-<br />
|duel.exe<br />
|bgcolor="darkred" | Crashes when beginning game<br />
|-<br />
|flipcube.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|foxbear.exe<br />
|bgcolor="darkred" | Crashes after loading graphics<br />
|-<br />
|globe.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|iklowns.exe<br />
|bgcolor="gray" | Untested<br />
|-<br />
|memtime.exe<br />
|bgcolor="olive" | Slow FPS, does not return to windowed mode<br />
|-<br />
|palette.exe<br />
|bgcolor="darkred" | No effect<br />
|-<br />
|rockem.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|stretch.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|tunnel.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|twist.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|wormhole.exe<br />
|bgcolor="olive" | Must change desktop resolution, palette cycling not working correctly<br />
|}<br />
<br />
=Fnddraw.exe Tests=<br />
==DCT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DCT_GetCaps ROP verification (DCT 5.20.1)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_21 (PC97 19) Transparent Blter<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_22 (PC97 20) Perform Double Buffer Swaps with no tearing<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_23 (PC97 22) Programmable Blter Stride<br />
|bgcolor="olive" | Passes with warning<br />
|-<br />
|PC99 14.8 ScrnRes & VidMem Amt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|PC99 14.23 Low-Res Support<br />
|bgcolor="green" | Passes with DXGLCFG option<br />
|-<br />
|PC99 14.22 App Access. FrameBuff1<br />
|bgcolor="olive" | Fail but may be due to surface caching<br />
|-<br />
|PC99TA 6.8.6 720x576 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.6 1280x720 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.4 YUV support<br />
|bgcolor="olive" | Missing YV12 format<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Cons.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Enter.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.1 Overlay support<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.2 Color key support<br />
|bgcolor="green" | Pass<br />
|-<br />
|GRPH-0168 Minimum Screen Resolution (non-mobile)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|GRPH-0393.1 Mobile Minimum Screen Resolution<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_LargeNumberOfBuffersPageFlipping<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_ColorFillWithSourceSurface<br />
|bgcolor="green" | Pass, disregards source<br />
|-<br />
|DCT_AGPPrimarySurface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==API Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|API_IV_DirectDrawCreate<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DirectDrawEnumerate<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_AddRef/Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreateSurf<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_CreateSurf<br />
|bgcolor="green" | Pass/missing formats<br />
|-<br />
|API_HEL_CreateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DuplicateSurf<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_EnumSurfaces<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDisplayMode<br />
|bgcolor="olive" | Pass but wrong bitmasks<br />
|-<br />
|API_GetGDISurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_FlipToGDISurface<br />
|bgcolor="olive" | Crashes in real life<br />
|-<br />
|API_Lock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetVerticalBlankStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_GetScanLine<br />
|bgcolor="olive" | Incorrect behavior<br />
|-<br />
|API_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_SetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Lander<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_GetDeviceIdentifier<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_TestCooperativeLevel<br />
|bgcolor="olive" | Corrupts window style<br />
|-<br />
|API_IV_GetGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SurfQueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Flip<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Unlock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetCooperativeLevel<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetVerticalBlankStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_WaitForVerticalBlank<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetDisplayMode<br />
|bgcolor="green" | Pass with default settings<br />
|-<br />
|API_IV_Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_FlipToGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_AddRef<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetScanLine<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreatePalette<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_ClassFactory<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==PAL Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|PAL_CreatePalette - Init 256 clrs(TC 2.6.9)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - ALLOW256 Test(TC 2.6.12)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries/SetEntries (8-Bit)(TC 4.5.7, 4.7.7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Verify Palette Entries Untouched(Regress Nash #7535)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - Invalid Params Test(TC 2.6.1-5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries - Invalid Params Test(TC 4.5.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_SetEntries - Invalid Params Test(TC 4.7.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps Test(TC 4.4.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps - Invalid Params Test(TC 4.4.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Initialize Test(TC 4.6.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef/Release Test (TC 4.2.2-3, 4.3.2-3 )<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Test(TC 4.1.5-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Set New Palette Test (Regress: #8154)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Invalid Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Release Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_palGetPalette Test's surface get palette<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_MultiPalSwitch<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==MEMMAN Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MEMMAN - Consume All Video Mem Test(TC 6.1.1)<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|MEMMAN - Test VidMem/AGP boundary for MipMap chains<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Rand Create/Release Video Memory surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Rand Create/Release AGP surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Video Memory Reuse Test(TC 6.1.2)<br />
|bgcolor="gray" | N/A<br />
|-<br />
|MEMMAN - Create/Verify All Video Memory Types(TC ??]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN_GetAvailableVidMem(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Consume Half SysMem Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Random Create/Release System Memory surfaces Test<br />
|bgcolor="darkred" | Aborted<br />
|}<br />
<br />
==CLIP Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CLIP_SetHWnd/GetHWnd Test(TC 5.5.4, 5.9.5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|GetClipList Test(TC 5.4.8, 5.8.9-10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged Test(TC 5.7.3-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_CreateClipper - Invalid Params Test(TC 2.5.1-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetHWnd - Invalid Params Test(TC 5.9.1-3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetHWnd - Invalid Params Test(TC 5.5.1-3)<br />
|bgcolor="olive" | Pass with warning<br />
|-<br />
|CLIP_SetClipList While Using HWnd Test(TC 5.8.11)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetClipList - Invalid Params Test(TC 5.8.1-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetClipList - Invalid Params Test(TC 5.4.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged - Invalid Params Test(TC 5.7.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_DirectDrawCreateClipper(regress bug#4311)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CLIP_QueryInterface Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==BLT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|BLT Basic, Offscreen Surfaces(TC 3.6.101-102, 2.6.105-106)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, VMem to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, System to Primary(TC 3.6.48, 3.6.107)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, AGP to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, VMem to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, System to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, AGP to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, VMem to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, System to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, AGP to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), VMem to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), System to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), AGP to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, VMem to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, System to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, AGP to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, System to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, VMem to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, SRCKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, single DESTKEY, System to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, VMem to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT,Stretch, SRCKEY, System to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, VMem to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, AGP to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, Sys to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, VMem to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, AGP to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, VMem(primary)(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, Sys. mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, AGP mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,ROPs, VMem to Primary (TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT,ROPs, System to Primary(TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT Color Fill Primary(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill SysMem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill AGP Mem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Clipped, VMem to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Clipped, System to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Border clipping test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Mirrored and Clipped (Manbug4.1#13532)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Shrink, (3/4), VMem To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), Sys To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), AGP To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), VMem to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), Sys to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), AGP to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast From/To Same Surface(TC#3.6.97a)<br />
|bgcolor="olive" | Possible glitches<br />
|-<br />
|BLT_BltFast, SRCKEY, From/To same surface (TC#3.6.97b)<br />
|bgcolor="olive" | Possible glithces<br />
|-<br />
|BLT, FourCC to RGB conversion (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to RGB stretch (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to FourCC(TC# ?]<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT_BltFast - MoveToSytemMemoryTest<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast - Verify RLE recompression triggered<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY with unused pixel bits set (#5663)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY (from VMem) with unused pixel bits set<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, DDERR_NOROTATIONHW (Manbug4.1#8172)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_ZBuffer<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT, Blt with CS_PARENTDC clip window(#5673)<br />
|bgcolor="olive" | Incorrect output<br />
|-<br />
|BLT,Invalid Params Test(TC 3.6.1-3, 3.6.5, 3.6.7-8 )<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusMultBlts<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusPostFlip<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFrontToBackBuff<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OnscreenOverlap<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OffscreenOverlap<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_SafeLockPri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_ColorConverting<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_Texture Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Vid to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_NoSrcColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_NoDestColorKey<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_CanNotColorFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_CanNotDepthFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_InvalidFlagsDDFX<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFast Sys to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Sys (Driver may return DDERR_UNSUPPORTED)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to AGP<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DC Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Get/Release DC x 25(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, Verify Pixel Format(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI BitBlt() Tests(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, 16-bit DC Cache (ManBug #8348)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI Blt from VidMem Surface to Window DC (ManBug #10431)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, StretchBlt with Pitch (ManBug #8154)<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==SURF Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|SURF_IV_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectVideo<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_LockRectVideoWindowedMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_LockRectSystem<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_Lock, Multiple Rects, Video<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_Lock Invalid Parameters<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_GetDDInterface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_EnumAttachedSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_Set/GetColorKey Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_QueryInterface, multiple buffer surface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_WideSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetClipper<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_AddAttachedSurface (flip chain)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LostSurfaceInvalidParam<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_DOSBoxInteraction<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_GetFlipStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_CopyToClipboard<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumPrimarySurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumOffScrnPlain<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_EnumFourCCSurf<br />
|bgcolor="olive" | Pass with failures<br />
|-<br />
|SURF_EnumSurfTryMatch<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_SetSurf<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|Surface4_API_GetSurfaceFromDC<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientDataInvalid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientData<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_CreateSurfaceFromMemory<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|UNIQ_Surface4_GetChangeUniquenessValue<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_IV_Create From Existing Mem<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Blt Custom Memory Surfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|CSEM_GetDC Custom Memory Surfaces<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Change Surfaces and Blt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetFlipStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetBltStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_PageLock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_PageUnLock<br />
|bgcolor="darkred"| Fail<br />
|-<br />
|SURF_IV_GetDC<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_ReleaseDC<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetColorKey<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_BltBatch<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_BltFast<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Blt<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetPixelFormat<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetSurfaceDesc<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Lock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetDDInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_GetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_SetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_AddAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_EnumAttachedSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DeleteAttachedSurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_ReleaseFrontBeforeBack<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_SetSurfaceDescDXTn<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==OVERLAY Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|OVERLAY, Destination Color Key Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create with DestKey Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Z Order (Insert front/back of)(TC# ?.?.?)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, Position not maintained (Regress. OSR#49314)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, Set/GetOverlayPosition (TC. 3.28.8, 3.31.7)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, SetColorKey(NULL) (TC. 3.30.17+18)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlayDisplay<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, AddOverlayDirtyRect<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, EnumOverlayZOrders<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, MultiOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create 1x1 doesn't crash<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==3D Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|3D_Depth Fill Blt Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Flip MipMap Chain<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Z-Buffer Mask Fill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_NOSYSLOCK Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_ReallocateAliasing Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_IsSurfaceReallyLost Surface Test<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==VPE Test Cases==<br />
Note: Video port objects are not currently available in DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|VPE_GetDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateEnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInput/OutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetBandwidthInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync(Specific Line)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoSignalStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoLine<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetFieldPolarity<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryVideoPortStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateVideoPort<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StartVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StopVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoPortConnectInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumVideoPorts<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_UpdateVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Color Control Test Cases==<br />
Note: Color control is not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|cctrlTestBrightnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestContrastCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestHueCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSaturationCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSharpnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGammaCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestColorEnableCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidGet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidSet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrlTestSetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrl_IV_TestAddRef<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestRelease<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestQueryInterface<br />
|bgcolor="olive" | Missing functionality<br />
|}<br />
<br />
==Kernel Test Cases==<br />
Note: Kernel mode functions are not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|KERNEL_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetCaps<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_ReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfAddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfQueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfRelease<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfGetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MULTIMON Test Cases==<br />
Note: DXGL does not currently support multiple-monitor configurations.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MULTIMON_AllFullScreen_AllResolutionCombinations<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreen_ReleaseSecondaryMonitor<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_AllFullScreen_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedWithFullScreen<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitFullScreenWithWindow<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedAllDevices<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreenPrototype<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_BltFast<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetSingleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetDoubleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MOCOMP Test Cases==<br />
Note: DXGL does not support DXVA accleration.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MOCOMP_MCC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetMotionCompGUIDs<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetCompBufferInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetInternalMemInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetUncompFormatsSupported<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_CreateMotionComp<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_BeginFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_EndFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_Execute<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_QueryRenderStatus<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==COM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Release DDRAW without Initializing<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects(DD4, SURF3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects2(DD4,SURF3-flipping chain)<br />
|bgcolor="olive" | Corrupts FNDDraw window<br />
|-<br />
|RELE_DependentChildObjects(DD2,SURF3)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects2(DD1,SURF1)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects3(DD1, SURF4)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|DDrawEnumEx<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DD4 Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DD4_API_IDirectDraw4<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumSurfaces<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==WRITECOM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|WRITECOM_CheckWriteCombineIsEnabled<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==GAMMA Test Cases==<br />
Note: DXGL does not currently support gamma correction.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|GAMMA_DDrawGammaInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaModeChange<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaDOSBox<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaInterfaceInvalid<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Compressed Texture Tests==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DXTC_RGB to DXT* to Primary<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Verify DXT1 Compression<br />
|bgcolor="darkred" | Freezes up<br />
|-<br />
|DXTC_Blt DXT to DXT<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_TextureDXT1<br />
|bgcolor="olive" | Incorrect output<br />
|}<br />
<br />
==CUBEMAP Test Cases==<br />
Note: Cube maps will be supported in a later release of DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CUBE_Create Cube Map Surfaces Test<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==STEREO Test Cases==<br />
Note: Stereoscopic display modes are not currently supported.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|STEREO_EnumStereoModes<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|STEREO_LableLeftRight<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_InvalidParms<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Refresh Rate Test Cases==<br />
Note: FNDDraw does not support refresh tests on Windows NT type systems; Win98 compatibility mode causes crashes.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|REFRESH_Suite<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|-<br />
|REFRESH_ParamTest<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=598
Progress
2020-10-11T13:32:49Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Downloads&diff=593
Downloads
2020-10-09T22:37:31Z
<p>William: Release 0.5.19</p>
<hr />
<div>DXGL is provided subject to the terms of the [http://www.gnu.org/licenses/lgpl-2.1.html GNU Lesser General Public License, version 2.1].<br />
To install DXGL, simply download and run the Windows installer. To upgrade, install over the old version. All programs configured by the configuration tool or automatically added by the DXGL library will be automatically updated during the installation progress.<br />
<br />
=== Updgrade notes ===<br />
If you upgrade from DXGL 0.5.8 or earlier, the configuration format will be changed, and earlier versions of DXGL will no longer recognize the profiles. In addition, any profiles generated by older versions of DXGL going forward will not be recognized by DXGL 0.5.9 or later. If you wish to migrate any old profiles generated after installing DXGL 0.5.9 or later, you will need to use Regedit to delete the "Configuration Version" registry value from the HKEY_CURRENT_USER\SOFTWARE\DXGL registry key to force the upgrade to be run again. <br />
<br />
The current available version of DXGL is 0.5.19. Please click one of the links below to download.<br />
<br />
DXGL 0.5.15 and newer now come in two versions, a standard version requiring at least Windows Vista SP2 and a SSE2-capable processor, and a legacy version with the same requirements as previous versions.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.19-win32.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.19-win32-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/dxgl-src-0.5.19.zip Source code]<br />
<br />
==Experimental versions==<br />
DXGL has been built in Visual Studio 2008 and Visual Studio 2005. These builds are experimental and are compatible with Windows 2000 and up. The VS2005 build is built in Multi-Byte Character Set mode and may not be compatible with installation paths containing characters that are not part of your operating system’s ANSI character set.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.19-win32-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.19-win32-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
Please see below for older versions.<br />
<br />
== Experimental x64 version ==<br />
DXGL is now available in an x64 version, for use with x64 programs. This version is not compatible with 32-bit programs, and should only be downloaded when needed.<br />
OS requirements are the same as for the 32-bit versions, except that the x64 version is required and installation will be canceled if a 32-bit version of Windows is detected.<br />
<br />
[https://dxgl.org/download/DXGL-0.5.19-x64.exe Windows installer]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.19-x64-msvc10.exe Windows installer (legacy)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.19-x64-msvc9.exe Windows installer (VS2008 build)]<br />
<br />
[https://dxgl.org/download/DXGL-0.5.19-x64-msvc8.exe Windows installer (VS2005 MBCS build)]<br />
<br />
== Version history ==<br />
<br />
<br />
{| border="1"<br />
! Version<br />
! Source<br />
! Binary<br />
! Major changes<br />
|-<br />
| 0.5.19<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.19.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.19-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.19-win32-msvc10.exe Download (legacy)]<br />
|Add x64 build. Add shader compatibility with OpenGL 3.x. Fix some API bugs.<br />
|-<br />
| 0.5.18<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.18.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.18-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.18-win32-msvc10.exe Download (legacy)]<br />
|Migrate source code to GitHub. Add basic overlay surface support. Add scaling for windowed mode applications.<br />
|-<br />
| 0.5.17<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.17.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.17-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.17-win32-msvc10.exe Download (legacy)]<br />
|Add VS2005 and VS2008 builds. Change debug tracing to a .ini option. Fix profile directory SHA256 hashes. Add included directive to .ini files and support alternate dxgl.cfg configuration file.<br />
|-<br />
| 0.5.16<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.16.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.16-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.16-win32-msvc10.exe Download (legacy)]<br />
|Upgrade VC2017 to VC2019.&nbsp; Add some improvements to DDraw API.&nbsp; Add color format conversions for several surface formats.&nbsp; Add 1, 2, and 4-bit pixel formats.&nbsp; Add packed YUV pixel formats.<br />
|-<br />
| 0.5.15<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.15.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.15-win32.exe Download]<br />[https://dxgl.org/download/DXGL-0.5.15-win32-msvc10.exe Download (legacy)]<br />
|Add VC2017 build. Add Wine DLL overrides. Fix uninstaller to clean up files and registry. Improve color palette support. Improve 512×448 scaling mode. Several bug fixes.<br />
|-<br />
| 0.5.14<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.14.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.14-win32.exe Download]<br />
|Add offline help. Add mouse related hooks including a contributed addition. Improve window mode. Add custom scaling options. Support saving INI files. Fix a few bugs.<br />
|-<br />
| 0.5.13<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.13.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.13-win32.exe Download]<br />
|New DXGL Config application. Improved color depth and display mode selections. Add debug options and rendering hacks. Fix a few bugs.<br />
|-<br />
| 0.5.12<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.12.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.12-win32.exe Download]<br />
|Fix window mode. Add .ini configuration support. Add debug options. Add color key override. Add single buffer display mode.<br />
|-<br />
| 0.5.11<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.11.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.11-win32.exe Download]<br />
|Bug fixes. Downgrade runtime to VS2010. Add first pass scaling mode and forced SSAA.<br />
|-<br />
| 0.5.10<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.10.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.10-win32.exe Download]<br />
| Minor bug fixes. Optimization for shader cache. Add non-minimizing windowed borderless modes.<br />
|-<br />
| 0.5.9<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.9.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.9-win32.exe Download]<br />
| Minor clipper fixes. Isolate most of renderer backend from frontend API. Overhaul installer and configuration.<br />
|-<br />
| 0.5.8<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.8.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.8-win32.exe Download]<br />
| Upgrade compiler to Visual Studio 2013. Add forced-window mode. Add borderless-window (non-exclusive) fullscreen mode.<br />
|-<br />
| 0.5.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.7.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.7-win32.exe Download]<br />
| Minimize fullscreen mode on Alt+Tab and restore desktop resolution. Fix D3DTLVERTEX rendering. Fix D3D color key support. Add depth fill Blt.<br />
|-<br />
| 0.5.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.6-win32.exe Download]<br />
| More API improvements. Improve dithering performance. Full ROP support. Windows 10 compatibility.<br />
|-<br />
| 0.5.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.5-win32.exe Download]<br />
| API improvements. Add mipmap texture support. Better Direct3D2 texture support. Adjustments to transformed vertices. Add dithering.<br />
|-<br />
| 0.5.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.4-win32.exe Download]<br />
| Blt fixes. Color key fix. Add destination and colorspace color key. Add 90 degree blt rotation. Add blt mirroring.<br />
|-<br />
| 0.5.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.3-win32.exe Download]<br />
| Surface clipper support. Same source/dest blt fix. Dynamic blt shader generation. Partial ROP support.<br />
|-<br />
| 0.5.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.2-win32.exe Download]<br />
| Better Windows 8.1 compatibility. High DPI support. Custom aspect ratio support. Better 8-bit color support.<br />
|-<br />
| 0.5.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.1-win32.exe Download]<br />
| Fix Intel graphics compatibility. Support ARB_sampler_objects for more accurate D3D emulation. Fix several bugs. Add tracing support to source code.<br />
|-<br />
| 0.5.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.5.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.5.0-win32.exe Download]<br />
| Add partial DirectX2 D3D support. Enable D3D support on all builds. Improve Windows 8 compatibility. Fix a few D3D bugs.<br />
|-<br />
| 0.4.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.2-win32.exe Download]<br />
| Add wireframe and point rendering. Add fog. Add flat shading. Fix light positions.<br />
|-<br />
| 0.4.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.1-win32.exe Download]<br />
| Add backface culling. Add alpha test functions. Add texture color key. Various DDraw and D3D fixes.<br />
|-<br />
| 0.4.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.4.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.4.0-win32.exe Download]<br />
| Add DirectX5 D3D support. Add locking of surface rects. Various minor fixes.<br />
|-<br />
| 0.3.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.2-win32.exe Download]<br />
| Rewrite texture management. Add RGBA4444 textures. Add alpha blending. Fix crash in XP.<br />
|-<br />
| 0.3.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.1-win32.exe Download]<br />
| Fix surface access. Eliminate redundant GL state changes. Some D3D fixes.<br />
|-<br />
| 0.3.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.3.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.3.0-win32.exe Download]<br />
| Improve installer. Add DirectX6 D3D support.<br />
|-<br />
| 0.2.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.3-win32.exe Download]<br />
| Add spot lights. Add specular lighting. Add transformed vertices support.<br />
|-<br />
| 0.2.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.2-win32.exe Download]<br />
| Fix threading bugs. Add Z buffer testing. Add point lights.<br />
|-<br />
| 0.2.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.1-win32.exe Download]<br />
| Add more texture shaders. Add Windows 8 registry fix. Various fixes.<br />
|-<br />
| 0.2.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.2.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.2.0-win32.exe Download]<br />
| Add preliminary IDirect3D7 interfaces. Fix DXGLCFG profiles.<br />
|-<br />
| 0.1.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.6.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.6-win32.exe Download]<br />
| Fix AMD/ATI compatibility. Validate parameters. Fix render thread.<br />
|-<br />
| 0.1.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.5.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.5-win32.exe Download]<br />
| Fix shader engine. Improved application compatibility. Screen smoothing in 8-bit modes.<br />
|-<br />
| 0.1.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.4.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.4-win32.exe Download]<br />
| Use shaders for rendering. Fix OpenGL memory leaks.<br />
|-<br />
| 0.1.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.3.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.3-win32.exe Download]<br />
| Optimize texture uploads. Add Z buffer support. Fix framebuffer object initialization.<br />
|-<br />
| 0.1.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.2.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.2-win32.exe Download]<br />
| Add COM initialization. Restore display mode when deleting DDraw object. Fix VSync.<br />
|-<br />
| 0.1.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.1.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.1-win32.exe Download]<br />
| Add mouse support. Improve render window drawing. Add vertical sync support.<br />
|-<br />
| 0.1.0<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.1.0.zip Download]<br />
|<br />
[https://dxgl.org/download/DXGL-0.1.0-win32.exe Download]<br />
| Fix Windows XP compatibility. Add installer. Add application profile support. Add help file.<br />
|-<br />
| 0.0.7<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.7.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.7.zip Download]<br />
| Add DirectDrawEnumerate. Add color fill and colorkey blt(). Fix flipping. Add compatibility with Windows 8.<br />
|-<br />
| 0.0.6<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.6.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.6.zip Download]<br />
| Speed up surface locking. Fix non-multiple-of-8 modes.<br />
|-<br />
| 0.0.5<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.5.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.5.zip Download]<br />
| Add GetDC() GDI surface access. Add more tests to DXGLTest.<br />
|-<br />
| 0.0.4<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.4.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.4.zip Download]<br />
| Add all DDraw interface versions, add 15 and 24 bit modes, add low-res modes, fix memory leaks.<br />
|-<br />
| 0.0.3<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.3.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.3.zip Download]<br />
| Remove wxWidgets and GLEW, fix duplicate mode enumeration, multiple fixes.<br />
|-<br />
| 0.0.2<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.2.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.2.zip Download]<br />
| Add windowed mode.<br />
|-<br />
| 0.0.1<br />
|<br />
[https://dxgl.org/download/dxgl-src-0.0.1.zip Download]<br />
|<br />
[https://dxgl.org/download/dxgl-bin-0.0.1.zip Download]<br />
| Initial preview release. Only direct access to primary surface.<br />
|}</div>
William
https://dxgl.org/w/index.php?title=DXGL_Test_Results&diff=592
DXGL Test Results
2020-10-09T15:57:25Z
<p>William: /* SURF Test Cases */</p>
<hr />
<div>The following are the results of testing DirectX SDK demos and driver test programs.<br />
Please note that these results are currently out of date.<br />
<br />
<br />
__TOC__<br />
<br />
=DirectX SDKs=<br />
==DirectX 2.0 SDK==<br />
<br />
{| border="1" class="sortable"<br />
! Program<br />
! Result<br />
|-<br />
|d3dtest.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|ddcaps.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|ddex1.exe<br />
|bgcolor="olive" | Missing center message<br />
|-<br />
|ddex2.exe<br />
|bgcolor="olive" | Wrong colors<br />
|-<br />
|ddex3.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex4.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex5.exe<br />
|bgcolor="olive" | Possible palette issues<br />
|-<br />
|ddtest.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|donut.exe<br />
|bgcolor="darkred" | No output<br />
|-<br />
|duel.exe<br />
|bgcolor="darkred" | Crashes when beginning game<br />
|-<br />
|flipcube.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|foxbear.exe<br />
|bgcolor="darkred" | Crashes after loading graphics<br />
|-<br />
|globe.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|iklowns.exe<br />
|bgcolor="gray" | Untested<br />
|-<br />
|memtime.exe<br />
|bgcolor="olive" | Slow FPS, does not return to windowed mode<br />
|-<br />
|palette.exe<br />
|bgcolor="darkred" | No effect<br />
|-<br />
|rockem.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|stretch.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|tunnel.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|twist.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|wormhole.exe<br />
|bgcolor="olive" | Must change desktop resolution, palette cycling not working correctly<br />
|}<br />
<br />
=Fnddraw.exe Tests=<br />
==DCT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DCT_GetCaps ROP verification (DCT 5.20.1)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_21 (PC97 19) Transparent Blter<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_22 (PC97 20) Perform Double Buffer Swaps with no tearing<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_23 (PC97 22) Programmable Blter Stride<br />
|bgcolor="olive" | Passes with warning<br />
|-<br />
|PC99 14.8 ScrnRes & VidMem Amt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|PC99 14.23 Low-Res Support<br />
|bgcolor="green" | Passes with DXGLCFG option<br />
|-<br />
|PC99 14.22 App Access. FrameBuff1<br />
|bgcolor="olive" | Fail but may be due to surface caching<br />
|-<br />
|PC99TA 6.8.6 720x576 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.6 1280x720 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.4 YUV support<br />
|bgcolor="olive" | Missing YV12 format<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Cons.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Enter.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.1 Overlay support<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.2 Color key support<br />
|bgcolor="green" | Pass<br />
|-<br />
|GRPH-0168 Minimum Screen Resolution (non-mobile)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|GRPH-0393.1 Mobile Minimum Screen Resolution<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_LargeNumberOfBuffersPageFlipping<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_ColorFillWithSourceSurface<br />
|bgcolor="green" | Pass, disregards source<br />
|-<br />
|DCT_AGPPrimarySurface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==API Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|API_IV_DirectDrawCreate<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DirectDrawEnumerate<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_AddRef/Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreateSurf<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_CreateSurf<br />
|bgcolor="green" | Pass/missing formats<br />
|-<br />
|API_HEL_CreateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DuplicateSurf<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_EnumSurfaces<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDisplayMode<br />
|bgcolor="olive" | Pass but wrong bitmasks<br />
|-<br />
|API_GetGDISurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_FlipToGDISurface<br />
|bgcolor="olive" | Crashes in real life<br />
|-<br />
|API_Lock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetVerticalBlankStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_GetScanLine<br />
|bgcolor="olive" | Incorrect behavior<br />
|-<br />
|API_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_SetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Lander<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_GetDeviceIdentifier<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_TestCooperativeLevel<br />
|bgcolor="olive" | Corrupts window style<br />
|-<br />
|API_IV_GetGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SurfQueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Flip<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Unlock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetCooperativeLevel<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetVerticalBlankStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_WaitForVerticalBlank<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetDisplayMode<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_IV_Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_FlipToGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_AddRef<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetScanLine<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreatePalette<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_ClassFactory<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==PAL Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|PAL_CreatePalette - Init 256 clrs(TC 2.6.9)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - ALLOW256 Test(TC 2.6.12)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries/SetEntries (8-Bit)(TC 4.5.7, 4.7.7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Verify Palette Entries Untouched(Regress Nash #7535)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - Invalid Params Test(TC 2.6.1-5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries - Invalid Params Test(TC 4.5.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_SetEntries - Invalid Params Test(TC 4.7.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps Test(TC 4.4.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps - Invalid Params Test(TC 4.4.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Initialize Test(TC 4.6.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef/Release Test (TC 4.2.2-3, 4.3.2-3 )<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Test(TC 4.1.5-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Set New Palette Test (Regress: #8154)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Invalid Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Release Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_palGetPalette Test's surface get palette<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_MultiPalSwitch<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==MEMMAN Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MEMMAN - Consume All Video Mem Test(TC 6.1.1)<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|MEMMAN - Test VidMem/AGP boundary for MipMap chains<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Rand Create/Release Video Memory surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Rand Create/Release AGP surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Video Memory Reuse Test(TC 6.1.2)<br />
|bgcolor="gray" | N/A<br />
|-<br />
|MEMMAN - Create/Verify All Video Memory Types(TC ??]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN_GetAvailableVidMem(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Consume Half SysMem Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Random Create/Release System Memory surfaces Test<br />
|bgcolor="darkred" | Aborted<br />
|}<br />
<br />
==CLIP Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CLIP_SetHWnd/GetHWnd Test(TC 5.5.4, 5.9.5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|GetClipList Test(TC 5.4.8, 5.8.9-10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged Test(TC 5.7.3-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_CreateClipper - Invalid Params Test(TC 2.5.1-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetHWnd - Invalid Params Test(TC 5.9.1-3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetHWnd - Invalid Params Test(TC 5.5.1-3)<br />
|bgcolor="olive" | Pass with warning<br />
|-<br />
|CLIP_SetClipList While Using HWnd Test(TC 5.8.11)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetClipList - Invalid Params Test(TC 5.8.1-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetClipList - Invalid Params Test(TC 5.4.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged - Invalid Params Test(TC 5.7.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_DirectDrawCreateClipper(regress bug#4311)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CLIP_QueryInterface Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==BLT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|BLT Basic, Offscreen Surfaces(TC 3.6.101-102, 2.6.105-106)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, VMem to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, System to Primary(TC 3.6.48, 3.6.107)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, AGP to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, VMem to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, System to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, AGP to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, VMem to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, System to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, AGP to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), VMem to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), System to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), AGP to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, VMem to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, System to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, AGP to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, System to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, VMem to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, SRCKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, single DESTKEY, System to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, VMem to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT,Stretch, SRCKEY, System to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, VMem to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, AGP to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, Sys to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, VMem to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, AGP to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, VMem(primary)(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, Sys. mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, AGP mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,ROPs, VMem to Primary (TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT,ROPs, System to Primary(TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT Color Fill Primary(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill SysMem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill AGP Mem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Clipped, VMem to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Clipped, System to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Border clipping test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Mirrored and Clipped (Manbug4.1#13532)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Shrink, (3/4), VMem To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), Sys To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), AGP To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), VMem to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), Sys to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), AGP to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast From/To Same Surface(TC#3.6.97a)<br />
|bgcolor="olive" | Possible glitches<br />
|-<br />
|BLT_BltFast, SRCKEY, From/To same surface (TC#3.6.97b)<br />
|bgcolor="olive" | Possible glithces<br />
|-<br />
|BLT, FourCC to RGB conversion (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to RGB stretch (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to FourCC(TC# ?]<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT_BltFast - MoveToSytemMemoryTest<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast - Verify RLE recompression triggered<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY with unused pixel bits set (#5663)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY (from VMem) with unused pixel bits set<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, DDERR_NOROTATIONHW (Manbug4.1#8172)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_ZBuffer<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT, Blt with CS_PARENTDC clip window(#5673)<br />
|bgcolor="olive" | Incorrect output<br />
|-<br />
|BLT,Invalid Params Test(TC 3.6.1-3, 3.6.5, 3.6.7-8 )<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusMultBlts<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusPostFlip<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFrontToBackBuff<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OnscreenOverlap<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OffscreenOverlap<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_SafeLockPri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_ColorConverting<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_Texture Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Vid to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_NoSrcColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_NoDestColorKey<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_CanNotColorFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_CanNotDepthFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_InvalidFlagsDDFX<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFast Sys to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Sys (Driver may return DDERR_UNSUPPORTED)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to AGP<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DC Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Get/Release DC x 25(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, Verify Pixel Format(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI BitBlt() Tests(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, 16-bit DC Cache (ManBug #8348)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI Blt from VidMem Surface to Window DC (ManBug #10431)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, StretchBlt with Pitch (ManBug #8154)<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==SURF Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|SURF_IV_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectVideo<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_LockRectVideoWindowedMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_LockRectSystem<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_Lock, Multiple Rects, Video<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_Lock Invalid Parameters<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_GetDDInterface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_EnumAttachedSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_Set/GetColorKey Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_QueryInterface, multiple buffer surface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_WideSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetClipper<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_AddAttachedSurface (flip chain)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LostSurfaceInvalidParam<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_DOSBoxInteraction<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_GetFlipStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_CopyToClipboard<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumPrimarySurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumOffScrnPlain<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_EnumFourCCSurf<br />
|bgcolor="olive" | Pass with failures<br />
|-<br />
|SURF_EnumSurfTryMatch<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_SetSurf<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|Surface4_API_GetSurfaceFromDC<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientDataInvalid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientData<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_CreateSurfaceFromMemory<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|UNIQ_Surface4_GetChangeUniquenessValue<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_IV_Create From Existing Mem<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Blt Custom Memory Surfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|CSEM_GetDC Custom Memory Surfaces<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Change Surfaces and Blt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetFlipStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetBltStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_PageLock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_PageUnLock<br />
|bgcolor="darkred"| Fail<br />
|-<br />
|SURF_IV_GetDC<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_ReleaseDC<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetColorKey<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_BltBatch<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_BltFast<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Blt<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetPixelFormat<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetSurfaceDesc<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Lock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetDDInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_GetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_SetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_AddAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_EnumAttachedSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DeleteAttachedSurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_ReleaseFrontBeforeBack<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_SetSurfaceDescDXTn<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==OVERLAY Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|OVERLAY, Destination Color Key Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create with DestKey Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Z Order (Insert front/back of)(TC# ?.?.?)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, Position not maintained (Regress. OSR#49314)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, Set/GetOverlayPosition (TC. 3.28.8, 3.31.7)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, SetColorKey(NULL) (TC. 3.30.17+18)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlayDisplay<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, AddOverlayDirtyRect<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, EnumOverlayZOrders<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, MultiOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create 1x1 doesn't crash<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==3D Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|3D_Depth Fill Blt Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Flip MipMap Chain<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Z-Buffer Mask Fill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_NOSYSLOCK Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_ReallocateAliasing Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_IsSurfaceReallyLost Surface Test<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==VPE Test Cases==<br />
Note: Video port objects are not currently available in DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|VPE_GetDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateEnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInput/OutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetBandwidthInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync(Specific Line)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoSignalStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoLine<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetFieldPolarity<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryVideoPortStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateVideoPort<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StartVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StopVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoPortConnectInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumVideoPorts<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_UpdateVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Color Control Test Cases==<br />
Note: Color control is not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|cctrlTestBrightnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestContrastCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestHueCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSaturationCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSharpnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGammaCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestColorEnableCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidGet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidSet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrlTestSetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrl_IV_TestAddRef<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestRelease<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestQueryInterface<br />
|bgcolor="olive" | Missing functionality<br />
|}<br />
<br />
==Kernel Test Cases==<br />
Note: Kernel mode functions are not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|KERNEL_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetCaps<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_ReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfAddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfQueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfRelease<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfGetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MULTIMON Test Cases==<br />
Note: DXGL does not currently support multiple-monitor configurations.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MULTIMON_AllFullScreen_AllResolutionCombinations<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreen_ReleaseSecondaryMonitor<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_AllFullScreen_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedWithFullScreen<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitFullScreenWithWindow<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedAllDevices<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreenPrototype<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_BltFast<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetSingleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetDoubleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MOCOMP Test Cases==<br />
Note: DXGL does not support DXVA accleration.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MOCOMP_MCC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetMotionCompGUIDs<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetCompBufferInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetInternalMemInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetUncompFormatsSupported<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_CreateMotionComp<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_BeginFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_EndFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_Execute<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_QueryRenderStatus<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==COM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Release DDRAW without Initializing<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects(DD4, SURF3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects2(DD4,SURF3-flipping chain)<br />
|bgcolor="olive" | Corrupts FNDDraw window<br />
|-<br />
|RELE_DependentChildObjects(DD2,SURF3)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects2(DD1,SURF1)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects3(DD1, SURF4)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|DDrawEnumEx<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DD4 Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DD4_API_IDirectDraw4<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumSurfaces<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==WRITECOM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|WRITECOM_CheckWriteCombineIsEnabled<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==GAMMA Test Cases==<br />
Note: DXGL does not currently support gamma correction.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|GAMMA_DDrawGammaInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaModeChange<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaDOSBox<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaInterfaceInvalid<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Compressed Texture Tests==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DXTC_RGB to DXT* to Primary<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Verify DXT1 Compression<br />
|bgcolor="darkred" | Freezes up<br />
|-<br />
|DXTC_Blt DXT to DXT<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_TextureDXT1<br />
|bgcolor="olive" | Incorrect output<br />
|}<br />
<br />
==CUBEMAP Test Cases==<br />
Note: Cube maps will be supported in a later release of DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CUBE_Create Cube Map Surfaces Test<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==STEREO Test Cases==<br />
Note: Stereoscopic display modes are not currently supported.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|STEREO_EnumStereoModes<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|STEREO_LableLeftRight<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_InvalidParms<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Refresh Rate Test Cases==<br />
Note: FNDDraw does not support refresh tests on Windows NT type systems; Win98 compatibility mode causes crashes.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|REFRESH_Suite<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|-<br />
|REFRESH_ParamTest<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|}</div>
William
https://dxgl.org/w/index.php?title=DXGL_Test_Results&diff=591
DXGL Test Results
2020-10-09T15:35:25Z
<p>William: /* SURF Test Cases */</p>
<hr />
<div>The following are the results of testing DirectX SDK demos and driver test programs.<br />
Please note that these results are currently out of date.<br />
<br />
<br />
__TOC__<br />
<br />
=DirectX SDKs=<br />
==DirectX 2.0 SDK==<br />
<br />
{| border="1" class="sortable"<br />
! Program<br />
! Result<br />
|-<br />
|d3dtest.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|ddcaps.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|ddex1.exe<br />
|bgcolor="olive" | Missing center message<br />
|-<br />
|ddex2.exe<br />
|bgcolor="olive" | Wrong colors<br />
|-<br />
|ddex3.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex4.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex5.exe<br />
|bgcolor="olive" | Possible palette issues<br />
|-<br />
|ddtest.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|donut.exe<br />
|bgcolor="darkred" | No output<br />
|-<br />
|duel.exe<br />
|bgcolor="darkred" | Crashes when beginning game<br />
|-<br />
|flipcube.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|foxbear.exe<br />
|bgcolor="darkred" | Crashes after loading graphics<br />
|-<br />
|globe.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|iklowns.exe<br />
|bgcolor="gray" | Untested<br />
|-<br />
|memtime.exe<br />
|bgcolor="olive" | Slow FPS, does not return to windowed mode<br />
|-<br />
|palette.exe<br />
|bgcolor="darkred" | No effect<br />
|-<br />
|rockem.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|stretch.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|tunnel.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|twist.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|wormhole.exe<br />
|bgcolor="olive" | Must change desktop resolution, palette cycling not working correctly<br />
|}<br />
<br />
=Fnddraw.exe Tests=<br />
==DCT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DCT_GetCaps ROP verification (DCT 5.20.1)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_21 (PC97 19) Transparent Blter<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_22 (PC97 20) Perform Double Buffer Swaps with no tearing<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_23 (PC97 22) Programmable Blter Stride<br />
|bgcolor="olive" | Passes with warning<br />
|-<br />
|PC99 14.8 ScrnRes & VidMem Amt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|PC99 14.23 Low-Res Support<br />
|bgcolor="green" | Passes with DXGLCFG option<br />
|-<br />
|PC99 14.22 App Access. FrameBuff1<br />
|bgcolor="olive" | Fail but may be due to surface caching<br />
|-<br />
|PC99TA 6.8.6 720x576 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.6 1280x720 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.4 YUV support<br />
|bgcolor="olive" | Missing YV12 format<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Cons.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Enter.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.1 Overlay support<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.2 Color key support<br />
|bgcolor="green" | Pass<br />
|-<br />
|GRPH-0168 Minimum Screen Resolution (non-mobile)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|GRPH-0393.1 Mobile Minimum Screen Resolution<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_LargeNumberOfBuffersPageFlipping<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_ColorFillWithSourceSurface<br />
|bgcolor="green" | Pass, disregards source<br />
|-<br />
|DCT_AGPPrimarySurface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==API Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|API_IV_DirectDrawCreate<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DirectDrawEnumerate<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_AddRef/Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreateSurf<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_CreateSurf<br />
|bgcolor="green" | Pass/missing formats<br />
|-<br />
|API_HEL_CreateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DuplicateSurf<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_EnumSurfaces<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDisplayMode<br />
|bgcolor="olive" | Pass but wrong bitmasks<br />
|-<br />
|API_GetGDISurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_FlipToGDISurface<br />
|bgcolor="olive" | Crashes in real life<br />
|-<br />
|API_Lock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetVerticalBlankStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_GetScanLine<br />
|bgcolor="olive" | Incorrect behavior<br />
|-<br />
|API_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_SetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Lander<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_GetDeviceIdentifier<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_TestCooperativeLevel<br />
|bgcolor="olive" | Corrupts window style<br />
|-<br />
|API_IV_GetGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SurfQueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Flip<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Unlock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetCooperativeLevel<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetVerticalBlankStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_WaitForVerticalBlank<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetDisplayMode<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_IV_Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_FlipToGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_AddRef<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetScanLine<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreatePalette<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_ClassFactory<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==PAL Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|PAL_CreatePalette - Init 256 clrs(TC 2.6.9)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - ALLOW256 Test(TC 2.6.12)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries/SetEntries (8-Bit)(TC 4.5.7, 4.7.7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Verify Palette Entries Untouched(Regress Nash #7535)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - Invalid Params Test(TC 2.6.1-5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries - Invalid Params Test(TC 4.5.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_SetEntries - Invalid Params Test(TC 4.7.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps Test(TC 4.4.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps - Invalid Params Test(TC 4.4.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Initialize Test(TC 4.6.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef/Release Test (TC 4.2.2-3, 4.3.2-3 )<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Test(TC 4.1.5-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Set New Palette Test (Regress: #8154)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Invalid Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Release Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_palGetPalette Test's surface get palette<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_MultiPalSwitch<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==MEMMAN Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MEMMAN - Consume All Video Mem Test(TC 6.1.1)<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|MEMMAN - Test VidMem/AGP boundary for MipMap chains<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Rand Create/Release Video Memory surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Rand Create/Release AGP surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Video Memory Reuse Test(TC 6.1.2)<br />
|bgcolor="gray" | N/A<br />
|-<br />
|MEMMAN - Create/Verify All Video Memory Types(TC ??]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN_GetAvailableVidMem(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Consume Half SysMem Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Random Create/Release System Memory surfaces Test<br />
|bgcolor="darkred" | Aborted<br />
|}<br />
<br />
==CLIP Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CLIP_SetHWnd/GetHWnd Test(TC 5.5.4, 5.9.5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|GetClipList Test(TC 5.4.8, 5.8.9-10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged Test(TC 5.7.3-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_CreateClipper - Invalid Params Test(TC 2.5.1-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetHWnd - Invalid Params Test(TC 5.9.1-3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetHWnd - Invalid Params Test(TC 5.5.1-3)<br />
|bgcolor="olive" | Pass with warning<br />
|-<br />
|CLIP_SetClipList While Using HWnd Test(TC 5.8.11)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetClipList - Invalid Params Test(TC 5.8.1-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetClipList - Invalid Params Test(TC 5.4.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged - Invalid Params Test(TC 5.7.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_DirectDrawCreateClipper(regress bug#4311)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CLIP_QueryInterface Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==BLT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|BLT Basic, Offscreen Surfaces(TC 3.6.101-102, 2.6.105-106)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, VMem to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, System to Primary(TC 3.6.48, 3.6.107)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, AGP to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, VMem to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, System to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, AGP to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, VMem to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, System to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, AGP to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), VMem to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), System to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), AGP to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, VMem to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, System to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, AGP to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, System to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, VMem to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, SRCKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, single DESTKEY, System to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, VMem to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT,Stretch, SRCKEY, System to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, VMem to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, AGP to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, Sys to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, VMem to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, AGP to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, VMem(primary)(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, Sys. mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, AGP mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,ROPs, VMem to Primary (TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT,ROPs, System to Primary(TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT Color Fill Primary(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill SysMem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill AGP Mem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Clipped, VMem to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Clipped, System to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Border clipping test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Mirrored and Clipped (Manbug4.1#13532)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Shrink, (3/4), VMem To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), Sys To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), AGP To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), VMem to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), Sys to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), AGP to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast From/To Same Surface(TC#3.6.97a)<br />
|bgcolor="olive" | Possible glitches<br />
|-<br />
|BLT_BltFast, SRCKEY, From/To same surface (TC#3.6.97b)<br />
|bgcolor="olive" | Possible glithces<br />
|-<br />
|BLT, FourCC to RGB conversion (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to RGB stretch (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to FourCC(TC# ?]<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT_BltFast - MoveToSytemMemoryTest<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast - Verify RLE recompression triggered<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY with unused pixel bits set (#5663)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY (from VMem) with unused pixel bits set<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, DDERR_NOROTATIONHW (Manbug4.1#8172)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_ZBuffer<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT, Blt with CS_PARENTDC clip window(#5673)<br />
|bgcolor="olive" | Incorrect output<br />
|-<br />
|BLT,Invalid Params Test(TC 3.6.1-3, 3.6.5, 3.6.7-8 )<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusMultBlts<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusPostFlip<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFrontToBackBuff<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OnscreenOverlap<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OffscreenOverlap<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_SafeLockPri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_ColorConverting<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_Texture Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Vid to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_NoSrcColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_NoDestColorKey<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_CanNotColorFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_CanNotDepthFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_InvalidFlagsDDFX<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFast Sys to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Sys (Driver may return DDERR_UNSUPPORTED)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to AGP<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DC Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Get/Release DC x 25(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, Verify Pixel Format(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI BitBlt() Tests(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, 16-bit DC Cache (ManBug #8348)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI Blt from VidMem Surface to Window DC (ManBug #10431)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, StretchBlt with Pitch (ManBug #8154)<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==SURF Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|SURF_IV_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectVideo<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_LockRectVideoWindowedMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_LockRectSystem<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_Lock, Multiple Rects, Video<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_Lock Invalid Parameters<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_GetDDInterface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_EnumAttachedSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_Set/GetColorKey Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_QueryInterface, multiple buffer surface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_WideSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetClipper<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_AddAttachedSurface (flip chain)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LostSurfaceInvalidParam<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_DOSBoxInteraction<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_GetFlipStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_CopyToClipboard<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumPrimarySurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumOffScrnPlain<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumFourCCSurf<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumSurfTryMatch<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_SetSurf<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|Surface4_API_GetSurfaceFromDC<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientDataInvalid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientData<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_CreateSurfaceFromMemory<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|UNIQ_Surface4_GetChangeUniquenessValue<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_IV_Create From Existing Mem<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Blt Custom Memory Surfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|CSEM_GetDC Custom Memory Surfaces<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Change Surfaces and Blt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetFlipStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetBltStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_PageLock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_PageUnLock<br />
|bgcolor="darkred"| Fail<br />
|-<br />
|SURF_IV_GetDC<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_ReleaseDC<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetColorKey<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_BltBatch<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_BltFast<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Blt<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetPixelFormat<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetSurfaceDesc<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Lock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetDDInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_GetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_SetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_AddAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_EnumAttachedSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DeleteAttachedSurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_ReleaseFrontBeforeBack<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_SetSurfaceDescDXTn<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==OVERLAY Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|OVERLAY, Destination Color Key Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create with DestKey Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Z Order (Insert front/back of)(TC# ?.?.?)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, Position not maintained (Regress. OSR#49314)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, Set/GetOverlayPosition (TC. 3.28.8, 3.31.7)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, SetColorKey(NULL) (TC. 3.30.17+18)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlayDisplay<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, AddOverlayDirtyRect<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, EnumOverlayZOrders<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, MultiOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create 1x1 doesn't crash<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==3D Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|3D_Depth Fill Blt Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Flip MipMap Chain<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Z-Buffer Mask Fill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_NOSYSLOCK Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_ReallocateAliasing Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_IsSurfaceReallyLost Surface Test<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==VPE Test Cases==<br />
Note: Video port objects are not currently available in DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|VPE_GetDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateEnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInput/OutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetBandwidthInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync(Specific Line)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoSignalStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoLine<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetFieldPolarity<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryVideoPortStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateVideoPort<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StartVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StopVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoPortConnectInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumVideoPorts<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_UpdateVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Color Control Test Cases==<br />
Note: Color control is not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|cctrlTestBrightnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestContrastCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestHueCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSaturationCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSharpnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGammaCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestColorEnableCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidGet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidSet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrlTestSetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrl_IV_TestAddRef<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestRelease<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestQueryInterface<br />
|bgcolor="olive" | Missing functionality<br />
|}<br />
<br />
==Kernel Test Cases==<br />
Note: Kernel mode functions are not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|KERNEL_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetCaps<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_ReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfAddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfQueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfRelease<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfGetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MULTIMON Test Cases==<br />
Note: DXGL does not currently support multiple-monitor configurations.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MULTIMON_AllFullScreen_AllResolutionCombinations<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreen_ReleaseSecondaryMonitor<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_AllFullScreen_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedWithFullScreen<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitFullScreenWithWindow<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedAllDevices<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreenPrototype<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_BltFast<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetSingleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetDoubleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MOCOMP Test Cases==<br />
Note: DXGL does not support DXVA accleration.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MOCOMP_MCC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetMotionCompGUIDs<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetCompBufferInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetInternalMemInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetUncompFormatsSupported<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_CreateMotionComp<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_BeginFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_EndFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_Execute<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_QueryRenderStatus<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==COM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Release DDRAW without Initializing<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects(DD4, SURF3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects2(DD4,SURF3-flipping chain)<br />
|bgcolor="olive" | Corrupts FNDDraw window<br />
|-<br />
|RELE_DependentChildObjects(DD2,SURF3)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects2(DD1,SURF1)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects3(DD1, SURF4)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|DDrawEnumEx<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DD4 Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DD4_API_IDirectDraw4<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumSurfaces<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==WRITECOM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|WRITECOM_CheckWriteCombineIsEnabled<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==GAMMA Test Cases==<br />
Note: DXGL does not currently support gamma correction.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|GAMMA_DDrawGammaInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaModeChange<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaDOSBox<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaInterfaceInvalid<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Compressed Texture Tests==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DXTC_RGB to DXT* to Primary<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Verify DXT1 Compression<br />
|bgcolor="darkred" | Freezes up<br />
|-<br />
|DXTC_Blt DXT to DXT<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_TextureDXT1<br />
|bgcolor="olive" | Incorrect output<br />
|}<br />
<br />
==CUBEMAP Test Cases==<br />
Note: Cube maps will be supported in a later release of DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CUBE_Create Cube Map Surfaces Test<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==STEREO Test Cases==<br />
Note: Stereoscopic display modes are not currently supported.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|STEREO_EnumStereoModes<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|STEREO_LableLeftRight<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_InvalidParms<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Refresh Rate Test Cases==<br />
Note: FNDDraw does not support refresh tests on Windows NT type systems; Win98 compatibility mode causes crashes.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|REFRESH_Suite<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|-<br />
|REFRESH_ParamTest<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|}</div>
William
https://dxgl.org/w/index.php?title=DXGL_Test_Results&diff=590
DXGL Test Results
2020-10-09T15:28:46Z
<p>William: /* BLT Test Cases */</p>
<hr />
<div>The following are the results of testing DirectX SDK demos and driver test programs.<br />
Please note that these results are currently out of date.<br />
<br />
<br />
__TOC__<br />
<br />
=DirectX SDKs=<br />
==DirectX 2.0 SDK==<br />
<br />
{| border="1" class="sortable"<br />
! Program<br />
! Result<br />
|-<br />
|d3dtest.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|ddcaps.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|ddex1.exe<br />
|bgcolor="olive" | Missing center message<br />
|-<br />
|ddex2.exe<br />
|bgcolor="olive" | Wrong colors<br />
|-<br />
|ddex3.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex4.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex5.exe<br />
|bgcolor="olive" | Possible palette issues<br />
|-<br />
|ddtest.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|donut.exe<br />
|bgcolor="darkred" | No output<br />
|-<br />
|duel.exe<br />
|bgcolor="darkred" | Crashes when beginning game<br />
|-<br />
|flipcube.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|foxbear.exe<br />
|bgcolor="darkred" | Crashes after loading graphics<br />
|-<br />
|globe.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|iklowns.exe<br />
|bgcolor="gray" | Untested<br />
|-<br />
|memtime.exe<br />
|bgcolor="olive" | Slow FPS, does not return to windowed mode<br />
|-<br />
|palette.exe<br />
|bgcolor="darkred" | No effect<br />
|-<br />
|rockem.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|stretch.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|tunnel.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|twist.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|wormhole.exe<br />
|bgcolor="olive" | Must change desktop resolution, palette cycling not working correctly<br />
|}<br />
<br />
=Fnddraw.exe Tests=<br />
==DCT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DCT_GetCaps ROP verification (DCT 5.20.1)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_21 (PC97 19) Transparent Blter<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_22 (PC97 20) Perform Double Buffer Swaps with no tearing<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_23 (PC97 22) Programmable Blter Stride<br />
|bgcolor="olive" | Passes with warning<br />
|-<br />
|PC99 14.8 ScrnRes & VidMem Amt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|PC99 14.23 Low-Res Support<br />
|bgcolor="green" | Passes with DXGLCFG option<br />
|-<br />
|PC99 14.22 App Access. FrameBuff1<br />
|bgcolor="olive" | Fail but may be due to surface caching<br />
|-<br />
|PC99TA 6.8.6 720x576 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.6 1280x720 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.4 YUV support<br />
|bgcolor="olive" | Missing YV12 format<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Cons.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Enter.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.1 Overlay support<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.2 Color key support<br />
|bgcolor="green" | Pass<br />
|-<br />
|GRPH-0168 Minimum Screen Resolution (non-mobile)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|GRPH-0393.1 Mobile Minimum Screen Resolution<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_LargeNumberOfBuffersPageFlipping<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_ColorFillWithSourceSurface<br />
|bgcolor="green" | Pass, disregards source<br />
|-<br />
|DCT_AGPPrimarySurface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==API Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|API_IV_DirectDrawCreate<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DirectDrawEnumerate<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_AddRef/Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreateSurf<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_CreateSurf<br />
|bgcolor="green" | Pass/missing formats<br />
|-<br />
|API_HEL_CreateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DuplicateSurf<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_EnumSurfaces<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDisplayMode<br />
|bgcolor="olive" | Pass but wrong bitmasks<br />
|-<br />
|API_GetGDISurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_FlipToGDISurface<br />
|bgcolor="olive" | Crashes in real life<br />
|-<br />
|API_Lock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetVerticalBlankStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_GetScanLine<br />
|bgcolor="olive" | Incorrect behavior<br />
|-<br />
|API_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_SetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Lander<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_GetDeviceIdentifier<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_TestCooperativeLevel<br />
|bgcolor="olive" | Corrupts window style<br />
|-<br />
|API_IV_GetGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SurfQueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Flip<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Unlock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetCooperativeLevel<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetVerticalBlankStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_WaitForVerticalBlank<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetDisplayMode<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_IV_Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_FlipToGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_AddRef<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetScanLine<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreatePalette<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_ClassFactory<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==PAL Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|PAL_CreatePalette - Init 256 clrs(TC 2.6.9)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - ALLOW256 Test(TC 2.6.12)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries/SetEntries (8-Bit)(TC 4.5.7, 4.7.7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Verify Palette Entries Untouched(Regress Nash #7535)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - Invalid Params Test(TC 2.6.1-5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries - Invalid Params Test(TC 4.5.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_SetEntries - Invalid Params Test(TC 4.7.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps Test(TC 4.4.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps - Invalid Params Test(TC 4.4.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Initialize Test(TC 4.6.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef/Release Test (TC 4.2.2-3, 4.3.2-3 )<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Test(TC 4.1.5-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Set New Palette Test (Regress: #8154)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Invalid Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Release Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_palGetPalette Test's surface get palette<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_MultiPalSwitch<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==MEMMAN Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MEMMAN - Consume All Video Mem Test(TC 6.1.1)<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|MEMMAN - Test VidMem/AGP boundary for MipMap chains<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Rand Create/Release Video Memory surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Rand Create/Release AGP surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Video Memory Reuse Test(TC 6.1.2)<br />
|bgcolor="gray" | N/A<br />
|-<br />
|MEMMAN - Create/Verify All Video Memory Types(TC ??]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN_GetAvailableVidMem(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Consume Half SysMem Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Random Create/Release System Memory surfaces Test<br />
|bgcolor="darkred" | Aborted<br />
|}<br />
<br />
==CLIP Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CLIP_SetHWnd/GetHWnd Test(TC 5.5.4, 5.9.5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|GetClipList Test(TC 5.4.8, 5.8.9-10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged Test(TC 5.7.3-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_CreateClipper - Invalid Params Test(TC 2.5.1-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetHWnd - Invalid Params Test(TC 5.9.1-3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetHWnd - Invalid Params Test(TC 5.5.1-3)<br />
|bgcolor="olive" | Pass with warning<br />
|-<br />
|CLIP_SetClipList While Using HWnd Test(TC 5.8.11)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetClipList - Invalid Params Test(TC 5.8.1-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetClipList - Invalid Params Test(TC 5.4.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged - Invalid Params Test(TC 5.7.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_DirectDrawCreateClipper(regress bug#4311)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CLIP_QueryInterface Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==BLT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|BLT Basic, Offscreen Surfaces(TC 3.6.101-102, 2.6.105-106)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, VMem to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, System to Primary(TC 3.6.48, 3.6.107)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, AGP to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, VMem to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, System to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, AGP to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, VMem to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, System to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, AGP to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), VMem to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), System to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), AGP to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, VMem to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, System to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, AGP to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, System to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, VMem to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, SRCKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, single DESTKEY, System to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, VMem to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT,Stretch, SRCKEY, System to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, VMem to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, AGP to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, Sys to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, VMem to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, AGP to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, VMem(primary)(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, Sys. mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, AGP mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,ROPs, VMem to Primary (TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT,ROPs, System to Primary(TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT Color Fill Primary(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill SysMem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill AGP Mem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Clipped, VMem to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Clipped, System to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Border clipping test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Mirrored and Clipped (Manbug4.1#13532)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Shrink, (3/4), VMem To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), Sys To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), AGP To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), VMem to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), Sys to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), AGP to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast From/To Same Surface(TC#3.6.97a)<br />
|bgcolor="olive" | Possible glitches<br />
|-<br />
|BLT_BltFast, SRCKEY, From/To same surface (TC#3.6.97b)<br />
|bgcolor="olive" | Possible glithces<br />
|-<br />
|BLT, FourCC to RGB conversion (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to RGB stretch (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to FourCC(TC# ?]<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT_BltFast - MoveToSytemMemoryTest<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast - Verify RLE recompression triggered<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY with unused pixel bits set (#5663)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY (from VMem) with unused pixel bits set<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, DDERR_NOROTATIONHW (Manbug4.1#8172)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_ZBuffer<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT, Blt with CS_PARENTDC clip window(#5673)<br />
|bgcolor="olive" | Incorrect output<br />
|-<br />
|BLT,Invalid Params Test(TC 3.6.1-3, 3.6.5, 3.6.7-8 )<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusMultBlts<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusPostFlip<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFrontToBackBuff<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OnscreenOverlap<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OffscreenOverlap<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_SafeLockPri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_ColorConverting<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_Texture Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Vid to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_NoSrcColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_NoDestColorKey<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_CanNotColorFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_CanNotDepthFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_InvalidFlagsDDFX<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFast Sys to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Sys (Driver may return DDERR_UNSUPPORTED)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to AGP<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DC Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Get/Release DC x 25(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, Verify Pixel Format(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI BitBlt() Tests(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, 16-bit DC Cache (ManBug #8348)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI Blt from VidMem Surface to Window DC (ManBug #10431)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, StretchBlt with Pitch (ManBug #8154)<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==SURF Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|SURF_IV_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectVideo<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectVideoWindowedMode<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectSystem<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_Lock, Multiple Rects, Video<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_Lock Invalid Parameters<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_GetDDInterface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_EnumAttachedSurfaces<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_Set/GetColorKey Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_QueryInterface, multiple buffer surface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_WideSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetClipper<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_AddAttachedSurface (flip chain)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LostSurfaceInvalidParam<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_DOSBoxInteraction<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_GetFlipStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_CopyToClipboard<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumPrimarySurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumOffScrnPlain<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumFourCCSurf<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumSurfTryMatch<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_SetSurf<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|Surface4_API_GetSurfaceFromDC<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientDataInvalid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientData<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_CreateSurfaceFromMemory<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|UNIQ_Surface4_GetChangeUniquenessValue<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_IV_Create From Existing Mem<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Blt Custom Memory Surfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|CSEM_GetDC Custom Memory Surfaces<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Change Surfaces and Blt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetFlipStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetBltStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_PageLock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_PageUnLock<br />
|bgcolor="darkred"| Fail<br />
|-<br />
|SURF_IV_GetDC<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_ReleaseDC<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetColorKey<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_BltBatch<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_BltFast<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Blt<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetPixelFormat<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetSurfaceDesc<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Lock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetDDInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_GetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_SetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_AddAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_EnumAttachedSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DeleteAttachedSurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_ReleaseFrontBeforeBack<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_SetSurfaceDescDXTn<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==OVERLAY Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|OVERLAY, Destination Color Key Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create with DestKey Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Z Order (Insert front/back of)(TC# ?.?.?)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, Position not maintained (Regress. OSR#49314)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, Set/GetOverlayPosition (TC. 3.28.8, 3.31.7)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, SetColorKey(NULL) (TC. 3.30.17+18)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlayDisplay<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, AddOverlayDirtyRect<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, EnumOverlayZOrders<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, MultiOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create 1x1 doesn't crash<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==3D Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|3D_Depth Fill Blt Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Flip MipMap Chain<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Z-Buffer Mask Fill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_NOSYSLOCK Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_ReallocateAliasing Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_IsSurfaceReallyLost Surface Test<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==VPE Test Cases==<br />
Note: Video port objects are not currently available in DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|VPE_GetDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateEnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInput/OutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetBandwidthInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync(Specific Line)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoSignalStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoLine<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetFieldPolarity<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryVideoPortStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateVideoPort<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StartVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StopVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoPortConnectInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumVideoPorts<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_UpdateVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Color Control Test Cases==<br />
Note: Color control is not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|cctrlTestBrightnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestContrastCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestHueCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSaturationCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSharpnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGammaCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestColorEnableCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidGet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidSet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrlTestSetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrl_IV_TestAddRef<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestRelease<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestQueryInterface<br />
|bgcolor="olive" | Missing functionality<br />
|}<br />
<br />
==Kernel Test Cases==<br />
Note: Kernel mode functions are not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|KERNEL_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetCaps<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_ReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfAddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfQueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfRelease<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfGetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MULTIMON Test Cases==<br />
Note: DXGL does not currently support multiple-monitor configurations.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MULTIMON_AllFullScreen_AllResolutionCombinations<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreen_ReleaseSecondaryMonitor<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_AllFullScreen_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedWithFullScreen<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitFullScreenWithWindow<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedAllDevices<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreenPrototype<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_BltFast<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetSingleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetDoubleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MOCOMP Test Cases==<br />
Note: DXGL does not support DXVA accleration.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MOCOMP_MCC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetMotionCompGUIDs<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetCompBufferInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetInternalMemInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetUncompFormatsSupported<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_CreateMotionComp<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_BeginFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_EndFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_Execute<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_QueryRenderStatus<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==COM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Release DDRAW without Initializing<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects(DD4, SURF3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects2(DD4,SURF3-flipping chain)<br />
|bgcolor="olive" | Corrupts FNDDraw window<br />
|-<br />
|RELE_DependentChildObjects(DD2,SURF3)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects2(DD1,SURF1)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects3(DD1, SURF4)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|DDrawEnumEx<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DD4 Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DD4_API_IDirectDraw4<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumSurfaces<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==WRITECOM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|WRITECOM_CheckWriteCombineIsEnabled<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==GAMMA Test Cases==<br />
Note: DXGL does not currently support gamma correction.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|GAMMA_DDrawGammaInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaModeChange<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaDOSBox<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaInterfaceInvalid<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Compressed Texture Tests==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DXTC_RGB to DXT* to Primary<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Verify DXT1 Compression<br />
|bgcolor="darkred" | Freezes up<br />
|-<br />
|DXTC_Blt DXT to DXT<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_TextureDXT1<br />
|bgcolor="olive" | Incorrect output<br />
|}<br />
<br />
==CUBEMAP Test Cases==<br />
Note: Cube maps will be supported in a later release of DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CUBE_Create Cube Map Surfaces Test<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==STEREO Test Cases==<br />
Note: Stereoscopic display modes are not currently supported.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|STEREO_EnumStereoModes<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|STEREO_LableLeftRight<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_InvalidParms<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Refresh Rate Test Cases==<br />
Note: FNDDraw does not support refresh tests on Windows NT type systems; Win98 compatibility mode causes crashes.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|REFRESH_Suite<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|-<br />
|REFRESH_ParamTest<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|}</div>
William
https://dxgl.org/w/index.php?title=DXGL_Test_Results&diff=589
DXGL Test Results
2020-10-09T15:22:58Z
<p>William: /* BLT Test Cases */</p>
<hr />
<div>The following are the results of testing DirectX SDK demos and driver test programs.<br />
Please note that these results are currently out of date.<br />
<br />
<br />
__TOC__<br />
<br />
=DirectX SDKs=<br />
==DirectX 2.0 SDK==<br />
<br />
{| border="1" class="sortable"<br />
! Program<br />
! Result<br />
|-<br />
|d3dtest.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|ddcaps.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|ddex1.exe<br />
|bgcolor="olive" | Missing center message<br />
|-<br />
|ddex2.exe<br />
|bgcolor="olive" | Wrong colors<br />
|-<br />
|ddex3.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex4.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|ddex5.exe<br />
|bgcolor="olive" | Possible palette issues<br />
|-<br />
|ddtest.exe<br />
|bgcolor="darkred" | Crashes<br />
|-<br />
|donut.exe<br />
|bgcolor="darkred" | No output<br />
|-<br />
|duel.exe<br />
|bgcolor="darkred" | Crashes when beginning game<br />
|-<br />
|flipcube.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|foxbear.exe<br />
|bgcolor="darkred" | Crashes after loading graphics<br />
|-<br />
|globe.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|iklowns.exe<br />
|bgcolor="gray" | Untested<br />
|-<br />
|memtime.exe<br />
|bgcolor="olive" | Slow FPS, does not return to windowed mode<br />
|-<br />
|palette.exe<br />
|bgcolor="darkred" | No effect<br />
|-<br />
|rockem.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|stretch.exe<br />
|bgcolor="green" | Perfect<br />
|-<br />
|tunnel.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|twist.exe<br />
|bgcolor="darkred" | No 3D<br />
|-<br />
|wormhole.exe<br />
|bgcolor="olive" | Must change desktop resolution, palette cycling not working correctly<br />
|}<br />
<br />
=Fnddraw.exe Tests=<br />
==DCT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DCT_GetCaps ROP verification (DCT 5.20.1)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_21 (PC97 19) Transparent Blter<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_22 (PC97 20) Perform Double Buffer Swaps with no tearing<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC98_23 (PC97 22) Programmable Blter Stride<br />
|bgcolor="olive" | Passes with warning<br />
|-<br />
|PC99 14.8 ScrnRes & VidMem Amt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|PC99 14.23 Low-Res Support<br />
|bgcolor="green" | Passes with DXGLCFG option<br />
|-<br />
|PC99 14.22 App Access. FrameBuff1<br />
|bgcolor="olive" | Fail but may be due to surface caching<br />
|-<br />
|PC99TA 6.8.6 720x576 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.6 1280x720 Resolution<br />
|bgcolor="green" | Pass with minimum resolution<br />
|-<br />
|PC99TA 6.8.4 YUV support<br />
|bgcolor="olive" | Missing YV12 format<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Cons.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.5 Qual scaling Enter.<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.1 Overlay support<br />
|bgcolor="green" | Pass<br />
|-<br />
|PC99TA 6.8.2 Color key support<br />
|bgcolor="green" | Pass<br />
|-<br />
|GRPH-0168 Minimum Screen Resolution (non-mobile)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|GRPH-0393.1 Mobile Minimum Screen Resolution<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_LargeNumberOfBuffersPageFlipping<br />
|bgcolor="green" | Pass<br />
|-<br />
|DCT_ColorFillWithSourceSurface<br />
|bgcolor="green" | Pass, disregards source<br />
|-<br />
|DCT_AGPPrimarySurface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==API Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|API_IV_DirectDrawCreate<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DirectDrawEnumerate<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_AddRef/Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreateSurf<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_CreateSurf<br />
|bgcolor="green" | Pass/missing formats<br />
|-<br />
|API_HEL_CreateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_DuplicateSurf<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_EnumSurfaces<br />
|bgcolor="olive" | Pass with warnings<br />
|-<br />
|API_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDisplayMode<br />
|bgcolor="olive" | Pass but wrong bitmasks<br />
|-<br />
|API_GetGDISurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_FlipToGDISurface<br />
|bgcolor="olive" | Crashes in real life<br />
|-<br />
|API_Lock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetVerticalBlankStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_GetScanLine<br />
|bgcolor="olive" | Incorrect behavior<br />
|-<br />
|API_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_SetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_Lander<br />
|bgcolor="olive" | Pass with errors<br />
|-<br />
|API_GetDeviceIdentifier<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_TestCooperativeLevel<br />
|bgcolor="olive" | Corrupts window style<br />
|-<br />
|API_IV_GetGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SurfQueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Flip<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetFourCCCodes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Unlock<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetCooperativeLevel<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetVerticalBlankStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_WaitForVerticalBlank<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_SetDisplayMode<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|API_IV_Release<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Compact<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_RestoreDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_FlipToGDISurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_AddRef<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetScanLine<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_CreatePalette<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|API_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_IV_GetMonitorFrequency<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_ClassFactory<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==PAL Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|PAL_CreatePalette - Init 256 clrs(TC 2.6.9)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - ALLOW256 Test(TC 2.6.12)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries/SetEntries (8-Bit)(TC 4.5.7, 4.7.7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Verify Palette Entries Untouched(Regress Nash #7535)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_CreatePalette - Invalid Params Test(TC 2.6.1-5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetEntries - Invalid Params Test(TC 4.5.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_SetEntries - Invalid Params Test(TC 4.7.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps Test(TC 4.4.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_GetCaps - Invalid Params Test(TC 4.4.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Initialize Test(TC 4.6.3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef/Release Test (TC 4.2.2-3, 4.3.2-3 )<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Test(TC 4.1.5-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Set New Palette Test (Regress: #8154)<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Query Interface Invalid Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette Release Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_Palette AddRef Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_palGetPalette Test's surface get palette<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_MultiPalSwitch<br />
|bgcolor="green" | Pass<br />
|-<br />
|PAL_IV_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==MEMMAN Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MEMMAN - Consume All Video Mem Test(TC 6.1.1)<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|MEMMAN - Test VidMem/AGP boundary for MipMap chains<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Rand Create/Release Video Memory surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Rand Create/Release AGP surfaces 100X Test(TC 6.1.3)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MEMMAN - Video Memory Reuse Test(TC 6.1.2)<br />
|bgcolor="gray" | N/A<br />
|-<br />
|MEMMAN - Create/Verify All Video Memory Types(TC ??]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN_GetAvailableVidMem(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Consume Half SysMem Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|MEMMAN - Random Create/Release System Memory surfaces Test<br />
|bgcolor="darkred" | Aborted<br />
|}<br />
<br />
==CLIP Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CLIP_SetHWnd/GetHWnd Test(TC 5.5.4, 5.9.5)<br />
|bgcolor="green" | Pass<br />
|-<br />
|GetClipList Test(TC 5.4.8, 5.8.9-10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged Test(TC 5.7.3-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_CreateClipper - Invalid Params Test(TC 2.5.1-4)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetHWnd - Invalid Params Test(TC 5.9.1-3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetHWnd - Invalid Params Test(TC 5.5.1-3)<br />
|bgcolor="olive" | Pass with warning<br />
|-<br />
|CLIP_SetClipList While Using HWnd Test(TC 5.8.11)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_SetClipList - Invalid Params Test(TC 5.8.1-7)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_GetClipList - Invalid Params Test(TC 5.4.1-6)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_IsClipListChanged - Invalid Params Test(TC 5.7.1-2)<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_DirectDrawCreateClipper(regress bug#4311)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CLIP_QueryInterface Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize Invalid Params Test<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|CLIP_QueryInterface<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==BLT Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|BLT Basic, Offscreen Surfaces(TC 3.6.101-102, 2.6.105-106)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, VMem to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, System to Primary(TC 3.6.48, 3.6.107)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Basic, AGP to Primary(TC 3.6.48, 3.6.103)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, VMem to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, System to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 2, AGP to Primary(TC 3.6.49-50)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, VMem to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, System to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch x 1.5, AGP to Primary(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), VMem to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), System to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Shrink (1/2), AGP to Primary(TC 3.6.53-54)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, VMem to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, System to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Stretch(width only) x 1.5, AGP to Pri(TC 3.6.51-52)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, System to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, VMem to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, single SRCKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, SRCKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="olive" | Probably incorrect fail<br />
|-<br />
|BLT, single DESTKEY, System to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, VMem to Primary(TC 3.6.58)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, single DESTKEY, AGP to Primary(TC 3.6.60)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, System to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT, DESTKEY Space, VMem to Primary(TC 3.6.?]<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT,Stretch, SRCKEY, System to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, VMem to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch, SRCKEY, AGP to primary(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, Sys to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, VMem to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,Stretch(width only), SRCKEY, AGP to pri(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, VMem(primary)(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, Sys. mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch, Complete Overlap, AGP mem.(TC 3.6.?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT,ROPs, VMem to Primary (TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT,ROPs, System to Primary(TC 3.6.84)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT Color Fill Primary(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill SysMem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT Color Fill AGP Mem(TC 3.6.57)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Clipped, VMem to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Clipped, System to Primary Test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Border clipping test<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Mirrored and Clipped (Manbug4.1#13532)<br />
|bgcolor="olive" | Pass on most hardware<br />
|-<br />
|BLT, Shrink, (3/4), VMem To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), Sys To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Shrink, (3/4), AGP To Primary<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), VMem to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), Sys to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, Stretch (Wx2, Hx.75), AGP to Pri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast From/To Same Surface(TC#3.6.97a)<br />
|bgcolor="olive" | Possible glitches<br />
|-<br />
|BLT_BltFast, SRCKEY, From/To same surface (TC#3.6.97b)<br />
|bgcolor="olive" | Possible glithces<br />
|-<br />
|BLT, FourCC to RGB conversion (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to RGB stretch (TC#??.??.]<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT, FourCC to FourCC(TC# ?]<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT_BltFast - MoveToSytemMemoryTest<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast - Verify RLE recompression triggered<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY with unused pixel bits set (#5663)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, SRCKEY (from VMem) with unused pixel bits set<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT, DDERR_NOROTATIONHW (Manbug4.1#8172)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_ZBuffer<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|BLT, Blt with CS_PARENTDC clip window(#5673)<br />
|bgcolor="olive" | Incorrect output<br />
|-<br />
|BLT,Invalid Params Test(TC 3.6.1-3, 3.6.5, 3.6.7-8 )<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusMultBlts<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_GetBltStatusPostFlip<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFrontToBackBuff<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OnscreenOverlap<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_OffscreenOverlap<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_SafeLockPri<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_ColorConverting<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_Texture Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_Texture Vid to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_NoSrcColorKey<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_NoDestColorKey<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_CanNotColorFill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_CanNotDepthFill<br />
|bgcolor="olive" | Pending<br />
|-<br />
|BLT_InvalidFlagsDDFX<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|BLT_BltFast Sys to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Sys to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to AGP<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Sys (Driver may return DDERR_UNSUPPORTED)<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast AGP to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Vid<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to Sys<br />
|bgcolor="green" | Pass<br />
|-<br />
|BLT_BltFast Vid to AGP<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DC Test Cases==<br />
<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Get/Release DC x 25(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, Verify Pixel Format(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI BitBlt() Tests(TC ?]<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, 16-bit DC Cache (ManBug #8348)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, GDI Blt from VidMem Surface to Window DC (ManBug #10431)<br />
|bgcolor="green" | Pass<br />
|-<br />
|API_GetDC, StretchBlt with Pitch (ManBug #8154)<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==SURF Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|SURF_IV_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectVideo<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectVideoWindowedMode<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LockRectSystem<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_Lock, Multiple Rects, Video<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_Lock Invalid Parameters<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_GetDDInterface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_EnumAttachedSurfaces<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_Set/GetColorKey Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_QueryInterface, multiple buffer surface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_WideSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_GetClipper<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_AddAttachedSurface (flip chain)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_LostSurfaceInvalidParam<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_DOSBoxInteraction<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_GetFlipStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_CopyToClipboard<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumPrimarySurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumOffScrnPlain<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumFourCCSurf<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_EnumSurfTryMatch<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_SetSurf<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|Surface4_API_GetSurfaceFromDC<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientDataInvalid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DATA_Surface4_GetSetClientData<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_CreateSurfaceFromMemory<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|UNIQ_Surface4_GetChangeUniquenessValue<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|CSEM_IV_Create From Existing Mem<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Blt Custom Memory Surfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|CSEM_GetDC Custom Memory Surfaces<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|CSEM_Change Surfaces and Blt<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetFlipStatus<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetBltStatus<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_PageLock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_PageUnLock<br />
|bgcolor="darkred"| Fail<br />
|-<br />
|SURF_IV_GetDC<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_ReleaseDC<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetColorKey<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetColorKey<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_BltBatch<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_BltFast<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Blt<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetPixelFormat<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetSurfaceDesc<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_IV_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_Initialize<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_Lock<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_IV_GetDDInterface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_SetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_GetPalette<br />
|bgcolor="olive" | Pending<br />
|-<br />
|SURF_IV_SetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetClipper<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetCaps<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_AddAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_EnumAttachedSurfaces<br />
|bgcolor="green" | Pass<br />
|-<br />
|SURF_IV_DeleteAttachedSurface<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|SURF_ReleaseFrontBeforeBack<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|SURF_SetSurfaceDescDXTn<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==OVERLAY Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|OVERLAY, Destination Color Key Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create with DestKey Test (TC#3.30.10)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Z Order (Insert front/back of)(TC# ?.?.?)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, Position not maintained (Regress. OSR#49314)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, Set/GetOverlayPosition (TC. 3.28.8, 3.31.7)<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, SetColorKey(NULL) (TC. 3.30.17+18)<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, UpdateOverlayDisplay<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, AddOverlayDirtyRect<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|OVERLAY, EnumOverlayZOrders<br />
|bgcolor="olive" | Pending<br />
|-<br />
|OVERLAY, MultiOverlay<br />
|bgcolor="green" | Pass<br />
|-<br />
|OVERLAY, Create 1x1 doesn't crash<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==3D Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|3D_Depth Fill Blt Test<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Flip MipMap Chain<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_Z-Buffer Mask Fill<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|3D_NOSYSLOCK Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_ReallocateAliasing Texture Test<br />
|bgcolor="darkred" | Crash<br />
|-<br />
|3D_IsSurfaceReallyLost Surface Test<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==VPE Test Cases==<br />
Note: Video port objects are not currently available in DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|VPE_GetDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateEnumDDVideoContainer<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInput/OutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetBandwidthInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_WaitForSync(Specific Line)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_SetColorControls<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoSignalStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoLine<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetFieldPolarity<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_QueryVideoPortStatus<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_CreateVideoPort<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StartVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_StopVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_GetVideoPortConnectInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_EnumVideoPorts<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_UpdateVideo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Bob (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_Weave (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_SetTargetSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetInputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_IV_GetOutputFormats<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (AUTO)<br />
|bgcolor="olive" | Pending<br />
|-<br />
|VPE_HardwareDeinterlacing (MANUAL)<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Color Control Test Cases==<br />
Note: Color control is not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|cctrlTestBrightnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestContrastCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestHueCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSaturationCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestSharpnessCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGammaCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestColorEnableCtl<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidGet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestInvalidSet<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrlTestGetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrlTestSetInvalidSize<br />
|bgcolor="olive" | Pending<br />
|-<br />
|cctrl_IV_TestAddRef<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestRelease<br />
|bgcolor="olive" | Missing functionality<br />
|-<br />
|cctrl_IV_TestQueryInterface<br />
|bgcolor="olive" | Missing functionality<br />
|}<br />
<br />
==Kernel Test Cases==<br />
Note: Kernel mode functions are not currently available in DXGL<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|KERNEL_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetCaps<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_GetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_ReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfAddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfQueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfRelease<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfGetKernelHandle<br />
|bgcolor="olive" | Pending<br />
|-<br />
|KERNEL_SurfReleaseKernelHandle<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MULTIMON Test Cases==<br />
Note: DXGL does not currently support multiple-monitor configurations.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MULTIMON_AllFullScreen_AllResolutionCombinations<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreen_ReleaseSecondaryMonitor<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_AllFullScreen_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedWithFullScreen<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitFullScreenWithWindow<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_InitWindowedAllDevices<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_TwoFullScreenPrototype<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_CreateSurface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_BltFast<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetSingleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MULTIMON_SetDoubleCooperativeLevel<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==MOCOMP Test Cases==<br />
Note: DXGL does not support DXVA accleration.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|MOCOMP_MCC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MCC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetMotionCompGUIDs<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetCompBufferInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetInternalMemInfo<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_GetUncompFormatsSupported<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_CreateMotionComp<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_QueryInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_AddRef<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_MC_Release<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_BeginFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_EndFrame<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_Execute<br />
|bgcolor="olive" | Pending<br />
|-<br />
|MOCOMP_QueryRenderStatus<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==COM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|Release DDRAW without Initializing<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects(DD4, SURF3)<br />
|bgcolor="green" | Pass<br />
|-<br />
|RELE_IndependentChildObjects2(DD4,SURF3-flipping chain)<br />
|bgcolor="olive" | Corrupts FNDDraw window<br />
|-<br />
|RELE_DependentChildObjects(DD2,SURF3)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects2(DD1,SURF1)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|RELE_DependentChildObjects3(DD1, SURF4)<br />
|bgcolor="darkred" | Leaks objects<br />
|-<br />
|DDrawEnumEx<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==DD4 Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DD4_API_IDirectDraw4<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_CreateSurface<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_DuplicateSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumDisplayModes<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_EnumSurfaces<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DD4_GetAvailableVidMem<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetDisplayMode<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetAttachedSurface<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_GetSurfaceDesc<br />
|bgcolor="green" | Pass<br />
|-<br />
|DD4_SetSurfaceDesc<br />
|bgcolor="darkred" | Fail<br />
|}<br />
<br />
==WRITECOM Test Cases==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|WRITECOM_CheckWriteCombineIsEnabled<br />
|bgcolor="green" | Pass<br />
|}<br />
<br />
==GAMMA Test Cases==<br />
Note: DXGL does not currently support gamma correction.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|GAMMA_DDrawGammaInterface<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaModeChange<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaDOSBox<br />
|bgcolor="olive" | Pending<br />
|-<br />
|GAMMA_DDrawGammaInterfaceInvalid<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Compressed Texture Tests==<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|DXTC_RGB to DXT* to Primary<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Verify DXT1 Compression<br />
|bgcolor="darkred" | Freezes up<br />
|-<br />
|DXTC_Blt DXT to DXT<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Sys<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to Vid<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_Blt DXT to DXT - Sys to AGP<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|DXTC_TextureDXT1<br />
|bgcolor="olive" | Incorrect output<br />
|}<br />
<br />
==CUBEMAP Test Cases==<br />
Note: Cube maps will be supported in a later release of DXGL.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|CUBE_Create Cube Map Surfaces Test<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==STEREO Test Cases==<br />
Note: Stereoscopic display modes are not currently supported.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|STEREO_EnumStereoModes<br />
|bgcolor="darkred" | Fail<br />
|-<br />
|STEREO_LableLeftRight<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_Flip<br />
|bgcolor="olive" | Pending<br />
|-<br />
|STEREO_InvalidParms<br />
|bgcolor="olive" | Pending<br />
|}<br />
<br />
==Refresh Rate Test Cases==<br />
Note: FNDDraw does not support refresh tests on Windows NT type systems; Win98 compatibility mode causes crashes.<br />
{| border="1" class="sortable"<br />
! Test<br />
! Result<br />
|-<br />
|REFRESH_Suite<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|-<br />
|REFRESH_ParamTest<br />
|bgcolor="darkred" | Crash / Pending on WinNT<br />
|}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=576
Progress
2020-10-05T02:14:57Z
<p>William: /* Roadmap */ Compiles doesn't mean works.</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.19<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Support GLSL 3.x and 4.x}}<br />
{{progression|100|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|75|task=Experimental x64 support}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=573
Progress
2020-10-03T18:51:26Z
<p>William: /* Roadmap */ Fixed two regressions, fixing second one fixed the ATI cards.</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.19<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Experimental x64 support}}<br />
{{progression|100|task=Support GLSL 3.x and 4.x}}<br />
{{progression|100|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=563
Progress
2020-09-27T22:27:35Z
<p>William: /* Roadmap */ Need to fix regressions.</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.19<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Experimental x64 support}}<br />
{{progression|80|task=Support GLSL 3.x and 4.x}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=562
Progress
2020-09-27T21:14:23Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.19<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Support GLSL 3.x and 4.x}}<br />
{{progression|100|task=Experimental x64 support}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=536
Progress
2020-09-21T00:56:27Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.19<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Support GLSL 3.x and 4.x}}<br />
{{progression|75|task=64-bit support}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=532
Progress
2020-09-20T01:33:33Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.19<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Support GLSL 3.x and 4.x}}<br />
{{progression|50|task=64-bit support}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=531
Progress
2020-09-20T00:11:40Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.19<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Support GLSL 3.x and 4.x}}<br />
{{progression|25|task=64-bit support}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=MediaWiki:Sidebar&diff=529
MediaWiki:Sidebar
2020-09-19T00:52:56Z
<p>William: Fix forum link (server-side fix is needed too however for obsolete URLs)</p>
<hr />
<div><br />
* navigation<br />
** https://www.dxgl.info|Home<br />
** mainpage|mainpage-description<br />
** recentchanges-url|recentchanges<br />
** randompage-url|randompage<br />
** helppage|MediaWiki help<br />
** Introduction|Introduction<br />
** Progress|Progress<br />
** Downloads|Downloads<br />
** Source|Source code<br />
** Build_from_source|Build from source<br />
** https://www.dxgl.info/appdb|AppDB<br />
** https://www.dxgl.info/Bug_reports|Bug reports<br />
** https://forum.dxgl.info|Forums<br />
* SEARCH<br />
* TOOLBOX<br />
* LANGUAGES</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=528
Progress
2020-09-18T23:44:37Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.5.19<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Support GLSL 3.x and 4.x}}<br />
{{progression|0|task=64-bit support}}<br />
<br />
* 0.6.0<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
{{progression|0|task=Migrate to VBO}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=527
Progress
2020-09-18T22:23:41Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|100|task=Support GLSL 3.x and 4.x}}<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=64-bit support}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=526
Progress
2020-09-18T16:05:15Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|95|task=Remove deprecated OpenGL APIs}}<br />
{{progression|90|task=Support GLSL 3.x}}<br />
{{progression|0|task=64-bit support}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=522
Progress
2020-09-12T22:15:12Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|80|task=Remove deprecated OpenGL APIs}}<br />
{{progression|75|task=Support GLSL 3.x}}<br />
{{progression|0|task=64-bit support}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=518
Progress
2020-09-07T20:29:58Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|80|task=Remove deprecated OpenGL APIs}}<br />
{{progression|50|task=Support GLSL 3.x}}<br />
{{progression|0|task=64-bit support}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=517
Progress
2020-09-07T01:18:59Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|100|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|80|task=Remove deprecated OpenGL APIs}}<br />
{{progression|25|task=Support GLSL 3.x}}<br />
{{progression|0|task=64-bit support}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=493
Progress
2020-08-17T02:01:39Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|80|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Restore support for fixed function flat shading on OpenGL 2.x/GLSL 1.10-1.20}}<br />
{{progression|0|task=Support GLSL 3.x}}<br />
{{progression|0|task=64-bit support}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=492
Progress
2020-08-17T00:28:03Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|75|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Support GLSL 3.x}}<br />
{{progression|0|task=64-bit support}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=491
Progress
2020-08-16T20:21:35Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|50|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Support GLSL 3.x}}<br />
{{progression|0|task=64-bit support}}<br />
{{progression|0|task=Optimize D3D to GLSL storage}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Progress&diff=490
Progress
2020-08-16T19:36:28Z
<p>William: /* Roadmap */</p>
<hr />
<div>DXGL is currently a work-in-progress and is currently considered alpha-quality software..<br />
<br />
See [[DXGL Features]] for detailed information.<br />
<br />
See [[DXGL Changelog|Version history]] from the downloads section for release information and previous version downloads.<br />
<br />
Also see [[DXGL Test Results]] for some detailed tests performed occasionally.<br />
<br />
What works:<br />
* DirectDraw object creation and destruction (versions 1 to 7)<br />
* Display mode enumeration and switching (with emulated mode switching)<br />
* Fullscreen and windowed modes.<br />
* Basic Blt() functionality<br />
* 8-bit color emulated with GLSL shader<br />
<br />
What partially works:<br />
* 3D graphics are only partially supported.<br />
<br />
What doesn't work:<br />
* Many functions are stubbed out and return an error<br />
<br />
== Roadmap ==<br />
These are goals to be set for future releases. This is completely subject to change at any time.<br />
<br />
* 0.6.0<br />
{{progression|50|task=Remove deprecated OpenGL APIs}}<br />
{{progression|0|task=Support GLSL 3.x}}<br />
{{progression|0|task=64-bit support}}<br />
<br />
* 0.6.x (higher priority)<br />
{{progression|90|task=Fix reference counts}}<br />
{{progression|75|task=Validate DDraw parameters}}<br />
{{progression|25|task=Fix resource leaks}}<br />
{{progression|25|task=Remove trace build, control tracing via config option}}<br />
{{progression|15|task=Improve DDraw API}}<br />
{{progression|0|task=Improve color conversion on destination side}}<br />
{{progression|0|task=Hook ClipCursor function}}<br />
<br />
* 0.6.x (lower priority)<br />
{{progression|95|task=Add mipmap surfaces}}<br />
{{progression|95|task=Support D3D2 textures}}<br />
{{progression|95|task=Isolate API from backend threads}}<br />
{{progression|90|task=Add depth buffer fill}}<br />
{{progression|75|task=Implement D3D execute buffers}}<br />
{{progression|50|task=Rework D3DTLVERTEX rendering}}<br />
{{progression|50|task=Add software T&L for execute buffers}}<br />
{{progression|10|task=Group renderer commands into batches}}<br />
{{progression|10|task=Add client memory surfaces}}<br />
{{progression|1|task=Improve D3D backend}}<br />
{{progression|0|task=Support Blt() to/from different surface formats}}<br />
{{progression|0|task=Expand use of PBO transfers}}<br />
{{progression|0|task=Improve filtered color key Blt()}}<br />
{{progression|0|task=Postprocess scaling for change mode with fallback}}<br />
{{progression|0|task=Add framerate limiter}}<br />
{{progression|0|task=Improve fog support}}<br />
{{progression|0|task=Add multisampling}}<br />
{{progression|0|task=Precompile generated shaders used in previous sessions}}<br />
{{progression|0|task=Fix 16-bit 565 surfaces on ATI Radeon X300 series}}<br />
{{progression|0|task=Fix clippers on NVIDIA GeForce 6 series GPU}}<br />
<br />
* Future<br />
{{progression|75|task=Support multiple DirectDraw drivers per process}}<br />
{{progression|75|task=Support surface color depths}}<br />
{{progression|25|task=Support NULL HWND}}<br />
{{progression|25|task=Implement and improve API functions}}<br />
{{progression|19|task=Convert from C++ to C}}<br />
{{progression|5|task=Support GCC/MinGW compilation}}<br />
{{progression|1|task=Hook mouse APIs - GetCursorPos, SetCursorPos, ClipCursor, GetClipCursor, GetCursorInfo}}<br />
{{progression|0|task=Support Per-Monitor v2 DPI awareness in DXGL Config}}<br />
{{progression|0|task=Advanced VSync support}}<br />
{{progression|0|task=Hook GDI palette function}}<br />
{{progression|0|task=Support GL_ARB_texture_barrier for destination color keying}}<br />
{{progression|0|task=Workaround for Windows 10 Creators Edition "System (Enhanced)" scaling, if necessary}}<br />
{{progression|5|task=Create Doxygen documentation [MAYBE]}}<br />
{{progression|0|task=Support configuring old/legacy DXGL versions [MAYBE]}}<br />
{{progression|0|task=Add DXGL loader stub to fix programs that demand ddraw.dll from system32}}</div>
William
https://dxgl.org/w/index.php?title=Main_Page&diff=489
Main Page
2020-08-14T23:12:06Z
<p>William: /* System Requirements */</p>
<hr />
<div>__NOTOC__ <br />
== Introduction ==<br />
<br />
DXGL is a free replacement for the Windows ddraw.dll library, running on OpenGL. It is designed to overcome driver bugs, particularly in Windows Vista and newer operating systems. It also adds various enhancements to the graphics output such as display scaling and filtering options.<br />
DXGL supports the DirectX 7.0 graphics APIs, however it is currently under development and does not work with many programs.<br />
<br />
DXGL is currently in an alpha stage, but several applications and games already work.<br />
<br />
== System Requirements ==<br />
<br />
* Windows Vista (with SP2), 7 (with SP1), 8, 8.1, or 10 (standard build)<br />
* Windows XP (with SP3), Vista, 7, 8, 8.1, or 10 (legacy build)<br />
** Also compatible with most versions of Wine, by setting the ddraw DLL override to "native, builtin" which is done automatically at installation.<br />
** Not compatible with Windows 10 in S mode.<br />
* OpenGL 2.0 or higher compatible video card<br />
** Requires support for Framebuffer objects<br />
** Requires support for hardware accelerated non-power-of-two textures<br />
** OpenGL 3.2 or higher recommended.<br />
* The standard build requires a SSE2-capable processor; older processors require the legacy build.<br />
* For the standard build, Visual C++ 2015-2019 x86 runtime, which can be found at https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads (will be installed if not present)<br />
* For the legacy build, Visual C++ 2010 x86 runtime, available at https://www.microsoft.com/en-us/download/details.aspx?id=8328 (will be installed if not present)<br />
<br />
=== [[Downloads|Download DXGL]] ===<br />
=== [[Source|Get source code]] ===<br />
=== [[Build_from_source|Build instructions]] ===<br />
=== <span class="plainlinks">[https://www.dxgl.info/appdb AppDB]</span> ===<br />
=== [[Bug_reports|Bug reports]] ===<br />
<br />
=== <span class="plainlinks">[https://forum.dxgl.info Forums]</span> ===<br />
<br />
At this time, the DXGL Wiki is currently under construction.</div>
William
https://dxgl.org/w/index.php?title=MediaWiki:Vector.css&diff=488
MediaWiki:Vector.css
2020-08-14T22:57:15Z
<p>William: </p>
<hr />
<div>/* CSS placed here will affect users of the Vector skin */<br />
#bodyContent .plainlinks a {<br />
background: none !important;<br />
padding: 0 !important;<br />
color: #E69710 !important;<br />
}<br />
<br />
/* Timeless and Vector skin -- Dark mode, hand-picked colours */<br />
<br />
<br />
<br />
/**** Color palette ****/<br />
<br />
/* Common colors */<br />
:root {<br />
--warn-bg-1: #fef6e7; /* .warningbox from Vector, Timeless */<br />
--warn-bg-2: #ffdbdb; /* div.mw-warning-with-logexcerpt from Vector, Timeless */<br />
--warn-border-1: #fc3; /* from Timeless */<br />
--warn-border-2: #bb7070; /* from Timeless */<br />
--warn-bg-1: #cb6;<br />
--warn-bg-1: #d95; /* from Timeless? */<br />
--warn-bg-1: #d80;<br />
--warn-text-1: var(--text-shade-1);<br />
--warn-text-1: #222;<br />
--warn-text-1: #fff;<br />
<br />
--warn-bg-2: #d63;<br />
--warn-text-2: var(--text-shade-1);<br />
--warn-text-2: #222;<br />
--warn-text-2: #ddd;<br />
<br />
--note-text-1: #000;<br />
<br />
--focus-border-color: #36c; /* from Timeless */<br />
--focus-border-color: var(--link-shade-4);<br />
--focus-border-color: royalblue;<br />
--focus-border-color: #46dc;<br />
--link-hover-bg: #fff8;<br />
--link-hover-bg: #8884;<br />
<br />
--link-red-1: #a55858; /* from Vector */<br />
--link-red-2: #ba0000; /* from Vector */<br />
--link-red-1: #b32424; /* from WMF Style Guide */<br />
--link-red-2: #dd3333; /* from WMF Style Guide */<br />
}<br />
<br />
<br />
/** Dark mode: discord-like colors **/<br />
<br />
/**/ :root, /* Not the default palette */<br />
:root.dark {<br />
--text-shade-1: #fff;<br />
--text-shade-2: #ddd;<br />
--text-shade-3: #bbb;<br />
--text-shade-4: #999;<br />
<br />
--link-shade-1: #ddf;<br />
--link-shade-2: #bbf;<br />
--link-shade-3: #99f;<br />
--link-shade-4: #66f;<br />
--link-focus-bg: #48ad;<br />
<br />
--bg-overlay-0: #0008;<br />
--bg-shadow-0: #000a;<br />
--bg-shadow-1: var(--bg-shade-0);<br />
--popup-bg: #222e; /* alpha(var(--bg-shade-2), #d); */<br />
--popup-anim-bg: #fff6;<br />
<br />
--bg-shade-0: #000;<br />
--bg-shade-1: #181818;<br />
--bg-shade-2: #222;<br />
--bg-shade-3: #333;<br />
--border-shade-3: var(--bg-shade-5);<br />
--bg-shade-3a: #3a3a3a;<br />
--bg-shade-4: #444;<br />
--border-shade-4: var(--bg-shade-5);<br />
--bg-shade-48: #484848;<br />
--bg-shade-4a: #4a4a4a;<br />
--bg-shade-50: #505050;<br />
--bg-shade-5: #555;<br />
--bg-shade-6: #666;<br />
<br />
/* Difference view: gray, red and green with highlights */<br />
--diff-bg: var(--bg-shade-4);<br />
--diff-bg: #fff1; /* brighten -- add some white with transparency -> #414141 */<br />
/* --diff-bg: #fff2; */ /* bit bright -> #4f4f4f */<br />
--diff-text: var(--text-shade-2);<br />
--diff-text-1: var(--text-shade-1);<br />
--diff-text-1: unset; /* inherit var(--diff-text); */<br />
<br />
/* --diff-add-bg: #0f04; */ /* bit bright */<br />
--diff-add-bg: #0f03; /* add some green to --bg-shade-3 -> #2a5a2e */<br />
--diff-add-bg: #353; /* #444 + #0f03 -> #2a5a2e rounded */<br />
--diff-add-bg-1: #0f05; /* add more green -> #258b2a */<br />
--diff-add-bg-1: #282; /* #353 + #0f05 -> #258b2a rounded */<br />
<br />
/* --diff-del-bg: #f004; */ /* bit bright */<br />
--diff-del-bg: #f003; /* add some red to --bg-shade-3 -> #5d2d2d */<br />
--diff-del-bg: #533; /* #444 + #f003 -> #5d2d2d rounded, bit dimmer */<br />
--diff-del-bg-1: #f005; /* add more red -> #8f2829 */<br />
--diff-del-bg-1: #833; /* #533 + #f005 -> #8f2829 rounded */<br />
<br />
/* --warn-bg-1: #b71; */<br />
/* --warn-bg-1: #cb6; */<br />
--image-invert: invert(1);<br />
}<br />
:root.dark.a1 {<br />
--text-shade-1: #dde;<br />
--text-shade-2: #bbc;<br />
--text-shade-3: #99a;<br />
--text-shade-4: #778;<br />
}<br />
:root.dark.a2 {<br />
--text-shade-1: #eef;<br />
--text-shade-2: #ccd;<br />
--text-shade-3: #aab;<br />
--text-shade-4: #889;<br />
}<br />
<br />
<br />
/** Mild mode: light gray palette **/<br />
<br />
/**X/ :root, /* Make it the default palette */<br />
:root.mild {<br />
/* Dark mode colors inverted for text */<br />
--text-shade-1: #000;<br />
--text-shade-2: #222;<br />
--text-shade-3: #444;<br />
--text-shade-4: #666;<br />
<br />
/* Handpicked green palette for links */<br />
--link-shade-1: #060;<br />
--link-shade-2: #482;<br />
--link-shade-3: #460;<br />
--link-shade-4: #4a4;<br />
--link-focus-bg: #4169e140; /* royalblue + alpha 25% */<br />
--link-focus-bg: #46d3; /* royalblue + alpha 20%, rounded */<br />
<br />
/* Handpicked light gray palette for background */<br />
--bg-overlay-0: #9998;<br />
--bg-shadow-0: #0004;<br />
--popup-bg: #cccd;<br />
--popup-anim-bg: var(--bg-shade-6);<br />
--popup-anim-bg: #999c; /* darken(var(--popup-bg), 2) */<br />
--popup-anim-bg: #333c;<br />
--popup-anim-bg: #0006; /* invert dark */<br />
--bg-shadow-1: var(--bg-shade-0);<br />
--bg-shade-0: #999;<br />
--bg-shade-1: #aaa;<br />
--bg-shade-2: #bbb;<br />
--bg-shade-3: #ddd;<br />
--border-shade-3: var(--bg-shade-2);<br />
--bg-shade-3a: #e1e1e1; /* +7: +4 */<br />
/* --bg-shade-4: #e5e5e5; */ /* +6: +4 */<br />
--bg-shade-4: #e8e8e8; /* +6: +7 */ /* table row 1 */<br />
--border-shade-4: var(--bg-shade-2);<br />
--bg-shade-48: #e8e8e8; /* +4 :+3 */<br />
--bg-shade-4a: #eaeaea; /* +2 */<br />
--bg-shade-50: #eeeeee; /* +6: +4 */<br />
--bg-shade-5: #f2f2f2; /* +5: +4 */ /* table row 2 */<br />
--bg-shade-6: #fff; /* +17: +13 */<br />
<br />
/* Difference view: gray, red and green with highlights */<br />
--diff-bg: #fff2; /* brighten -- add some white with transparency -> #e1e1e1 */<br />
--diff-bg: #fff4; /* brighten -- add some white with transparency -> #e6e6e6 */<br />
--diff-bg: #fff5; /* brighten -- add some white with transparency -> #e8e8e8 */<br />
--diff-bg: #fff7; /* brighten -- add some white with transparency -> #ededed */<br />
--diff-bg: #fff8; /* brighten -- add some white with transparency -> #efefef */<br />
--diff-bg: var(--bg-shade-4); /* #e8e8e8 */<br />
--diff-text: #222;<br />
--diff-text: var(--text-shade-2); /* #222 */<br />
<br />
/* --diff-add-bg: #0f04; */ /* bit bright */<br />
--diff-add-bg: #0f03; /* add some green to --bg-shade-3 -> #b1e2b6 */<br />
--diff-add-bg: #aea; /* #e8e8e8 + #0f03 -> #b1e2b6 rounded */<br />
--diff-add-bg: #beb; /* #e8e8e8 + #0f03 -> #b1e2b6 rounded */<br />
--diff-add-bg: #bdb; /* #e8e8e8 + #0f03 -> #b1e2b6 rounded */<br />
--diff-add-bg: #ada; /* #e8e8e8 + #0f03 -> #b1e2b6 rounded */<br />
--diff-add-bg-1: #0f05; /* add more green -> #3fef47 */<br />
--diff-add-bg-1: #4e4; /* #ada + #0f05 -> #3fef47 rounded */<br />
--diff-add-bg-1: #6d6; /* #ada + #0f05 -> #3fef47, darker */<br />
--diff-add-bg-1: #5d5; /* #ada + #0f05 -> #3fef47, darker */<br />
<br />
/* --diff-del-bg: #f004; */ /* bit bright */<br />
--diff-del-bg: #f003; /* add some red to --bg-shade-3 -> #e6b5b5 */<br />
--diff-del-bg: #eaa; /* #e8e8e8 + #f003 -> #e6b5b5 rounded */<br />
--diff-del-bg-1: #f005; /* add more red -> #f57978 */<br />
--diff-del-bg-1: #e77; /* #533 + #f005 -> #f57978 rounded */<br />
--diff-del-bg-1: #e66; /* #533 + #f005 -> #f57978 rounded, bit darker */<br />
--diff-del-bg-1: #e55; /* #533 + #f005 -> #f57978, darker */<br />
<br />
--image-invert: '';<br />
}<br />
<br />
/**X/ :root, /* Make it the default palette */<br />
:root.bluelinks {<br />
/* Darkened blue palette for links */<br />
--link-shade-4: #99d;<br />
--link-shade-3: #66b;<br />
--link-shade-2: #449;<br />
--link-shade-1: #227;<br />
}<br />
<br />
:root.mild.b0 {<br />
--bg-overlay-0: #aaa8;<br />
--bg-shadow-1: var(--bg-shade-0);<br />
--bg-shade-0: #aaa;<br />
--bg-shade-1: #ccc;<br />
--bg-shade-1: #bbb;<br />
--bg-shade-2: #ccc;<br />
--bg-shade-3: #e7e7e7;<br />
--bg-shade-3a: #eee;<br />
--bg-shade-4: #f4f4f4;<br />
--bg-shade-48: #f7f7f7;<br />
--bg-shade-4a: #f8f8f8;<br />
--bg-shade-50: #fafafa;<br />
--bg-shade-5: #fcfcfc;<br />
--bg-shade-6: #fff;<br />
}<br />
:root.mild.b1 {<br />
--bg-overlay-0: #9998;<br />
--bg-shadow-1: var(--bg-shade-0);<br />
--bg-shade-0: #999;<br />
--bg-shade-1: #aaa;<br />
--bg-shade-2: #bbb;<br />
--bg-shade-3: #ccc;<br />
--bg-shade-3a: #cacaca;<br />
--bg-shade-4: #ddd;<br />
--bg-shade-48: #d8d8d8;<br />
--bg-shade-4a: #dadada;<br />
--bg-shade-50: #e0e0e0;<br />
--bg-shade-5: #eee;<br />
--bg-shade-6: #fff;<br />
}<br />
:root.mild.b2 {<br />
--bg-overlay-0: #aaa8;<br />
--bg-shadow-1: var(--bg-shade-0);<br />
--bg-shade-0: #aaa;<br />
--bg-shade-1: #bbb;<br />
--bg-shade-2: #ccc;<br />
--bg-shade-3: #ddd;<br />
--bg-shade-3a: #dadada;<br />
--bg-shade-4: #eee;<br />
--bg-shade-48: #e8e8e8;<br />
--bg-shade-4a: #eaeaea;<br />
--bg-shade-50: #f0f0f0;<br />
--bg-shade-5: #f8f8f8;<br />
--bg-shade-6: #fff;<br />
}<br />
:root.mild.a1 {<br />
--text-shade-1: #221;<br />
--text-shade-2: #443;<br />
--text-shade-3: #665;<br />
--text-shade-4: #887;<br />
}<br />
:root.mild.a2 {<br />
--text-shade-1: #110;<br />
--text-shade-2: #332;<br />
--text-shade-3: #554;<br />
--text-shade-4: #776;<br />
}<br />
<br />
<br />
/** TODO: Bright palette from Vector and Timeless **/<br />
<br />
:root.bright {<br />
/* .dark inverted */<br />
--text-shade-1: #000;<br />
--text-shade-2: #222;<br />
--text-shade-3: #444;<br />
--text-shade-4: #666;<br />
--link-shade-1: #220;<br />
--link-shade-2: #440;<br />
--link-shade-3: #662;<br />
--link-shade-4: #884;<br />
<br />
/* .dark inverted */<br />
--bg-overlay-0: #fff8;<br />
--bg-shadow-1: var(--bg-shade-0);<br />
--bg-shade-0: #fff;<br />
--bg-shade-1: #e7e7e7;<br />
--bg-shade-2: #ddd;<br />
--bg-shade-3: #ccc;<br />
--bg-shade-3a: #c5c5c5;<br />
--bg-shade-4: #bbb;<br />
--bg-shade-48: #b7b7b7;<br />
--bg-shade-4a: #b5b5b5;<br />
--bg-shade-50: #afafaf;<br />
--bg-shade-5: #aaa;<br />
--bg-shade-6: #999;<br />
<br />
--image-invert: '';<br />
}<br />
<br />
<br />
/** Dark mode inverted (binary complement) **/<br />
<br />
:root.darkinvert {<br />
--text-shade-1: #000;<br />
--text-shade-2: #222;<br />
--text-shade-3: #444;<br />
--text-shade-4: #666;<br />
--link-shade-1: #220;<br />
--link-shade-2: #440;<br />
--link-shade-3: #662;<br />
--link-shade-4: #884;<br />
<br />
--bg-overlay-0: #fff8;<br />
--bg-shadow-1: var(--bg-shade-3);<br />
--bg-shade-0: #fff;<br />
--bg-shade-1: #e7e7e7;<br />
--bg-shade-2: #ddd;<br />
--bg-shade-3: #ccc;<br />
--bg-shade-3a: #c5c5c5;<br />
--bg-shade-4: #bbb;<br />
--bg-shade-48: #b7b7b7;<br />
--bg-shade-4a: #b5b5b5;<br />
--bg-shade-50: #afafaf;<br />
--bg-shade-5: #aaa;<br />
--bg-shade-6: #999;<br />
<br />
--image-invert: '';<br />
}<br />
:root.darkinvert.a1 {<br />
--text-shade-1: #221;<br />
--text-shade-2: #443;<br />
--text-shade-3: #665;<br />
--text-shade-4: #887;<br />
}<br />
:root.darkinvert.a2 {<br />
--text-shade-1: #110;<br />
--text-shade-2: #332;<br />
--text-shade-3: #554;<br />
--text-shade-4: #776;<br />
}<br />
<br />
<br />
/** Blue palette -- just background -- looks good **/<br />
:root.blue {<br />
--bg-shade-1: #122;<br />
--bg-shade-2: #233;<br />
--bg-shade-3: #334;<br />
--bg-shade-3a: #3a3a4a;<br />
--bg-shade-4: #445;<br />
--bg-shade-5: #556;<br />
--bg-shade-6: #667;<br />
<br />
--image-invert: invert(1);<br />
}<br />
<br />
/** Blue palette -- just text -- looks less readable **/<br />
:root.bluetext {<br />
/* --text-shade-1: skyblue; */<br />
/* --text-shade-2: dodgerblue; */<br />
/* --text-shade-3: royalblue; */<br />
--text-shade-1: #eef;<br />
--text-shade-2: #cce;<br />
--text-shade-3: #aac;<br />
--text-shade-4: #88a;<br />
/* --link-shade-2: dodgerblue; */<br />
/* --link-shade-3: royalblue; */<br />
--link-shade-1: #ccf;<br />
--link-shade-2: #aaf;<br />
--link-shade-3: #88d;<br />
--link-shade-4: #66b;<br />
}<br />
<br />
<br />
<br />
<br />
/**** Font selection ****/<br />
<br />
:root {<br />
/* --font-default: sans-serif; */ /* Vector */<br />
/* --font-mono: monospace,monospace; */ /* Timeless */<br />
/* --font-sans: 'Segoe UI','Segoe UI Emoji','Segoe UI Symbol','Lato','Liberation Sans','Noto Sans','Helvetica Neue','Helvetica',sans-serif; */ /* Timeless */<br />
/* --font-heading-serif: 'Linux Libertine','Georgia','Times',serif; */ /* Vector */<br />
/* --font-heading-serif: 'Linux Libertine','Times New Roman','Liberation Serif','Nimbus Roman','Noto Serif','Times',serif; */ /* Timeless */<br />
/* --font-mono: 'Menlo', 'Monaco', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; */ /* .ace_editor */<br />
<br />
--font-mono: var(--font-fira-code), 'Hack', 'Source Code Pro', 'Consolas', 'Menlo', 'Monaco', 'Noto Mono', 'Nimbus Mono L', 'Inconsolata', 'Ubuntu Mono', monospace;<br />
--font-sans: 'Noto Sans', 'Roboto', 'Segoe UI', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Segoe UI Historic', 'Lato', 'Liberation Sans', 'Helvetica Neue', 'Helvetica', sans-serif;<br />
--font-serif: 'Noto Serif', 'Roboto Slab', 'Georgia', 'Linux Libertine', 'Liberation Serif', 'Nimbus Roman', 'Times', serif;<br />
<br />
/* --font-heading-sans: 'Overpass'; */ /* Thick (heavy), but narrow */<br />
/* --font-heading-sans: 'Raleway'; */ /* Wide, but thin (light) */<br />
--font-heading-sans: 'Lato', 'Verdana', 'Overpass', 'Raleway', var(--font-sans);<br />
--font-heading-serif: 'Lora', var(--font-serif);<br />
--font-logo: var(--font-heading-sans);<br />
}<br />
/**/ :root, /* Default: serif font */<br />
/**/ :root.font-serif {<br />
--font-default: var(--font-serif);<br />
--font-heading: var(--font-heading-serif);<br />
}<br />
/**X/ :root,<br />
/**/ :root.font-sans {<br />
--font-default: var(--font-sans);<br />
--font-heading: var(--font-heading-sans);<br />
}<br />
/**X/ :root,<br />
/**/ :root.font-easyread {<br />
/* Option for dyslexic users, see https://creativemarket.com/blog/is-comic-sans-easier-for-dyslexic-users-to-read */<br />
--font-default: 'Comic Sans MS', 'Comic Sans', sans;<br />
--font-heading: var(--font-default);<br />
}<br />
<br />
<br />
/* https://github.com/tonsky/FiraCode#browser-support */<br />
:root {<br />
--font-fira-code: 'Fira Code';<br />
}<br />
<br />
@supports (font-variation-settings: normal) {<br />
:root {<br />
--font-fira-code: 'Fira Code VF';<br />
}<br />
}<br />
<br />
<br />
<br />
<br />
/** userstyles.org prohibits @import **/<br />
<br />
/** Noto Serif **/<br />
/* @import url(https://tools-static.wmflabs.org/fontcdn/css?family=Noto+Serif); */<br />
/* cyrillic-ext */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Serif'), local('NotoSerif'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Iaw1J5X9T9RW6j9bNfFoWaCi_.woff2) format('woff2');<br />
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;<br />
}<br />
/* cyrillic */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Serif'), local('NotoSerif'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Iaw1J5X9T9RW6j9bNfFMWaCi_.woff2) format('woff2');<br />
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;<br />
}<br />
/* greek-ext */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Serif'), local('NotoSerif'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Iaw1J5X9T9RW6j9bNfFsWaCi_.woff2) format('woff2');<br />
unicode-range: U+1F00-1FFF;<br />
}<br />
/* greek */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Serif'), local('NotoSerif'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Iaw1J5X9T9RW6j9bNfFQWaCi_.woff2) format('woff2');<br />
unicode-range: U+0370-03FF;<br />
}<br />
/* vietnamese */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Serif'), local('NotoSerif'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Iaw1J5X9T9RW6j9bNfFgWaCi_.woff2) format('woff2');<br />
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;<br />
}<br />
/* latin-ext */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Serif'), local('NotoSerif'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Iaw1J5X9T9RW6j9bNfFkWaCi_.woff2) format('woff2');<br />
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;<br />
}<br />
/* latin */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Serif'), local('NotoSerif'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Iaw1J5X9T9RW6j9bNfFcWaA.woff2) format('woff2');<br />
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;<br />
}<br />
<br />
/** Noto Serif Bold **/<br />
/* @import url(https://tools-static.wmflabs.org/fontcdn/css?family=Noto+Serif:700); */<br />
/* cyrillic-ext */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Serif Bold'), local('NotoSerif-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Law1J5X9T9RW6j9bNdOwzfRqecf1I.woff2) format('woff2');<br />
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;<br />
}<br />
/* cyrillic */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Serif Bold'), local('NotoSerif-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Law1J5X9T9RW6j9bNdOwzfROecf1I.woff2) format('woff2');<br />
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;<br />
}<br />
/* greek-ext */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Serif Bold'), local('NotoSerif-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Law1J5X9T9RW6j9bNdOwzfRuecf1I.woff2) format('woff2');<br />
unicode-range: U+1F00-1FFF;<br />
}<br />
/* greek */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Serif Bold'), local('NotoSerif-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Law1J5X9T9RW6j9bNdOwzfRSecf1I.woff2) format('woff2');<br />
unicode-range: U+0370-03FF;<br />
}<br />
/* vietnamese */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Serif Bold'), local('NotoSerif-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Law1J5X9T9RW6j9bNdOwzfRiecf1I.woff2) format('woff2');<br />
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;<br />
}<br />
/* latin-ext */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Serif Bold'), local('NotoSerif-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Law1J5X9T9RW6j9bNdOwzfRmecf1I.woff2) format('woff2');<br />
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;<br />
}<br />
/* latin */<br />
@font-face {<br />
font-family: 'Noto Serif';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Serif Bold'), local('NotoSerif-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notoserif/v8/ga6Law1J5X9T9RW6j9bNdOwzfReecQ.woff2) format('woff2');<br />
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;<br />
}<br />
<br />
<br />
/** Noto Sans **/<br />
/* @import url(https://tools-static.wmflabs.org/fontcdn/css?family=Noto+Sans); */<br />
/* cyrillic-ext */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Sans'), local('NotoSans'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0IIpQlx3QUlC5A4PNr6DRAW_0.woff2) format('woff2');<br />
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;<br />
}<br />
/* cyrillic */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Sans'), local('NotoSans'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0IIpQlx3QUlC5A4PNr4TRAW_0.woff2) format('woff2');<br />
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;<br />
}<br />
/* devanagari */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Sans'), local('NotoSans'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0IIpQlx3QUlC5A4PNr5DRAW_0.woff2) format('woff2');<br />
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;<br />
}<br />
/* greek-ext */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Sans'), local('NotoSans'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0IIpQlx3QUlC5A4PNr6TRAW_0.woff2) format('woff2');<br />
unicode-range: U+1F00-1FFF;<br />
}<br />
/* greek */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Sans'), local('NotoSans'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0IIpQlx3QUlC5A4PNr5jRAW_0.woff2) format('woff2');<br />
unicode-range: U+0370-03FF;<br />
}<br />
/* vietnamese */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Sans'), local('NotoSans'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0IIpQlx3QUlC5A4PNr6jRAW_0.woff2) format('woff2');<br />
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;<br />
}<br />
/* latin-ext */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Sans'), local('NotoSans'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0IIpQlx3QUlC5A4PNr6zRAW_0.woff2) format('woff2');<br />
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;<br />
}<br />
/* latin */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Noto Sans'), local('NotoSans'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0IIpQlx3QUlC5A4PNr5TRA.woff2) format('woff2');<br />
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;<br />
}<br />
<br />
/** Noto Sans Bold **/<br />
/* @import url(https://tools-static.wmflabs.org/fontcdn/css?family=Noto+Sans:700); */<br />
/* cyrillic-ext */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0NIpQlx3QUlC5A4PNjXhFVadyB1Wk.woff2) format('woff2');<br />
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;<br />
}<br />
/* cyrillic */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0NIpQlx3QUlC5A4PNjXhFVYNyB1Wk.woff2) format('woff2');<br />
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;<br />
}<br />
/* devanagari */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0NIpQlx3QUlC5A4PNjXhFVZdyB1Wk.woff2) format('woff2');<br />
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;<br />
}<br />
/* greek-ext */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0NIpQlx3QUlC5A4PNjXhFVaNyB1Wk.woff2) format('woff2');<br />
unicode-range: U+1F00-1FFF;<br />
}<br />
/* greek */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0NIpQlx3QUlC5A4PNjXhFVZ9yB1Wk.woff2) format('woff2');<br />
unicode-range: U+0370-03FF;<br />
}<br />
/* vietnamese */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0NIpQlx3QUlC5A4PNjXhFVa9yB1Wk.woff2) format('woff2');<br />
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;<br />
}<br />
/* latin-ext */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0NIpQlx3QUlC5A4PNjXhFVatyB1Wk.woff2) format('woff2');<br />
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;<br />
}<br />
/* latin */<br />
@font-face {<br />
font-family: 'Noto Sans';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/notosans/v9/o-0NIpQlx3QUlC5A4PNjXhFVZNyB.woff2) format('woff2');<br />
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;<br />
}<br />
<br />
<br />
/** Elegant serif font for headings -- Lora (serif) **/<br />
/* @import url(https://tools-static.wmflabs.org/fontcdn/css?family=Lora); */<br />
/* cyrillic-ext */<br />
@font-face {<br />
font-family: 'Lora';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Lora Regular'), local('Lora-Regular'), url(https://tools-static.wmflabs.org/fontcdn/s/lora/v14/0QIvMX1D_JOuMwf7I-NP.woff2) format('woff2');<br />
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;<br />
}<br />
/* cyrillic */<br />
@font-face {<br />
font-family: 'Lora';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Lora Regular'), local('Lora-Regular'), url(https://tools-static.wmflabs.org/fontcdn/s/lora/v14/0QIvMX1D_JOuMw77I-NP.woff2) format('woff2');<br />
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;<br />
}<br />
/* vietnamese */<br />
@font-face {<br />
font-family: 'Lora';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Lora Regular'), local('Lora-Regular'), url(https://tools-static.wmflabs.org/fontcdn/s/lora/v14/0QIvMX1D_JOuMwX7I-NP.woff2) format('woff2');<br />
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;<br />
}<br />
/* latin-ext */<br />
@font-face {<br />
font-family: 'Lora';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Lora Regular'), local('Lora-Regular'), url(https://tools-static.wmflabs.org/fontcdn/s/lora/v14/0QIvMX1D_JOuMwT7I-NP.woff2) format('woff2');<br />
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;<br />
}<br />
/* latin */<br />
@font-face {<br />
font-family: 'Lora';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Lora Regular'), local('Lora-Regular'), url(https://tools-static.wmflabs.org/fontcdn/s/lora/v14/0QIvMX1D_JOuMwr7Iw.woff2) format('woff2');<br />
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;<br />
}<br />
<br />
<br />
/** Elegant sans-serif font for headings -- Overpass (sans) -- Thick (heavy), but narrow **/<br />
/** Elegant sans-serif font for headings -- Raleway (sans) -- Wide, but thin (light) **/<br />
/** Elegant sans-serif font for logo-text and header -- Lato (sans) -- Smooth, popular **/<br />
/* @import url(https://tools-static.wmflabs.org/fontcdn/css?family=Lato:400,700); */<br />
/* latin-ext */<br />
@font-face {<br />
font-family: 'Lato';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Lato Regular'), local('Lato-Regular'), url(https://tools-static.wmflabs.org/fontcdn/s/lato/v16/S6uyw4BMUTPHjxAwXjeu.woff2) format('woff2');<br />
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;<br />
}<br />
/* latin */<br />
@font-face {<br />
font-family: 'Lato';<br />
font-style: normal;<br />
font-weight: 400;<br />
src: local('Lato Regular'), local('Lato-Regular'), url(https://tools-static.wmflabs.org/fontcdn/s/lato/v16/S6uyw4BMUTPHjx4wXg.woff2) format('woff2');<br />
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;<br />
}<br />
/* latin-ext */<br />
@font-face {<br />
font-family: 'Lato';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Lato Bold'), local('Lato-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/lato/v16/S6u9w4BMUTPHh6UVSwaPGR_p.woff2) format('woff2');<br />
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;<br />
}<br />
/* latin */<br />
@font-face {<br />
font-family: 'Lato';<br />
font-style: normal;<br />
font-weight: 700;<br />
src: local('Lato Bold'), local('Lato-Bold'), url(https://tools-static.wmflabs.org/fontcdn/s/lato/v16/S6u9w4BMUTPHh6UVSwiPGQ.woff2) format('woff2');<br />
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;<br />
}<br />
<br />
<br />
<br />
<br />
/**** Global ****/<br />
<br />
html {<br />
height: 100%;<br />
filter: brightness(100%) contrast(100%) grayscale(0%) !important;<br />
-webkit-filter: brightness(100%) contrast(100%) grayscale(0%) !important;<br />
overflow-x: hidden;<br />
}<br />
body {<br />
margin: 0;<br />
line-height: initial;<br />
overflow-y: initial; /* Vector */<br />
}<br />
html,body {<br />
font-size: initial;<br />
}<br />
<br />
body {<br />
background-color: var(--bg-shade-2);<br />
color: var(--text-shade-2);<br />
}<br />
/* .mw-body, .parsoid-body, */<br />
#content {<br />
background-color: var(--bg-shade-3);<br />
color: var(--text-shade-2);<br />
}<br />
<br />
body {<br />
/* text-shadow: 0px 0px 0px; */ /* Font smoothing */<br />
}<br />
a {<br />
text-shadow: 0px 0px 0px; /* Font smoothing and bolding */<br />
}<br />
.mw-editsection a {<br />
/* text-shadow: none; */<br />
/* text-shadow: inherit; */<br />
}<br />
<br />
<br />
<br />
<br />
/**** Fix errors in skins ****/<br />
<br />
/* MultiMediaViewer progress-bar */<br />
<br />
.mw-mmv-progress {<br />
background-color: #ccc;<br />
height: 29px;<br />
position: fixed;<br />
bottom: 0;<br />
top: unset;<br />
}<br />
<br />
.mw-mmv-progress-percent {<br />
height: 100%;<br />
background: linear-gradient(-45deg, #fff 33%, #ccc 33%, #ccc 66%, #fff 66%);<br />
background-size: 60px 30px, 100% 100%, 100% 100%;<br />
animation: mw-mmv-progress-percent-animation 1.5s linear infinite;<br />
}<br />
<br />
@keyframes mw-mmv-progress-percent-animation {<br />
0% { background-position: 0 0; }<br />
100% { background-position: 120px 0; }<br />
}<br />
<br />
.mw-mmv-image-metadata {<br />
background-color: rgba( 180,195,210,0.1);<br />
}<br />
<br />
<br />
<br />
/* Missing class in Timeless, Minerva, all except Vector? */<br />
body:not(.skin-vector) .usermessage {<br />
background-color: #ffce7b;<br />
border: 1px solid #ffa500;<br />
color: #000;<br />
font-weight: bold;<br />
/* margin: 2em 0 1em; */<br />
padding: 0.5em 1em;<br />
vertical-align: middle;<br />
}<br />
<br />
.usermessage {<br />
/* Position similar to other boxes. 10% left-right margin is the standard. */<br />
margin: 1em 12%;<br />
}<br />
<br />
/* Fix the notification box to the screen (the button where it drops down is NOT an ancestor element) */<br />
.oo-ui-popupWidget-anchored-top {<br />
position: fixed;<br />
top: 38px !important; /* Override inline style generated by javascript on every scroll event */<br />
}<br />
<br />
/* .mw-htmlform-ooui-wrapper.oo-ui-layout.oo-ui-panelLayout.oo-ui-panelLayout-padded.oo-ui-panelLayout-framed { */<br />
.mw-htmlform-ooui-wrapper.oo-ui-panelLayout-framed { /* https://en.wikipedia.org/wiki/Special:Log */<br />
max-width: 50em; /* Don't use full screen width */<br />
}<br />
<br />
/* .mbox-small - unnecessary fixed size and dead space in Vector, Timeless, all? */<br />
/* https://en.wikipedia.org/w/index.php?title=Template:Wikipedia_books&oldid=913583559 "Book: Wikipedia" -- removed on December 30, 2019 */<br />
.mbox-small td.mbox-text {<br />
width: unset; /* Remove rule width: 100%; */<br />
}<br />
html body.mediawiki .mbox-small {<br />
width: unset; /* Remove rule width: 238px; */<br />
max-width: 20em; /* Limit at 238px/12.3px (Vector font-size) */<br />
border-collapse: collapse; /* Remove the 2px dead space between the <td> and the border */<br />
}<br />
.mbox-small td.mbox-image {<br />
/* table.mbox-small.wikipedia-books need no extra padding */<br />
padding: 0.25em; /* Override rule padding: 2px 0 2px 0.9em; */<br />
}<br />
<br />
<br />
<br />
<br />
/**** Vector skin ****/<br />
<br />
body.skin-vector .mw-body {<br />
/* Disable full-width border between content and tabs */<br />
margin-top: 0;<br />
border-top: 0;<br />
}<br />
.vectorTabs, .vectorTabs a, #mw-head .vectorMenu h3 {<br />
/* Horizontal border between content and tabs only */<br />
border-bottom: 0.1px solid #a7d7f9;<br />
}<br />
/* Vertical border between tabs<br />
.vectorTabs, .vectorTabs a, #mw-head .vectorMenu h3 {<br />
background-image: linear-gradient(to bottom, var(--bg-shade-3) 0, var(--bg-shade-4) 100%);<br />
}<br />
*/<br />
<br />
/* body.skin-vector #p-search,*/<br />
.vectorTabs li {<br />
background-color: var(--bg-shade-3);<br />
background-image: linear-gradient(to top, var(--bg-shade-3) 0, var(--bg-shade-3) 50%, var(--bg-shade-2) 100%);<br />
}<br />
.vectorTabs li a {<br />
color: var(--text-shade-2);<br />
}<br />
.vectorTabs .selected {<br />
background-color: var(--bg-shade-4);<br />
background-image: linear-gradient(to top, var(--bg-shade-3) 0, var(--bg-shade-4) 10%, var(--bg-shade-4) 50%, var(--bg-shade-3) 70%, var(--bg-shade-2) 100%);<br />
}<br />
.vectorTabs .selected a,<br />
.vectorTabs .selected a:visited {<br />
color: var(--text-shade-1);<br />
}<br />
body.skin-vector #searchInput {<br />
background-color: var(--bg-shade-3);<br />
color: var(--text-shade-1);<br />
padding: 0.5em 2.5em 0.5em 1em;<br />
}<br />
body.skin-vector #searchInput:focus,<br />
body.skin-vector #simpleSearch:hover #searchInput:focus {<br />
box-shadow: unset;<br />
}<br />
<br />
<br />
/* Use flex to position head and content */<br />
<br />
body.skin-vector {<br />
display: flex;<br />
flex-direction: column;<br />
}<br />
body.skin-vector #mw-navigation { order: 1; }<br />
body.skin-vector #content { order: 2; }<br />
body.skin-vector #footer { order: 3; }<br />
<br />
/* These background hacks are unnecessary and incompatible with flex positioning */<br />
#mw-page-base, /* background-image: linear-gradient(to bottom,#ffffff 50%,#f6f6f6 100%); -- unnoticably subtle gradient in the .vectorTabs area */<br />
#mw-head-base { /* overlay above #mw-page-base that does nothing? spoils the flex width margin-top: -5em; */<br />
display: none;<br />
margin-top: 0;<br />
}<br />
<br />
<br />
/* Use var to set panel width */<br />
<br />
body.skin-vector { --sidebar-width: 11em; }<br />
@media screen and (max-width: 981px) {<br />
body.skin-vector { --sidebar-width: 10em; }<br />
}<br />
body.skin-vector #mw-panel {<br />
width: var(--sidebar-width);<br />
transition: padding-left 0.5s ease;<br />
box-sizing: border-box;<br />
}<br />
body.skin-vector #mw-head, /* Refactored from #left-navigation */<br />
body.skin-vector .mw-body,<br />
body.skin-vector #mw-data-after-content,<br />
body.skin-vector #footer {<br />
margin-left: var(--sidebar-width);<br />
transition: margin-left 0.5s ease;<br />
}<br />
<br />
/* Move all tabs and search to the left and up */<br />
body.skin-vector #mw-head {<br />
position: static;<br />
width: unset;<br />
display: flex;<br />
flex-wrap: wrap-reverse; /* If not wide enough then wrap vectorTabs below personal menu */<br />
background-image: linear-gradient(to bottom, var(--bg-shade-0) 0%, var(--bg-shade-3) 100%); /* Gradient in the row of vectorTabs, refactored from #mw-head-base */<br />
background-image: linear-gradient(to bottom, var(--bg-shade-0) 0%, var(--bg-shade-1) 20%, var(--bg-shade-3) 100%); /* Gradient in the row of vectorTabs, refactored from #mw-head-base */<br />
}<br />
body.skin-vector #left-navigation,<br />
body.skin-vector #right-navigation {<br />
margin-top: 0;<br />
margin-bottom: 0;<br />
}<br />
body.skin-vector #left-navigation {<br />
flex: 0 0 auto; /* No grow, no shrink */<br />
margin-left: 0; /* Margin refactored to #mw-head */<br />
margin-right: 0.1px; /* To avoid calculateTabDistance() returning 0 and triggering tab collapsing */<br />
}<br />
body.skin-vector #right-navigation {<br />
flex: 1 1 auto; /* Grow and shrink for the search field */<br />
display: flex;<br />
}<br />
body.skin-vector #p-views { /* #right-navigation .vectorTabs */<br />
flex: 0 0 auto; /* No grow, no shrink */<br />
}<br />
body.skin-vector #p-search {<br />
flex: 1 1 auto; /* Only the search field grows and shrinks */<br />
padding: 0 0.5em;<br />
margin: auto 0 auto 0.5em;<br />
--search-width: 25em;<br />
max-width: var(--search-width);<br />
}<br />
body.skin-vector #p-search form {<br />
margin: 0;<br />
}<br />
/* #p-search form #simpleSearch */<br />
body.skin-vector #simpleSearch {<br />
width: 100%;<br />
max-width: unset;<br />
}<br />
body.skin-vector #p-personal {<br />
order: 3;<br />
/* float: right; */<br />
float: unset;<br />
position: static;<br />
margin: 0.5em 1em 0 auto;<br />
z-index: initial;<br />
}<br />
body.skin-vector #p-personal ul {<br />
padding-left: 0;<br />
}<br />
#ca-view {<br />
/* Hide "Read" tab: redundant with "Article"/"Page" tab */<br />
display: none;<br />
}<br />
#mw-panel .portal h3 {<br />
/* Navbar headings: use default color --text-shade-2 */<br />
color: inherit;<br />
}<br />
<br />
/* Fix Vector's flawed heading typography */<br />
body.skin-vector .mw-body-content h5,<br />
body.skin-vector .mw-body-content h6 {<br />
font-weight: bold;<br />
}<br />
body.skin-vector .mw-body-content h1 { font-size: 1.8em; }<br />
body.skin-vector .mw-body-content h2 { font-size: 1.7em; }<br />
body.skin-vector .mw-body-content h3 { font-size: 1.4em; }<br />
body.skin-vector .mw-body-content h4 { font-size: 1.2em; }<br />
body.skin-vector .mw-body-content h5 { font-size: 1.1em; }<br />
body.skin-vector .mw-body-content h6 { font-size: 1.0em; }<br />
<br />
<br />
<br />
<br />
/**** Timeless skin ****/<br />
<br />
/* Timeless - Header and Content: use basic document flow to size and position content below header, instead of margin and top position */<br />
<br />
body.skin-timeless {<br />
--sidebar-width: 14em;<br />
}<br />
<br />
body.skin-timeless #mw-header-container {<br />
width: 100%;<br />
padding: 0;<br />
height: auto;<br />
min-height: initial; /* Allow smaller header */<br />
}<br />
body.skin-timeless #p-search {<br />
margin: auto; /* Vertical and horizontal centering */<br />
padding: 0.45em 0.5em; /* Produces 47.56px height; almost same as the original 47.5px */<br />
}<br />
#mw-header-hack {<br />
position: static;<br />
position: sticky;<br />
/* top: initial; */<br />
}<br />
#mw-content-container {<br />
margin-top: 0;<br />
margin-top: 0.35em; /* Height of #mw-header-hack; not necessary if that's moved into #mw-header-container */<br />
margin-top: 3em; /* Approximation of #mw-header-container height */<br />
}<br />
body.skin-timeless #mw-header > * {<br />
margin: auto 0; /* Vertically center header elements */<br />
}<br />
body.skin-timeless #mw-header {<br />
display: flex; /* Even below 850px */<br />
/* Use flex space-between to position header elements */<br />
justify-content: space-between;<br />
}<br />
body.skin-timeless #p-logo-text { order: 1; }<br />
body.skin-timeless #p-search { order: 2; } /* Search box */<br />
body.skin-timeless #user-tools { order: 3; } /* User icons */<br />
<br />
/* TODO Timeless: delete #mw-header-nav-hack, move to end of #mw-header-container, adjust box-shadow (was doubled), optionally rename #mw-header-hack to #mw-header-border */<br />
/*<br />
#mw-header-hack {<br />
position: sticky;<br />
top: initial;<br />
}<br />
#mw-header-nav-hack {<br />
display: none;<br />
}<br />
*/<br />
<br />
<br />
/* Timeless - Header */<br />
<br />
#mw-header-container {<br />
color: var(--text-shade-2);<br />
/* color: var(--text-shade-3); */<br />
background-color: var(--bg-shade-4);<br />
/* background-image: linear-gradient(190deg, transparent, #000d, transparent); */<br />
background-image: linear-gradient(190deg, transparent, var(--bg-shade-0), transparent);<br />
}<br />
#mw-header-container {<br />
/* border-bottom: 0.35em solid var(--bg-shade-5); */<br />
/* border-bottom-color: #186; */<br />
/* border-bottom-color: #0c664d; */<br />
/* box-shadow: 0 6px 6px 0 var(--link-shade-3); */<br />
/* box-shadow: 0 6px 6px 0 #105040; */<br />
/* box-shadow: 0 6px 6px 0px #334a44; */<br />
/* box-shadow: 0 4px 4px 0 var(--bg-shade-4); */<br />
box-shadow: 0 5px 10px 0 var(--bg-shade-2);<br />
box-shadow: 0 5px 10px 0 var(--bg-shadow-1);<br />
box-shadow: 0 6px 10px -3px var(--bg-shadow-1);<br />
}<br />
#mw-header-hack {<br />
display: none; /* Hide multi-colored border */<br />
}<br />
<br />
<br />
/* Timeless - Header - Logo */<br />
<br />
.mw-wiki-logo {<br />
background-size: contain;<br />
}<br />
#p-logo-text {<br />
flex: 0 1 12em;<br />
margin: auto auto auto 0; /* Grow to the right only */<br />
min-width: unset; /* Spoils width calculation? */<br />
box-sizing: border-box;<br />
/* max-width: unset; */<br />
/* white-space: nowrap; */<br />
text-align: center;<br />
}<br />
/* #personal-inner, */<br />
#p-logo-text a,<br />
#p-logo-text a.long {<br />
padding: 0; /* Remove vertical padding that misaligns header elements. Result: logo text is properly aligned vertically with the above rule. */<br />
color: var(--link-shade-1);<br />
font-family: unset;<br />
font-family: var(--font-logo);<br />
font-weight: bold;<br />
/* font-variant: all-small-caps; */<br />
text-shadow: 4px 2px 4px var(--bg-shade-0);<br />
text-shadow: 4px 2px 4px var(--bg-shadow-1);<br />
text-shadow: 3px 2px 5px var(--bg-shadow-1);<br />
}<br />
#p-logo-text a.long {<br />
/* font-size: 1.85em; */ /* Same as :not(.long) */<br />
}<br />
/*<br />
@media screen and (max-width: 850px) {<br />
#p-logo-text {<br />
position: static;<br />
left: 0 !important;<br />
right: 0;<br />
margin-top: 0;<br />
margin-left: 0;<br />
margin-right: 0;<br />
width: 100%;<br />
top: 3.3em;<br />
}<br />
#p-logo-text a.long {<br />
width: 100%;<br />
top: 7px;<br />
text-align: center;<br />
font-size: 40px !important;<br />
}<br />
}<br />
/**/<br />
/*<br />
@media screen and (min-width: 851px) and (max-width: 1099px) {<br />
#p-logo-text a.long {<br />
font-size: 23px !important;<br />
}<br />
}<br />
<br />
@media screen and (min-width: 100px) and (max-width: 900px) {<br />
#p-logo-text a.long {<br />
font-size: 43px !important;<br />
}<br />
}<br />
*/<br />
<br />
<br />
<br />
/* Timeless - Header - Search */<br />
<br />
body.skin-timeless #p-search {<br />
--search-width: 30em;<br />
max-width: var(--search-width);<br />
}<br />
body.skin-timeless #p-search {<br />
flex: 1 3 var(--search-width); /* Overrides original width-dependent rule */<br />
}<br />
body.skin-timeless #simpleSearch {<br />
background-color: var(--bg-shade-3);<br />
border: 1px solid;<br />
}<br />
#searchInput-container {<br />
height: auto;<br />
background-color: initial;<br />
}<br />
body.skin-timeless #searchInput {<br />
height: auto;<br />
padding: 0.2em 2.5em 0.2em 1em;<br />
/* border: 0 !important; */<br />
}<br />
#searchButton, #mw-searchButton {<br />
height: 100%;<br />
width: 2em;<br />
right: 0.3em;<br />
background-position: center;<br />
border: 0;<br />
}<br />
<br />
<br />
/* Timeless - Header - User tools: notifications, personal user menu */<br />
<br />
#user-tools {<br />
flex: 0 0 auto;<br />
display: flex;<br />
justify-content: unset; /* Remove justify-content: space-between; */<br />
margin: 0 2em 0 auto; /* User menu in the top-right corner */<br />
margin: 0 auto 0 2em; /* User menu at around 8/9 of screen width */<br />
}<br />
#user-tools > * {<br />
margin: auto 0;<br />
}<br />
#personal {<br />
order: 2;<br />
position: relative;<br />
}<br />
#personal h2 {<br />
background-position: left center;<br />
margin-bottom: 0; /* Disable margin-bottom: -1em; in original css */<br />
padding: 0; /* Disable padding-bottom: 1em; in original css */<br />
padding-left: 1em; /* Space for the user icon */<br />
border-bottom: 0; /* Unset h2's border-bottom */<br />
overflow: visible;<br />
font-family: var(--font-logo);<br />
font-size: 1.15em;<br />
}<br />
#personal h2 span {<br />
height: auto;<br />
vertical-align: baseline;<br />
overflow: visible;<br />
}<br />
<br />
#personal h2::after {<br />
background-position: bottom;<br />
}<br />
#personal-extra ul {<br />
margin: 0;<br />
}<br />
<br />
<br />
#personal .dropdown {<br />
/* Glassy look for user menu */<br />
background-color: var(--popup-bg);<br />
border: 1px solid var(--bg-shade-3);<br />
/* border: unset; */<br />
border-radius: var(--usermenu-radius);<br />
right: 0.25em;<br />
padding: 1.5em 1.5em 0em;<br />
}<br />
.mw-portlet-body {<br />
padding-bottom: 1.5em;<br />
}<br />
#mw-site-navigation .sidebar-inner .mw-portlet-body,<br />
#mw-related-navigation .sidebar-inner .mw-portlet-body,<br />
#personal .dropdown .mw-portlet-body {<br />
margin: 0;<br />
}<br />
.dropdown h3 {<br />
margin-top: 0;<br />
}<br />
.sidebar-inner li {<br />
margin: unset;<br />
}<br />
<br />
<br />
/* Dropdowns' anchor triangle */<br />
.client-nojs #mw-site-navigation .sidebar-chunk:hover h2 span:before,<br />
.client-nojs #mw-related-navigation .sidebar-chunk:hover .sidebar-inner::before,<br />
#mw-site-navigation .dropdown-active h2 span::before,<br />
#mw-related-navigation .sidebar-inner::before,<br />
#personal .dropdown::before,<br />
#personal .dropdown::after {<br />
/* Border of anchor triangle on top */<br />
border-bottom-color: var(--bg-shade-3);<br />
}<br />
.client-nojs #mw-site-navigation .sidebar-chunk:hover h2 span:after,<br />
.client-nojs #mw-related-navigation .sidebar-chunk:hover .sidebar-inner::after,<br />
#mw-site-navigation .dropdown-active h2 span::after,<br />
#mw-related-navigation .sidebar-inner::after,<br />
#personal .dropdown::after {<br />
/* Anchor triangle on top */<br />
border-bottom-color: var(--popup-bg);<br />
}<br />
#personal .dropdown::before {<br />
right: 0.6em;<br />
}<br />
#mw-related-navigation .sidebar-inner:before,<br />
.client-nojs #mw-related-navigation .sidebar-chunk:hover .sidebar-inner::before,<br />
#personal .dropdown::before {<br />
top: -10px; /* Originally -10px; */<br />
}<br />
#mw-related-navigation .sidebar-inner:after,<br />
.client-nojs #mw-related-navigation .sidebar-chunk:hover .sidebar-inner::after,<br />
#personal .dropdown::after {<br />
border-bottom-color: var(--bg-shade-2);<br />
top: -9px; /* Fix -8px; */<br />
}<br />
.client-nojs #mw-site-navigation .sidebar-chunk:hover h2 span:before,<br />
#mw-site-navigation .dropdown-active h2 span::before,<br />
#mw-site-navigation .sidebar-chunk h2 span:before {<br />
top: 35px; /* Fix 36px; */<br />
}<br />
.client-nojs #mw-site-navigation .sidebar-chunk:hover h2 span:after,<br />
#mw-site-navigation .dropdown-active h2 span::after,<br />
#mw-site-navigation .sidebar-chunk h2 span:after {<br />
top: 36px; /* Originally 36px; */<br />
}<br />
<br />
.mm-submenu { /* "MoreMenu" gadget's popup menus */<br />
background-color: var(--popup-bg);<br />
border: 0;<br />
border-radius: var(--usermenu-radius);<br />
}<br />
.mm-submenu::after { /* "MoreMenu" gadget's popup menus */<br />
border-left-color: var(--popup-bg);<br />
padding-right: unset;<br />
right: -8px;<br />
}<br />
#personal .dropdown h3 {<br />
/* TODO: check if size adjustment is needed */<br />
/* line-height: 25px; */<br />
}<br />
#personal .dropdown b {<br />
display: block;<br />
}<br />
#personal .dropdown a {<br />
/* background-color: var(--popup-bg-text); */<br />
/* box-shadow: var(--popup-bg-text) 0px 0px 10px 5px; */<br />
}<br />
<br />
<br />
<br />
/* Timeless - Header - Wide (desktop) */<br />
<br />
@media screen and (min-width: 851px) {<br />
body.skin-timeless #mw-header-container {<br />
position: fixed;<br />
z-index: 100;<br />
top: 0;<br />
}<br />
<br />
#p-logo-text {<br />
padding: 2px 1em;<br />
flex-basis: var(--sidebar-width);<br />
}<br />
<br />
#personal .dropdown {<br />
top: 32px;<br />
}<br />
}<br />
<br />
@media screen and (min-width: 1100px) {<br />
#mw-site-navigation .sidebar-chunk,<br />
#mw-related-navigation .sidebar-chunk {<br />
background-color: var(--bg-shade-3);<br />
/* box-shadow: var(--bg-shade-3) 0 0px 4px 4px; */<br />
}<br />
}<br />
<br />
<br />
<br />
/* Timeless - Header - Thin (mobile) */<br />
<br />
@media screen and (max-width: 850px) {<br />
/* Undo absolute positioning */<br />
body.skin-timeless #p-logo-text,<br />
body.skin-timeless #personal-extra,<br />
body.skin-timeless #user-tools h2 {<br />
position: relative;<br />
top: unset;<br />
left: unset;<br />
right: unset;<br />
bottom: unset;<br />
}<br />
body.skin-timeless #mw-header-container {<br />
position: relative;<br />
z-index: 100;<br />
top: 0;<br />
}<br />
body.skin-timeless .sidebar-chunk {<br />
position: absolute;<br />
z-index: 101;<br />
top: 8px;<br />
}<br />
body.skin-timeless #site-navigation {<br />
left: 5px;<br />
}<br />
body.skin-timeless #site-tools {<br />
left: 50px;<br />
}<br />
body.skin-timeless .sidebar-chunk h2 {<br />
position: static;<br />
/* Invert black icons for dark-mode */<br />
filter: var(--image-invert);<br />
}<br />
body.skin-timeless .sidebar-chunk h2:after {<br />
filter: unset;<br />
}<br />
<br />
#personal .dropdown,<br />
body.skin-timeless .sidebar-inner {<br />
top: 2.4em;<br />
}<br />
body.skin-timeless #site-navigation .sidebar-inner {<br />
left: 0em;<br />
min-width: 14em;<br />
}<br />
body.skin-timeless #site-tools .sidebar-inner {<br />
left: -3em;<br />
}<br />
body.skin-timeless #p-logo-text {<br />
flex: 0 1 16.5em;<br />
max-width: 16.5em; /* 14em max - 2em padding + 5.5em 90px - 1em for no reason */<br />
margin: auto;<br />
}<br />
body.skin-timeless #p-logo-text a {<br />
margin-left: 90px; /* Space for 2 icons */<br />
}<br />
body.skin-timeless #user-tools {<br />
height: 45px;<br />
}<br />
body.skin-timeless #user-tools h2 {<br />
/*width: 20px;<br />
height: 20px;*/<br />
/* background-size: 20px; */ /* The .svg is set to 30px * 30px */<br />
/* The normal icon is different at 20px: head is bigger. */<br />
/* background-image: linear-gradient( transparent, transparent ), url( /w/skins/Timeless/resources/images/user-grey.svg?49b1e ); */<br />
}<br />
<br />
body.skin-timeless #p-more {<br />
order: 3;<br />
}<br />
body.skin-timeless #page-tools .sidebar-inner {<br />
right: -100vh;<br />
}<br />
<br />
body.skin-timeless #mw-content-container {<br />
margin-top: unset;<br />
}<br />
<br />
body.skin-timeless #personal-extra li {<br />
margin-right: 0.8em;<br />
}<br />
body.skin-timeless #personal h2:after {<br />
/* left: unset; */<br />
}<br />
body.skin-timeless #personal .dropdown ul,<br />
body.skin-timeless #personal .dropdown li {<br />
margin: unset;<br />
}<br />
body.skin-timeless .sidebar-inner ul,<br />
body.skin-timeless .dropdown ul {<br />
margin: unset;<br />
}<br />
.mw-echo-ui-overlay .mw-echo-ui-notificationBadgeButtonPopupWidget-popup {<br />
left: unset !important;<br />
right: 1px !important;<br />
width: unset;<br />
}<br />
.mw-echo-ui-overlay .mw-echo-ui-notificationBadgeButtonPopupWidget-popup .oo-ui-popupWidget-popup .oo-ui-clippableElement-clippable {<br />
max-width: unset !important;<br />
}<br />
/*<br />
}<br />
@media screen and (max-width: 850px) or (pointer: coarse) {<br />
*/<br />
/* #p-personal { */<br />
.mw-portlet-body {<br />
/* Bigger sized menu items for easy touch */<br />
font-size: 1.3em;<br />
}<br />
}<br />
<br />
<br />
@media screen and (max-width: 500px) {<br />
body.skin-timeless #mw-header {<br />
flex-wrap: wrap;<br />
}<br />
body.skin-timeless #p-logo-text {<br />
max-width: 13em;<br />
margin: auto;<br />
}<br />
body.skin-timeless #p-search {<br />
order: 4;<br />
}<br />
}<br />
<br />
<br />
@media screen and (max-width: 350px) {<br />
body.skin-timeless #mw-header {<br />
flex-direction: column;<br />
}<br />
body.skin-timeless #p-logo-text {<br />
flex: 0 0 45px;<br />
}<br />
body.skin-timeless #p-search {<br />
order: 4;<br />
flex: unset;<br />
}<br />
body.skin-timeless #p-logo-text a {<br />
margin-left: unset; /* No space for 2 icons */<br />
}<br />
body.skin-timeless #user-tools {<br />
margin-left: auto;<br />
}<br />
body.skin-timeless .sidebar-chunk {<br />
top: 53px;<br />
}<br />
}<br />
<br />
<br />
<br />
/* Timeless - Header - Thin (tablet) */<br />
<br />
@media screen and (min-width: 851px) and (max-width: 1099px) {<br />
body.skin-timeless #mw-header {<br />
padding: unset;<br />
}<br />
body.skin-timeless #mw-header-nav-hack {<br />
display: none;<br />
}<br />
body.skin-timeless #mw-content-block {<br />
display: flex;<br />
flex-wrap: wrap;<br />
/* Use content background for drop-down buttons */<br />
background-color: var(--bg-shade-3);<br />
}<br />
body.skin-timeless #mw-site-navigation,<br />
body.skin-timeless #mw-related-navigation {<br />
top: unset;<br />
position: relative;<br />
}<br />
body.skin-timeless #mw-site-navigation {<br />
order: 1;<br />
}<br />
body.skin-timeless #mw-related-navigation {<br />
order: 2;<br />
margin-left: auto;<br />
}<br />
<br />
body.skin-timeless #mw-site-navigation .sidebar-inner {<br />
/* top: 2.75em; */<br />
top: 44px;<br />
}<br />
body.skin-timeless #mw-related-navigation .sidebar-inner {<br />
/* top: 2.75em !important; */<br />
top: 44px !important;<br />
}<br />
body.skin-timeless #site-navigation .sidebar-inner {<br />
left: -1.75em;<br />
}<br />
body.skin-timeless #site-tools .sidebar-inner {<br />
left: -2em;<br />
}<br />
body.skin-timeless #page-tools .sidebar-inner {<br />
left: -6em;<br />
}<br />
body.skin-timeless #personal .dropdown {<br />
right: 0.25em;<br />
}<br />
body.skin-timeless #mw-content-wrapper {<br />
order: 3;<br />
width: 100%;<br />
}<br />
body.skin-timeless #mw-content {<br />
margin-top: unset;<br />
}<br />
/*<br />
#mw-header-nav-hack {<br />
background-color: var(--bg-shade-4);<br />
background-image: linear-gradient(190deg, transparent, var(--bg-shade-0), transparent);<br />
border: unset;<br />
}<br />
.color-bar {<br />
display: none;<br />
}<br />
*/<br />
}<br />
<br />
<br />
@media screen and (max-width: 1099px) {<br />
#mw-site-navigation .sidebar-inner,<br />
#mw-related-navigation .sidebar-inner,<br />
.sidebar-inner,<br />
.dropdown {<br />
padding: 1.5em 1.5em 0em;<br />
background-color: var(--bg-shade-2);<br />
/* Glassy look for drop-down menus */<br />
background-color: var(--popup-bg);<br />
border: 1px solid var(--bg-shade-3);<br />
/* border: unset; */<br />
border-radius: var(--usermenu-radius);<br />
box-shadow: 0px 6px 20px 6px var(--bg-shadow-0); /* Separate from page with a strong 3D effect */<br />
}<br />
#menus-cover {<br />
background-color: var(--bg-shade-0);<br />
background-color: var(--bg-shadow-0);<br />
}<br />
body.skin-timeless #mw-header-container {<br />
padding: unset;<br />
}<br />
/*<br />
#site-tools h2 {<br />
right: 3em;<br />
top: 0.9em;<br />
padding-bottom: 5px;<br />
}<br />
*/<br />
}<br />
<br />
<br />
<br />
/* Timeless - Header - Icons */<br />
<br />
/*<br />
#searchButton, #mw-searchButton {<br />
background-image: linear-gradient(transparent,transparent),url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2221%22%20height%3D%2221%22%3E%3Cg%20transform%3D%22rotate%28-45%208.525%208.386%29%22%20opacity%3D%22.33%22%3E%3Cpath%20d%3D%22M8.438.938a7.5%207.5%200%200%200-7.5%207.5%207.5%207.5%200%200%200%207.5%207.5%207.5%207.5%200%200%200%207.5-7.5%207.5%207.5%200%200%200-7.5-7.5zm0%202.812a4.688%204.688%200%200%201%204.687%204.688%204.688%204.688%200%200%201-4.687%204.687A4.688%204.688%200%200%201%203.75%208.438%204.688%204.688%200%200%201%208.438%203.75z%22%20fill%3D%22white%22/%3E%3Crect%20ry%3D%221.318%22%20y%3D%2213.125%22%20x%3D%227.031%22%20height%3D%229.265%22%20width%3D%222.813%22%20fill%3D%22white%22/%3E%3C/g%3E%3C/svg%3E%0A);<br />
}<br />
.oo-ui-icon-bell, .mw-ui-icon-bell::before {<br />
background-image: linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E bell %3C/title%3E %3Cpath d=%22M16 7a5.38 5.38 0 0 0-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 0 0 4 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 0 0 3-3H7a3 3 0 0 0 3 3z%22%20fill%3D%22white%22/%3E %3C/svg%3E");<br />
}<br />
.oo-ui-icon-tray, .mw-ui-icon-tray::before {<br />
background-image: linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Etray%3C/title%3E%3Cpath d=%22M3 1a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm14 12h-4l-1 2H8l-1-2H3V3h14z%22%20fill%3D%22white%22/%3E%3C/svg%3E");<br />
}<br />
#personal h2 {<br />
background-image: linear-gradient(transparent,transparent),url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20opacity%3D%22.33%22%20d%3D%22M3.643%209.46c-1.758%202.39-1.957%205-1.227%206.729.49%201.18%201.18%201.871%201.99%202.29.792.429%201.75.518%202.6.521h6.329c.92%200%201.851-.208%202.65-.675.8-.467%201.46-1.198%201.8-2.29.49-1.549.266-4.03-1.48-6.46-.007.013-.02.02-.03.03a7.506%207.506%200%200%201-6.267%203.39A7.506%207.506%200%200%201%203.643%209.46z%22%20fill%3D%22white%22/%3E%3Cpath%20opacity%3D%22.33%22%20d%3D%22M10.008.992a4.5%204.5%200%201%200%200%209%204.5%204.5%200%200%200%200-9z%22%20fill%3D%22white%22/%3E%3C/svg%3E%0A);<br />
}<br />
/**/<br />
<br />
/* Invert icons */<br />
.mw-ui-icon::before,<br />
.sidebar-chunk h2::after,<br />
#ca-more span,<br />
#searchButton, #mw-searchButton,<br />
.oo-ui-icon-bell, .mw-ui-icon-bell::before,<br />
.oo-ui-icon-tray, .mw-ui-icon-tray::before,<br />
#personal h2, #personal h2 span,<br />
.tools-inline li a, .tools-inline li a > span,<br />
.oo-ui-indicatorElement-indicator,<br />
.oo-ui-iconElement-icon:not(.oo-ui-image-invert) {<br />
/* Invert black icons for dark-mode */<br />
filter: var(--image-invert);<br />
}<br />
<br />
/* Fix notifications icons vertical alignment */<br />
body.skin-timeless #pt-notifications-alert .mw-echo-notifications-badge,<br />
body.skin-timeless #pt-notifications-notice .mw-echo-notifications-badge {<br />
top: unset;<br />
}<br />
<br />
<br />
/* Timeless - Content - Header (the equivalent of vectorTabs in Vector) */<br />
<br />
#mw-page-header-links { display: flex; }<br />
#mw-page-header-links > * { float: unset; }<br />
#p-namespaces { margin-right: auto; /* Push #p-views to the right */ }<br />
<br />
#contentSub .subpages,<br />
.tools-inline li {<br />
/* Dim the header links, except the active and when hovering */<br />
opacity: 0.5;<br />
transition: opacity 0.25s ease;<br />
}<br />
.tools-inline li {<br />
/* border-bottom: unset; */<br />
border-bottom-width: 1px;<br />
}<br />
.tools-inline li.selected:hover,<br />
.tools-inline li.selected {<br />
border-bottom-color: transparent;<br />
border-radius: 1em;<br />
box-shadow: 0px 0px 8px 4px var(--bg-shade-2);<br />
background-color: var(--bg-shade-2);<br />
padding: 4px 0.7em 4px 0.5em;<br />
margin: -4px -0.7em -4px -0.5em;<br />
}<br />
.tools-inline li.selected a { color: var(--text-shade-2); }<br />
#mw-page-header-links .tools-inline li.selected { opacity: 1; }<br />
#contentSub:hover .subpages,<br />
#mw-page-header-links:hover li {<br />
opacity: 1;<br />
}<br />
<br />
.tools-inline li a:hover,<br />
.tools-inline li a:focus {<br />
text-decoration: none;<br />
background-color: var(--link-hover-bg) !important;<br />
/* background-color: unset; */<br />
/* box-shadow: unset; */<br />
}<br />
.tools-inline li:hover { border-bottom-color: transparent; }<br />
<br />
body.skin-timeless #pagehistory li {<br />
border-color: var(--bg-shade-4);<br />
}<br />
<br />
/* Timeless - Footer */<br />
<br />
#footer, /* Vector */<br />
#mw-footer-container { /* Timeless */<br />
background-color: var(--bg-shade-4);<br />
padding-top: 0.5em;<br />
/* border-top: solid 1px var(--bg-shade-5); */<br />
border-top: 0;<br />
color: unset;<br />
}<br />
#mw-footer-container { /* Timeless */<br />
box-shadow: 0 -4px 4px 0 var(--bg-shade-4);<br />
/* box-shadow: 0 -4px 4px 0 var(--bg-shadow-1); */<br />
}<br />
#mw-footer ul, #mw-footer li {<br />
margin: 0 auto;<br />
padding: 0 2em;<br />
}<br />
#mw-footer .footer-icons {<br />
margin: 1em 2em 0 0;<br />
}<br />
#footer li {<br />
/* Vector: disable color override */<br />
color: unset;<br />
}<br />
#contents-footer {<br />
background-color: var(--bg-shade-5) !important;<br />
border: 1px solid var(--bg-shade-6) !important;<br />
}<br />
<br />
<br />
/* Timeless - Content container */<br />
<br />
.ts-inner {<br />
padding: 0;<br />
}<br />
@media screen and (min-width: 851px) {<br />
.ts-inner {<br />
max-width: unset; /* Don't limit to 115em */<br />
/* margin: 0; */<br />
}<br />
}<br />
<br />
#mw-content {<br />
background-color: var(--bg-shade-3);<br />
/* box-shadow: var(--bg-shade-3) 0 0 3px 3px; */<br />
border: unset;<br />
/* padding-top: 0.1px; */ /* Don't collapse the content's top margin */<br />
}<br />
#mw-content-container {<br />
background: initial;<br />
border-bottom: 0;<br />
}<br />
<br />
@media screen and (max-width: 1099px) {<br />
#mw-content {<br />
padding: 0em 0.5em 3em;<br />
}<br />
#catlinks {<br />
background-color: var(--bg-shade-3a);<br />
padding: 1em 2em 0.5em;<br />
margin: unset;<br />
}<br />
}<br />
<br />
/*<br />
@media screen and (max-width: 850px) {<br />
#mw-content-block {<br />
background-color: var(--bg-shade-1);<br />
}<br />
}<br />
*/<br />
<br />
#siteNotice {<br />
/* Remove empty siteNotice's margin */<br />
margin: unset;<br />
}<br />
#centralNotice:not(:empty) {<br />
/* Add margin to child */<br />
margin: 0.5em auto 1.5em<br />
}<br />
<br />
ul#filetoc, .toc, .mw-warning {<br />
padding: 1.0em 1.5em;<br />
}<br />
<br />
<br />
<br />
<br />
/**** Notifications (Extension:Echo) menu - Timeless, Vector, ... ****/<br />
<br />
/* Background and borders */<br />
#personal .dropdown,<br />
.mw-echo-ui-overlay .oo-ui-popupWidget-popup {<br />
box-shadow: 0px 4px 20px 10px var(--bg-shadow-0); /* Separate from page with a strong 3D effect */<br />
}<br />
.mw-echo-ui-overlay .oo-ui-popupWidget-popup {<br />
background-color: unset; /* Allow transparency for child elements */<br />
/* border: 1px solid var(--bg-shade-3); */<br />
/* border-color: var(--bg-shade-3); */<br />
border-radius: var(--usermenu-radius);<br />
}<br />
.oo-ui-popupWidget-popup,<br />
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head,<br />
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer,<br />
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child {<br />
/* Border around, below header, above footer, between footer buttons */<br />
border-color: var(--bg-shade-6);<br />
}<br />
.mw-echo-ui-notificationItemWidget {<br />
/* Border between notifications */<br />
border-color: var(--bg-shade-4);<br />
}<br />
.oo-ui-popupWidget-head,<br />
.oo-ui-popupWidget-footer,<br />
.mw-echo-ui-placeholderItemWidget,<br />
.mw-echo-ui-notificationItemWidget {<br />
/* Header, footer and notifications background */<br />
background-color: var(--popup-bg-text);<br />
background-color: var(--popup-bg);<br />
}<br />
.mw-echo-ui-notificationItemWidget:hover {<br />
/* Highlight hovered notification */<br />
background-color: var(--bg-shade-3);<br />
}<br />
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor {<br />
top: -10px;<br />
}<br />
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor::before {<br />
/* Border of anchor triangle on top */<br />
border-bottom-color: var(--bg-shade-3);<br />
}<br />
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor::after {<br />
/* Anchor triangle on top */<br />
border-bottom-color: var(--popup-bg);<br />
}<br />
<br />
/* Fix text and link colors */<br />
.mw-echo-ui-notificationItemWidget-content-message-header {<br />
color: var(--text-shade-3);<br />
}<br />
.mw-echo-ui-notificationsListWidget:not(:hover) a,<br />
.mw-echo-ui-notificationsListWidget a {<br />
color: var(--link-shade-2);<br />
}<br />
#p-personal .mw-echo-ui-notificationsListWidget:not(:hover) a.new,<br />
#p-personal .mw-echo-ui-notificationsListWidget a.new {<br />
color: var(--link-red-2);<br />
}<br />
.mw-echo-ui-menuItemWidget-prioritized {<br />
opacity: unset;<br />
}<br />
.mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons > span {<br />
/* Background of footer buttons */<br />
background-image: linear-gradient(to right, transparent 0%, var(--bg-grad) 50%, transparent 100%);<br />
--bg-grad: var(--popup-anim-bg);<br />
--bg-grad: var(--bg-shade-4);<br />
}<br />
<br />
/* Notifications loading animation */<br />
.oo-ui-popupWidget-head {<br />
position: relative;<br />
}<br />
.oo-ui-popupWidget-head::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: -100%;<br />
right: 0;<br />
-webkit-animation: oo-ui-pendingElement-smooth 1s linear infinite;<br />
-moz-animation: oo-ui-pendingElement-smooth 1s linear infinite;<br />
animation: oo-ui-pendingElement-smooth 1s linear infinite;<br />
-webkit-animation-play-state: paused;<br />
-moz-animation-play-state: paused;<br />
animation-play-state: paused;<br />
opacity: 0.4;<br />
background-image: linear-gradient(to right, transparent 0%, var(--bg-grad) 25%, transparent 50%, var(--bg-grad) 75%, transparent 100%);<br />
--bg-grad: var(--text-shade-4);<br />
--bg-grad: var(--bg-shade-6);<br />
--bg-grad: #333c; /* brighten(var(--popup-bg), 2) */<br />
--bg-grad: var(--popup-anim-bg);<br />
}<br />
.oo-ui-pendingElement-pending {<br />
animation: unset;<br />
background-image: unset;<br />
}<br />
.oo-ui-popupWidget-head.oo-ui-pendingElement-pending::before {<br />
/* Animated background while loading notifications */<br />
-webkit-animation-play-state: running;<br />
-moz-animation-play-state: running;<br />
animation-play-state: running;<br />
}<br />
<br />
@-webkit-keyframes oo-ui-pendingElement-smooth {<br />
from { transform: translateX(0%); }<br />
to { transform: translateX(50%); }<br />
}<br />
@-moz-keyframes oo-ui-pendingElement-smooth {<br />
from { transform: translateX(0%); }<br />
to { transform: translateX(50%); }<br />
}<br />
@keyframes oo-ui-pendingElement-smooth {<br />
from { transform: translateX(0%); }<br />
to { transform: translateX(50%); }<br />
}<br />
<br />
/* TODO: What's this?<br />
$('.mw-notification')<br />
*/<br />
.mw-notification {<br />
border-radius: 5px;<br />
border: var(--bg-shade-1);<br />
background-color: var(--bg-shade-1);<br />
color: var(--text-shade-2);<br />
width: 200px;<br />
}<br />
<br />
<br />
<br />
<br />
/**** Content ****/<br />
<br />
/* Images */<br />
<br />
/* Math formulas */<br />
.mwe-math-fallback-image-display,<br />
.mwe-math-fallback-image-inline<br />
{<br />
filter: var(--image-invert);<br />
}<br />
<br />
<br />
/* Text */<br />
<br />
.oo-ui-buttonElement > .oo-ui-buttonElement-button,<br />
.ve-ui-overlay,<br />
body {<br />
font-family: var(--font-default);<br />
}<br />
b, strong {<br />
text-shadow: 1px 1px 1px var(--bg-shade-0);<br />
text-shadow: 1px 1px 1px var(--bg-shadow-1);<br />
}<br />
.mw-body h6,<br />
.mw-body h5,<br />
.mw-body h4,<br />
.mw-body h3,<br />
.mw-body h2,<br />
.mw-body h1 {<br />
font-family: var(--font-heading);<br />
}<br />
.mw-body h6,<br />
.mw-body h5,<br />
.mw-body h4,<br />
.mw-body h3,<br />
.mw-body h2:not([style*="color:"]), /* not on https://en.wikipedia.org/wiki/Main_Page */<br />
.mw-body h1 {<br />
color: var(--text-shade-1);<br />
text-shadow: 2px 1px 2px var(--bg-shadow-1);<br />
}<br />
.mw-body h1.firstHeading {<br />
border-bottom: solid 1px;<br />
}<br />
.mw-body .mw-parser-output h1::after,<br />
.mw-body .mw-parser-output h2::after {<br />
border-bottom: solid 1px var(--text-shade-2);<br />
}<br />
<br />
/* All links text color */<br />
.mw-parser-output a.external,<br />
#mw-panel .portal .body li a, /* Vector */<br />
#mw-footer-container a,<br />
#mw-footer-container a:hover,<br />
.mw-parser-output a.extiw,<br />
.new a:hover,<br />
.new a:focus,<br />
.new a,<br />
a.new:hover,<br />
a.new:focus,<br />
a.new,<br />
a:hover,<br />
a:focus,<br />
a {<br />
text-decoration: unset;<br />
color: var(--link-shade-2);<br />
transition: all 0.1s linear;<br />
}<br />
<br />
/* All links after visited */<br />
#mw-panel .portal .body li a:visited, /* Vector */<br />
#mw-footer-container a:visited,<br />
.mw-parser-output a.extiw:visited, /* Translation link in mediawiki infobox */<br />
.mw-parser-output a.extiw:active,<br />
a:visited {<br />
color: var(--link-shade-3);<br />
}<br />
<br />
/* All links on hover, focus: darker, blurred background */<br />
.toctogglelabel:hover,<br />
/* .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > a.oo-ui-buttonElement-button:hover, */<br />
#mw-footer-container a:hover,<br />
.new a:hover,<br />
.new a:focus,<br />
a.new:hover,<br />
a.new:focus,<br />
a:hover,<br />
a:focus {<br />
/* background-color: #fff9; */<br />
/* border-bottom: 1px solid; */<br />
/* border-bottom: 4px solid; */<br />
/* border-radius: 1em;*/ /* For fun */<br />
/* box-shadow: inset 0px -1px; */ /* Border bottom without re-layout */<br />
/* text-decoration: none; */<br />
/* text-decoration: underline; */<br />
<br />
/* color: var(--link-shade-1); */<br />
<br />
/* A shadowy background for hovered links */<br />
background-color: var(--link-hover-bg);<br />
box-shadow: 0px 0px 4px 1px var(--link-hover-bg);<br />
border-radius: 0.5em;<br />
/* Wider background?<br />
padding: 0 0.2em;<br />
margin: 0 -0.2em;<br />
* Timeless super-rounded?<br />
border-radius: 1em;<br />
padding: 0 0.5em;<br />
margin: 0 -0.5em;<br />
*/<br />
}<br />
<br />
<br />
/* Red (new) links */<br />
.new a:visited,<br />
.new a,<br />
a.new:visited,<br />
a.new {<br />
color: var(--link-red-2);<br />
}<br />
<br />
/* Red (new) links when hovered or focused */<br />
.new a:hover,<br />
.new a:focus,<br />
a.new:hover,<br />
a.new:focus {<br />
color: var(--link-red-2);<br />
/* color: var(--link-red-1); */<br />
}<br />
<br />
<br />
/* Logo background does not change on hover */<br />
a.mw-wiki-title:hover,<br />
a.mw-wiki-logo:hover {<br />
background-color: unset;<br />
box-shadow: unset;<br />
}<br />
.toctogglecheckbox:focus + .toctitle .toctogglelabel, /* Css-only toggle using checkbox */<br />
.toctogglelabel:hover { text-decoration: unset; }<br />
<br />
/* Focused link: colored bottom border */<br />
/* a:focus, */<br />
span.mw-collapsible-toggle:focus,<br />
.toctogglecheckbox:focus + .toctitle .toctogglelabel { /* Css-only toggle using checkbox */<br />
outline: none;<br />
border-radius: 0.5em;<br />
border-bottom: 3px solid var(--focus-border-color);<br />
}<br />
legend.mw-collapsible-toggle:focus {<br />
outline: none;<br />
}<br />
/* Focused link and icon button: colored background */<br />
legend.mw-collapsible-toggle:focus .oo-ui-labelElement-label,<br />
a:focus:not(.oo-ui-buttonElement-button),<br />
div > .flow-menu .flow-menu-js-drop a:focus,<br />
#searchButton:focus, #mw-searchButton:focus {<br />
outline: none;<br />
background-color: var(--link-focus-bg);<br />
box-shadow: 0px 0px 6px 2px var(--link-focus-bg);<br />
/* box-shadow: inset 0px 0px 4px 1px var(--focus-border-color); */<br />
/* box-shadow: inset 0px 0px 14px -5px var(--focus-border-color); */<br />
border-radius: 5px;<br />
transition: all 0.25s linear;<br />
}<br />
/* Focused input button */<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-iconElement > .oo-ui-buttonElement-button:focus:active,<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-labelElement > .oo-ui-buttonElement-button:focus:active,<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-iconElement > .oo-ui-buttonElement-button:active,<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-labelElement > .oo-ui-buttonElement-button:active,<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-iconElement > .oo-ui-buttonElement-button:focus,<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-labelElement > .oo-ui-buttonElement-button:focus {<br />
outline: none;<br />
box-shadow: inset 0px 0px 0px 2px var(--link-focus-bg);<br />
}<br />
/* Recent changes - Filter - "Show","Hide" */<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-iconElement > .oo-ui-buttonElement-button:focus,<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-labelElement > .oo-ui-buttonElement-button:focus {<br />
border-color: transparent;<br />
}<br />
<br />
<br />
/* Content markup */<br />
<br />
.toctogglelabel {<br />
color: var(--text-shade-3);<br />
}<br />
.mw-highlight {<br />
/* background-color: var(--bg-shade-4); */<br />
background-color: inherit;<br />
}<br />
code, pre, .mw-code {<br />
background-color: var(--bg-shade-2);<br />
border-color: var(--bg-shade-4);<br />
color: var(--text-shade-2);<br />
}<br />
.inline-quote-talk {<br />
/* !important is necessary in Flow discussions to override inlined style */<br />
/* color: inherit !important; */<br />
color: var(--text-shade-3) !important;<br />
background-color: var(--bg-shade-4) !important;<br />
padding: 3px !important;<br />
border-radius: 5px; /* {{tq}} rounded on all skins, not just Timeless */<br />
}<br />
.mw-pt-translate-header {<br />
border-bottom: 0;<br />
}<br />
.mw-pt-translate-header a {<br />
border-bottom: 1px solid var(--text-shade-4);<br />
}<br />
.mw-tag-marker { /* on history, Special:RecentChanges */<br />
background-color: var(--bg-shade-5);<br />
color: var(--text-shade-1);<br />
border-radius: 5px;<br />
padding: 0px 3px;<br />
}<br />
.flaggedrevs-color-1 {<br />
background-color: var(--bg-shade-5) !important;<br />
}<br />
.mw-parser-output .tudnivalok,<br />
div.flaggedrevs_short,<br />
div.flaggedrevs_short_details {<br />
background-color: var(--bg-shade-5);<br />
color: var(--text-shade-1);<br />
}<br />
.mw-parser-output .tudnivalok-cimsor {<br />
background-color: var(--bg-shade-6);<br />
color: var(--text-shade-0);<br />
}<br />
<br />
<br />
/* Tables */<br />
<br />
/* bg-shade-6 */<br />
.mw-parser-output tr .taxontree-lcell, /* common with the next selector */<br />
.mw-parser-output tr .wikidatainfobox-lcell, /* https://commons.wikimedia.org/wiki/Category:CC-Zero */<br />
.fileinfo-paramfield,<br />
.statstable > * > tr > th,<br />
.wikitable > tr > th,<br />
.wikitable > * > tr > th {<br />
/* Table header */<br />
background-color: var(--bg-shade-6);<br />
}<br />
.mw_metadata {<br />
border-style: hidden; /* Remove outer borders */<br />
}<br />
.mw_metadata th {<br />
background-color: var(--bg-shade-5);<br />
}<br />
.mw_metadata td, .mw_metadata th {<br />
border-left: 0;<br />
border-right: 0;<br />
border-color: var(--bg-shade-6);<br />
}<br />
.mw_metadata td,<br />
.statstable > * > tr > td,<br />
.mw-datatable > tr > td,<br />
.wikitable > tr > td,<br />
.mw-datatable > * > tr > td,<br />
.wikitable > * > tr > td {<br />
/* Odd table row */<br />
background-color: var(--bg-shade-4);<br />
}<br />
.statstable > * > tr.tux-statstable-even > td,<br />
.mw-datatable > tr:nth-child(2n) > td,<br />
.wikitable > tr:nth-child(2n) > td,<br />
.mw-datatable > * > tr:nth-child(2n) > td,<br />
.wikitable > * > tr:nth-child(2n) > td {<br />
/* Even table row */<br />
background-color: var(--bg-shade-5);<br />
}<br />
.statstable {<br />
color: var(--text-shade-1);<br />
}<br />
.mw-body .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend,<br />
.mw-changeslist-legend,<br />
.mw-body .mw-search-profile-tabs,<br />
.mw-body fieldset#mw-searchoptions,<br />
.wikitable,<br />
.mw-datatable {<br />
color: var(--text-shade-2);<br />
}<br />
.mw-datatable > tr > th,<br />
.wikitable > tr > th,<br />
.mw-datatable > tr > td,<br />
.wikitable > tr > td,<br />
.mw-datatable > * > tr > th,<br />
.wikitable > * > tr > th,<br />
.mw-datatable > * > tr > td,<br />
.wikitable > * > tr > td {<br />
border: 0;<br />
}<br />
.mw-body .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend,<br />
.mw-changeslist-legend,<br />
.mw-body .mw-search-profile-tabs,<br />
.mw-body fieldset#mw-searchoptions,<br />
.wikitable,<br />
.mw-datatable {<br />
border: 0;<br />
}<br />
<br />
<br />
/* Darker boxes */<br />
<br />
/* bg reset */<br />
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagMultiselectWidget-handle { /* https://dokapon.miraheze.org/wiki/Special:RecentChanges */<br />
background-color: unset;<br />
margin-top: unset;<br />
}<br />
<br />
/* bg-shade-3 */<br />
.mw-parser-output .quotebox { /* Close summaries */<br />
background-color: var(--bg-shade-3);<br />
border-color: var(--border-shade-3);<br />
color: var(--text-shade-2);<br />
}<br />
<br />
/* bg-shade-4 */<br />
.mw-parser-output blockquote.talkquote,<br />
.mw-body li.gallerybox div.thumbdiv.editOptions,<br />
ul.ext-related-articles-card-list .ext-related-articles-card, /* "Related articles" -- bottom of article pages */<br />
div.thumbinner,<br />
.thumbinner,<br />
.catlinks, /* "Categories" */<br />
div.editOptions,<br />
ul#filetoc, #toc, .toc, .mw-warning, .toccolours,<br />
table.ambox:not(.ambox-content),<br />
/* table.ombox, */<br />
table.fmbox {<br />
background-color: var(--bg-shade-4);<br />
border-color: var(--bg-shade-5);<br />
border-color: var(--bg-shade-2);<br />
border-color: var(--border-shade-4);<br />
color: var(--text-shade-2);<br />
}<br />
table.ambox-content {<br />
background-color: var(--bg-shade-4);<br />
border-top-color: var(--bg-shade-5);<br />
border-bottom-color: var(--bg-shade-5);<br />
border-right-color: var(--bg-shade-5);<br />
color: var(--text-shade-2);<br />
}<br />
ul.ext-related-articles-card-list h3::after { /* "Related articles" -- bottom of article pages */<br />
/* What's the purpose of this marker? */<br />
content: none;<br />
display: none;<br />
/* background-image: linear-gradient(to right, transparent, var(--bg-shade-6) ); */<br />
}<br />
ul.ext-related-articles-card-list h3 a { /* "Related articles" -- bottom of article pages */<br />
color: var(--text-shade-1);<br />
}<br />
<br />
.mw-parser-output .main-box, /* Main page content https://ru.wikipedia.org/wiki/ */<br />
.shortcutbox, /* Hardcoded background-color for whatever reason */<br />
#recentchangestext #box,<br />
.mw-parser-output div.module-shortcutboxplain {<br />
/* "Shortcuts" with inlined template style: overspecify with div. to override */<br />
background-color: var(--bg-shade-4) !important;<br />
border-color: var(--bg-shade-6) !important;<br />
}<br />
<br />
.thumbinner .thumbimage,<br />
.thumbborder {<br />
border: 0;<br />
}<br />
<br />
<br />
/* Lighter boxes */<br />
<br />
/* bg-shade-5 */<br />
div.cnotice, /* Main page Fundraising2020 banner https://dokapon.miraheze.org/wiki/Main_Page */<br />
.tpl-infobox, /* Mediawiki extension, skin infobox */<br />
.mw-dismissable-notice, /* Temporal noticebox above articles */<br />
table.imbox, /* Box on image page */<br />
table.ombox, /* Box at top of articles */<br />
table.tmbox, /* Box at top of talk pages */<br />
.skin-infobox,<br />
.skin-infobox-header,<br />
.infobox,<br />
.messagebox,<br />
.messagebox.standard-talk,<br />
#watchlist-message, /* Maybe highlight more? Intermittent -- https://commons.wikimedia.org/wiki/Special:Watchlist */<br />
div.user-block,<br />
table[style]:not(.tpl-infobox):not(.navbox-inner),<br />
.mw-pt-languages, /* Language selector */<br />
.mw-parser-output .note.note-info {<br />
/* More specific than the `.mw-parser-output .note-info` inlined style */<br />
background-color: var(--bg-shade-5);<br />
border-color: var(--bg-shade-6);<br />
}<br />
table.cmbox {<br />
/* Use original background-color */<br />
border-color: var(--bg-shade-5);<br />
color: var(--warn-text-1);<br />
}<br />
<br />
.messagebox[style*="color"] {<br />
color: inherit !important;<br />
}<br />
div.cnotice, /* Main page Fundraising2020 banner https://dokapon.miraheze.org/wiki/Main_Page */<br />
div.cnotice-message p,<br />
.messagebox, .errorbox, .warningbox, .successbox,<br />
.infobox {<br />
color: inherit;<br />
}<br />
.mw-parser-output .note {<br />
color: var(--note-text-1);<br />
}<br />
.mw-pt-languages-label {<br />
/* background-color: var(--bg-shade-4); */<br />
background-color: initial;<br />
}<br />
<br />
<br />
/* Navbox */<br />
<br />
.navbox {<br />
border-color: var(--bg-shade-5);<br />
}<br />
.navbox, .navbox-subgroup,<br />
.navbox th, .navbox-title {<br />
background-color: var(--bg-shade-4);<br />
}<br />
.navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow,<br />
.navbox-abovebelow, th.navbox-group, .navbox-subgroup .navbox-title {<br />
background-color: var(--bg-shade-4a);<br />
}<br />
.navbox-odd {<br />
background-color: var(--bg-shade-50);<br />
}<br />
.navbox-even {<br />
background-color: var(--bg-shade-48);<br />
}<br />
tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image, tr + tr > .navbox-list {<br />
border: 0;<br />
}<br />
td.navbox-list[style*="border"] {<br />
border: 0 !important; /* Override style hardcoded in wikitext */<br />
}<br />
<br />
<br />
/* Special:Preferences */<br />
<br />
div.oo-ui-tabSelectWidget-framed {<br />
background-color: var(--bg-shade-4);<br />
color: var(--text-shade-2);<br />
}<br />
div.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected,<br />
div.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:active,<br />
div.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover {<br />
background-color: var(--bg-shade-5);<br />
color: var(--text-shade-1);<br />
}<br />
div.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active,<br />
div.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover {<br />
color: var(--text-shade-1);<br />
}<br />
div.oo-ui-tabOptionWidget {<br />
color: inherit;<br />
}<br />
<br />
<br />
/* Special boxes background */<br />
<br />
/* :not(.ambox-content) -> */<br />
/* :not(.mw-collapsible) -> https://en.wikipedia.org/wiki/Talk:Main_Page */<br />
table:not(.ambox-content):not(.mw-collapsible) td.mbox-image {<br />
/* Highlight the background of the icon at the left side of the box. .ambox-content has a 10px wide left border that looks bad with the highlight, so avoid that */<br />
padding: 0.9em; /* Override rule padding: 2px 0 2px 0.9em; */<br />
background-color: var(--bg-shade-6);<br />
}<br />
<br />
div.warningbox, .warningbox {<br />
background: var(--warn-bg-1);<br />
color: var(--warn-text-1);<br />
}<br />
.mbox-text div[style*="background:#ebb"] { /* https://en.wikipedia.org/wiki/Talk:Main_Page */<br />
background: var(--warn-bg-1) !important;<br />
color: var(--warn-text-1);<br />
}<br />
.warningbox a,<br />
.mbox-text div[style*="background:#ebb"] a {<br />
color: var(--link-shade-4);<br />
}<br />
div.errorbox, .errorbox {<br />
background: var(--warn-bg-2);<br />
color: var(--warn-text-2);<br />
}<br />
<br />
<br />
/* Special boxes glowing shadow */<br />
<br />
.mbox-text div[style*="background:#ebb"], /* https://en.wikipedia.org/wiki/Talk:Main_Page */<br />
.warningbox,<br />
.errorbox {<br />
/* box-shadow: 2px 4px 10px 8px var(--bg-shade-1); */<br />
/* box-shadow: 2px 4px 16px 4px var(--bg-shade-0); */<br />
box-shadow: 0px 0px 10px 2px var(--warn-bg-1);<br />
/* Add shadow: lightblue links on orange are not easy to read */<br />
text-shadow: 1px 1px 1px var(--bg-shade-0);<br />
text-shadow: 1px 1px 1px var(--bg-shadow-1);<br />
}<br />
<br />
/* Notification boxes glow */<br />
/*<br />
ul#filetoc, .toc, .mw-warning {<br />
box-shadow: var(--bg-shade-4) 0px 0px 3px 3px;<br />
}<br />
*/<br />
.mw-dismissable-notice,<br />
.messagebox,<br />
.successbox,<br />
table.tmbox-protection,<br />
table.tmbox-notice {<br />
box-shadow: 0 0 5px 1px var(--bg-shade-5); /* Highlight with a glow around */<br />
}<br />
<br />
<br />
/* Standard shadow */<br />
.ve-init-mw-diffPage-diffMode .oo-ui-buttonSelectWidget, /* "Visual" / "Wikitext" toggle on differences page (if enabled in settings) */<br />
.mw-htmlform-ooui-wrapper.oo-ui-panelLayout-framed, /* Page history "Filter revisions" */<br />
/* .oo-ui-layout.oo-ui-panelLayout.oo-ui-panelLayout-padded.oo-ui-panelLayout-framed.mw-htmlform-ooui-wrapper -- Add shadow -- Page history */<br />
/* .oo-ui-layout.oo-ui-panelLayout.oo-ui-panelLayout-padded.oo-ui-panelLayout-framed -- Don't add shadow -- https://www.mediawiki.org/wiki/Special:Contributions/ */<br />
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, /* Add shadow -- https://en.wikipedia.org/wiki/Special:Watchlist */<br />
.oo-ui-menuSelectWidget,<br />
.oo-ui-floatableElement-floatable,<br />
.mw-parser-output .main-top, /* Main page welcome https://ru.wikipedia.org/wiki/ */<br />
.mw-parser-output .main-box, /* Main page content https://ru.wikipedia.org/wiki/ */<br />
.mw-revslider-container,<br />
.mw-recentchanges-toplinks:not(.mw-collapsed),<br />
.mw-body .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend,<br />
.mw-changeslist-legend,<br />
/* .mw-widget-calendarWidget, */<br />
.mw-advancedSearch-expandablePane-options,<br />
.mw-advancedSearch-expandablePane-namespaces {<br />
box-shadow: 1px 1px 8px 2px var(--bg-shadow-1);<br />
box-shadow: 2px 2px 12px 4px var(--bg-shadow-0);<br />
box-shadow: 2px 2px 10px 1px var(--bg-shadow-0);<br />
}<br />
<br />
.wikipediauserbox {<br />
border: unset !important;<br />
margin: 2px !important;<br />
/* background-color: var(--bg-shade-5) !important; */<br />
box-shadow: 0px 0px 2px 1px var(--bg-shadow-1);<br />
box-shadow: 0px 0px 2px 0px var(--bg-shadow-1);<br />
}<br />
<br />
/* Popup box shadow */<br />
.oo-ui-popupWidget-popup {<br />
background-color: var(--bg-shade-4);<br />
border-color: var(--bg-shade-6);<br />
box-shadow: 3px 3px 10px 0px var(--bg-shadow-1);<br />
}<br />
<br />
<br />
<br />
/* Gallery */<br />
<br />
ul.gallery {<br />
display: flex;<br />
flex-wrap: wrap;<br />
/* align-items: flex-end; */<br />
align-items: stretch;<br />
justify-content: center;<br />
}<br />
li.gallerybox {<br />
/* width: unset !important; */<br />
/* width: 155px; */<br />
margin: 2px;<br />
background-color: var(--bg-shade-4);<br />
/* box-shadow: 0px 0px 6px 2px var(--bg-shade-1); */<br />
}<br />
li.gallerybox > div {<br />
width: unset !important;<br />
height: 100%;<br />
display: flex;<br />
flex-direction: column;<br />
justify-content: space-evenly;<br />
}<br />
.mw-body li.gallerybox div.thumb {<br />
/* flex-grow: 2; */<br />
display: flex; /* No more margin trickery with javascript */<br />
align-items: center; /* Center vertically */<br />
justify-content: center; /* Center horizontally */<br />
margin: 0px;<br />
background-color: unset;<br />
border: unset;<br />
box-shadow: unset;<br />
}<br />
#content .gallerybox div.thumb {<br />
background-color: unset; /* Remove background-color: #f8f9fa; */<br />
}<br />
.thumb > div {<br />
margin: 4px !important;<br />
box-shadow: 1px 2px 8px 4px var(--bg-shadow-1);<br />
border-radius: 2px; /* Only affects the shadow, not the image */<br />
}<br />
.mw-tmh-player {<br />
display: block; /* Why a span for video? */<br />
}<br />
.mw-tmh-player .mw-tmh-play {<br />
background-position: center;<br />
background-size: contain;<br />
}<br />
div.gallerytext {<br />
/* flex-grow: 2; */<br />
padding: 0px 2px 4px 2px;<br />
text-align: center;<br />
/* background-color: var(--bg-shade-4); */<br />
/* box-shadow: 0px 0px 6px 2px var(--bg-shade-1); */<br />
}<br />
.gallery.mw-gallery-packed {<br />
justify-content: space-evenly;<br />
}<br />
.gallery.mw-gallery-packed div.gallerytext {<br />
margin: auto;<br />
}<br />
<br />
<br />
<br />
/** Timeless skin: rounded, border-less boxes **/<br />
<br />
body {<br />
--box-border: 1px;<br />
--box-radius: 0;<br />
--button-radius: 0;<br />
--usermenu-radius: 0px;<br />
}<br />
body.skin-timeless {<br />
--box-border: 0;<br />
--box-radius: 5px;<br />
--button-radius: 4px;<br />
--usermenu-radius: 20px;<br />
}<br />
<br />
.oo-ui-popupWidget-popup,<br />
#mw-content,<br />
.sidebar-chunk,<br />
#centralized-discussion-label,<br />
ul.ext-related-articles-card-list .ext-related-articles-card, /* "Related articles" -- bottom of article pages */<br />
.mw-revslider-container,<br />
div.editOptions,<br />
.mw-parser-output div[style*="border:"],<br />
.mw-parser-output .portal > ul,<br />
.mw-parser-output .note,<br />
.mw-parser-output div.module-shortcutboxplain,<br />
/* .mw-body li.gallerybox div.thumb, */ /* Rounded thumbnail frames look weird */<br />
.gallerybox,<br />
.gallerytext,<br />
.messagebox,<br />
.messagebox.standard-talk,<br />
.successbox,<br />
.warningbox,<br />
.errorbox,<br />
.usermessage,<br />
div.user-block,<br />
.toc,<br />
ul#filetoc,<br />
code,<br />
pre,<br />
.mw-code,<br />
.mw-warning,<br />
.mw-highlight,<br />
.mw-pt-languages,<br />
.mw-dismissable-notice,<br />
.catlinks,<br />
.shortcutbox,<br />
div.thumbinner,<br />
.thumbinner,<br />
table.ambox:not(.ambox-content),<br />
table.cmbox,<br />
table.fmbox,<br />
table.ombox,<br />
table.tmbox,<br />
table[style]:not(.tpl-infobox):not(.navbox-inner),<br />
.tmbox td[style*="background"], /* Graph on https://en.wikipedia.org/wiki/Talk:Main_Page */<br />
.navbox,<br />
.infobox,<br />
.infobox .NavHead,<br />
.infobox th[style*="background"],<br />
.infobox th.summary,<br />
.vertical-navbox th[style],<br />
.wikitable,<br />
th.mbox-image[style],<br />
.flow-topic-titlebar,<br />
.flow-board-header,<br />
.skin-infobox,<br />
.skin-infobox-header {<br />
/* Disable borders in Timeless skin */<br />
border-width: var(--box-border) !important;<br />
/* Round the corners of boxes */<br />
border-radius: var(--box-radius);<br />
}<br />
table.ambox-content {<br />
/* Disable borders in Timeless skin, except left border which is different, used as a highlight */<br />
border-top-width: var(--box-border) !important;<br />
border-bottom-width: var(--box-border) !important;<br />
border-right-width: var(--box-border) !important;<br />
/* Round the corners of boxes */<br />
border-radius: var(--box-radius);<br />
}<br />
<br />
@media screen and (max-width: 1099px) {<br />
#mw-content,<br />
.sidebar-chunk,<br />
.catlinks {<br />
border-radius: unset;<br />
}<br />
}<br />
<br />
.mw-dismissable-notice {<br />
overflow: auto; /* Prevent collapsing the margin of child elements */<br />
}<br />
<br />
ul.ext-related-articles-card-list .ext-related-articles-card-thumb, /* "Related articles" -- bottom of article pages */<br />
td.mbox-image {<br />
/* Only the left corners are rounded */<br />
border-radius: var(--box-radius) 0 0 var(--box-radius);<br />
}<br />
.wikipediauserbox td:last-child {<br />
/* Only the right corners are rounded */<br />
border-radius: 0 var(--box-radius) var(--box-radius) 0;<br />
}<br />
<br />
body.skin-timeless .mw-editform .editOptions { /* Edit page bottom area with "Summary" textfield and "Publish Changes" button */<br />
/* Only the bottom corners are rounded */<br />
border-radius: 0px 0px var(--box-radius) var(--box-radius);<br />
}<br />
<br />
<br />
/* Timeless skin: input fields */<br />
.oo-ui-tagMultiselectWidget-handle,<br />
.oo-ui-textInputWidget .oo-ui-inputWidget-input,<br />
.oo-ui-dropdownWidget-handle,<br />
/* Timeless skin: rounded buttons */<br />
#simpleSearch,<br />
.mw-ui-input,<br />
.mw-ui-button,<br />
button,<br />
input[type='button'],<br />
input[type='submit'] {<br />
border-radius: var(--button-radius);<br />
}<br />
<br />
<br />
<br />
/**** Override some styles hardcoded in the wikitext ****/<br />
<br />
/** Main page welcome **/<br />
<br />
/* Russian main page welcome */<br />
/*<br />
.mw-parser-output .main-top {<br />
background-color: var(--bg-shade-5) !important;<br />
}<br />
.mw-parser-output .main-top-left {<br />
background-image: linear-gradient(to right, var(--bg-shade-1) 0%, var(--bg-shade-5) 70%) !important;<br />
background-image: linear-gradient(to right, var(--bg-shadow-0) 0%, var(--bg-shade-5) 70%) !important;<br />
background-image: linear-gradient(to right, var(--bg-shadow-0) 0%, transparent 70%) !important;<br />
}<br />
*/<br />
<br />
body.page-Main_Page #mp-topbanner::before, /* https://en.wikipedia.org/wiki/Main_Page */<br />
body.page-Заглавная_страница .mw-parser-output .main-top::before, /* https://ru.wikipedia.org/wiki/ */<br />
body.page-Wikiversity_Main_Page #mw-content-text > div:first-child div[style*="background-color: #f6f6f6"]::before { /* https://en.wikiversity.org/wiki/Wikiversity:Main_Page */<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
left: 0;<br />
right: 0;<br />
bottom: 0;<br />
z-index: -1;<br />
background-color: var(--bg-shade-3);<br />
background-image: url("https://upload.wikimedia.org/wikipedia/commons/e/e3/Wikipedia_logo_letters_banner.svg");<br />
}<br />
body.page-Main_Page #mp-topbanner, /* https://en.wikipedia.org/wiki/Main_Page */<br />
body.page-Заглавная_страница .mw-parser-output .main-top, /* https://ru.wikipedia.org/wiki/ */<br />
body.page-Wikiversity_Main_Page #mw-content-text > div:first-child div[style*="background-color: #f6f6f6"] { /* https://en.wikiversity.org/wiki/Wikiversity:Main_Page */<br />
position: relative;<br />
color: var(--text-shade-1) !important;<br />
background-color: unset !important;<br />
border-color: var(--bg-shade-4) !important;<br />
--banner-overlay-1: #333d;<br />
--banner-overlay-1: var(--bg-shade-3);<br />
--highlight-from: 30%;<br />
--highlight-to: 90%;<br />
background-image: linear-gradient( var(--highlight-angle), var(--banner-overlay-0), transparent var(--highlight-center), var(--banner-overlay-1) var(--highlight-to), var(--banner-overlay-0) );<br />
background-image: linear-gradient( var(--highlight-angle), var(--banner-overlay-0), var(--banner-overlay-1) var(--highlight-from), transparent var(--highlight-center), var(--banner-overlay-1) var(--highlight-to), var(--banner-overlay-0) );<br />
--banner-overlay-0: var(--bg-shadow-0);<br />
--banner-overlay-0: var(--bg-shade-0);<br />
--highlight-center: 85%;<br />
--highlight-center: 60%;<br />
--highlight-center: 40%;<br />
--highlight-angle: 40deg;<br />
--highlight-angle: 60deg;<br />
--highlight-angle: 30deg;<br />
background-image: linear-gradient( var(--highlight-angle), var(--banner-overlay-0), transparent var(--highlight-center), var(--banner-overlay-0) );<br />
}<br />
body.page-Заглавная_страница .mw-parser-output .main-top-left {<br />
background-image: unset;<br />
}<br />
body.page-Main_Page #mp-topbanner { /* https://en.wikipedia.org/wiki/Main_Page */<br />
}<br />
body.page-Заглавная_страница .mw-parser-output .main-top { /* https://ru.wikipedia.org/wiki/ */<br />
--highlight-angle: 40deg;<br />
--highlight-center: 60%;<br />
}<br />
body.page-Wikiversity_Main_Page #mw-content-text > div:first-child div[style*="background-color: #f6f6f6"] { /* https://en.wikiversity.org/wiki/Wikiversity:Main_Page */<br />
--highlight-angle: 30deg;<br />
--highlight-center: 85%;<br />
}<br />
.mw-parser-output .main-top {<br />
background-color: var(--bg-shade-3);<br />
}<br />
.mw-parser-output .main-top-left {<br />
background-image: linear-gradient( 40deg, var(--bg-shade-0) 0%, var(--bg-shade-6) 30%, rgba(248,249,250,0) 100% );<br />
flex-grow: 3;<br />
}<br />
.mw-parser-output .main-top-right .mw-ui-button.mw-ui-quiet {<br />
color: var(--text-shade-4);<br />
}<br />
<br />
<br />
/** Main page content **/<br />
<br />
#mp-upper { background-color: unset !important; }<br />
<br />
.MainPageBG, /* https://en.wikipedia.org/wiki/Main_Page */<br />
td[style*="background-color:#f6fff1"], /* Wikiversity Welcome */<br />
td[style*="background:#A7C1F2"] {<br />
background: var(--bg-shade-4) !important;<br />
border-color: var(--bg-shade-2) !important;<br />
color: unset !important;<br />
}<br />
#mp-other-lower h2,<br />
.MainPageBG h2 {<br />
border: 0 !important;<br />
box-shadow: 1px 4px 10px 0px var(--bg-shade-1);<br />
background-image: linear-gradient(25deg, #4f49, #222f) !important;<br />
background-image: linear-gradient(45deg, #2220 20%, #111f 110%) !important;<br />
background-image: linear-gradient(25deg, #264, #222) !important;<br />
background-image: linear-gradient(25deg, #7D8, #222) !important; /* Vivid green, without blend-mode */<br />
background-blend-mode: luminosity;<br />
background-image: linear-gradient(25deg, #2220 10%, #111 100%) !important; /* Emphasize base green and blue */<br />
}<br />
#mp-other-lower h2::after,<br />
.mw-body .mw-parser-output .MainPageBG h2::after {<br />
content: none;<br />
/* border-color: var(--text-shade-4); */<br />
}<br />
<br />
.mw-parser-output .mainpage-box-title { /* https://commons.wikimedia.org/wiki/Main_Page */<br />
background-blend-mode: luminosity;<br />
background-image: linear-gradient(25deg, #2220 10%, #111 100%); /* Emphasize base green and blue */<br />
background-image: linear-gradient(25deg, #888f, #000c 80%, #000f);<br />
background-image: linear-gradient(25deg, var(--bg-shade-5), var(--bg-shadow-0) 70%, var(--bg-shade-0) );<br />
}<br />
.mw-parser-output .mainpage-box {<br />
border-width: 2px;<br />
}<br />
<br />
#centralized-discussion-label {<br />
padding: 0.2em 0.4em !important;<br />
margin: 0.2em 0.4em;<br />
}<br />
#centralized-discussion-label + div {<br />
/* Select div below the label, disable border between the two elements */<br />
border-top: unset !important;<br />
}<br />
#centralized-discussion-label,<br />
.infobox th.summary,<br />
.vertical-navbox th[style] {<br />
/* Highlighted header */<br />
box-shadow: var(--bg-shadow-1) 0px 8px 8px -8px;<br />
}<br />
body.skin-timeless .infobox td, body.skin-timeless .infobox th {<br />
padding: 1px 3px;<br />
}<br />
<br />
<br />
<br />
/** Box backgrounds **/<br />
<br />
/* unset */<br />
td[style*="background-color: #E0E0E0"], /* https://en.wikipedia.org/wiki/Wikipedia:Arbitration/Requests/Case/* */<br />
.mw-inputbox-centered[style], /* https://en.wikipedia.org/wiki/Help:Contents */<br />
td[style*="background-color: #fcf4ef"], /* https://en.wikipedia.org/wiki/Wikipedia:Contents */<br />
tr[style*="background:#FFE2E0"], /* Commons "This media file has been nominated for deletion" */<br />
.wikipediauserbox td[style*="background:#ffffff"], /* Clock on https://en.wikipedia.org/wiki/Wikipedia:Bureaucrats%27_noticeboard */<br />
table#portal td {<br />
background: unset !important;<br />
}<br />
<br />
td[style*="color:black"] { /* Some userboxes */<br />
color: unset !important;<br />
}<br />
<br />
/* bg-shade-2 */<br />
div.archived {<br />
background-color: var(--bg-shade-2) !important;<br />
border-color: var(--bg-shade-4) !important;<br />
}<br />
<br />
/* bg-shade-3 */<br />
td[style*="background: White"] { /* "Extended content" on Wikiversity */<br />
background: var(--bg-shade-3) !important;<br />
border: unset !important;<br />
color: unset;<br />
}<br />
<br />
/* Experiment adding blueish hue with alpha transparency */<br />
/*<br />
.mw-parser-output div[style*="background:#F0F0FF"] {<br />
background: #445 !important;<br />
background: #00f4 !important;<br />
background: #44f4 !important;<br />
background: #88f4 !important;<br />
background: #fff4 !important;<br />
}<br />
*/<br />
<br />
/* bg-shade-4 */<br />
table.mw-collapsible div[style*="background:#CCF"] { /* https://meta.wikimedia.org/wiki/Steward_requests/Checkuser "How to make a request" */<br />
background: var(--bg-shade-4) !important;<br />
}<br />
/* div.mw-body-content.mw-indicators > div.mw-indicator > div[style] */<br />
#histlegend, /* .mw-history-legend div, -- https://commons.wikimedia.org/w/index.php?title=Commons:Requests_for_comment/Partial_blocks&action=history */<br />
.mw-parser-output div[style*="background:#F0F0FF"], /* https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2019-12-27/Special_report */<br />
.mw-parser-output div[style*="background-color:#f8f8f8"],<br />
.mw-parser-output div.boilerplate[style*="background-color:"],<br />
.mw-parser-output .portal,<br />
.mw-parser-output .portal > ul,<br />
.mw-parser-output .tright[style*="background"], /* TODO: where was this? $('.tright')[1] */<br />
div.user-block[style*="background"], /* UTRSBot notices */<br />
div[style*="background-color: #f9f9f9"],<br />
.mw-indicator div[style],<br />
.vertical-navbox,<br />
table[style]:not(.tpl-infobox):not([style*="background:transparent"]) {<br />
/* Tables with style hardcoded in wikitext */<br />
background: var(--bg-shade-4) !important;<br />
border-color: var(--bg-shade-5) !important;<br />
border-color: var(--bg-shade-2) !important;<br />
border-color: var(--border-shade-4) !important;<br />
color: var(--text-shade-2) !important;<br />
}<br />
<br />
/* bg-shade-5 */<br />
div#user-unified-loginspan[style*="background-color: White"] { /* https://en.wikipedia.org/wiki/Wikipedia:Arbitration/Requests/Case/* */<br />
background-color: var(--bg-shade-5) !important;<br />
padding: 4px 8px;<br />
border-radius: 1em;<br />
}<br />
div[style*="background-color:#FFF"], /* https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2019-12-27/Special_report */<br />
div[style*="background-color: #ffffff"], /* https://commons.wikimedia.org/wiki/Commons:Community_portal */<br />
.infobox td[style*="background-color: #b0c4de"],<br />
.mw-parser-output .mainpage-welcome,<br />
/*.vertical-navbox */ .NavHead,<br />
.vertical-navbox div[style*="background-color: #adf"], /* https://en.wikipedia.org/wiki/Talk:Main_Page */<br />
/* th.navbox-title[style*="background"], */<br />
td.navbox-abovebelow, /* Or td.hlist or [style*="background:#cce"] https://en.wikipedia.org/wiki/Wikipedia:Bureaucrats%27_noticeboard "Current admin count" */<br />
th[style*="background"],<br />
div[style*="background:#FFF"], /* https://meta.wikimedia.org/wiki/Steward_requests/Checkuser "Shortcut: SRCU" */<br />
div[role="note"] > span[style*="background"],<br />
/* div.resolved > span[style*="background"], */<br />
/* div.unresolved > span[style*="background"], */<br />
.wikipediauserbox td+td {<br />
background: var(--bg-shade-5) !important;<br />
}<br />
div[style*="background-color:#c0eaa6"], /* Wikiversity Welcome */<br />
div[style*="background-color:#FDFDFD"], /* "Resolved" comment https://commons.wikimedia.org/wiki/Commons:Help_desk */<br />
div[style*="background: ivory"], /* https://en.wikipedia.org/wiki/Wikipedia:Arbitration/Requests/Case/* */<br />
tr[style*="background: #E0E0E0"] { /* https://en.wikipedia.org/wiki/Wikipedia:Arbitration/Requests/Case */<br />
background: var(--bg-shade-5) !important;<br />
border-color: var(--bg-shade-4) !important;<br />
color: unset !important;<br />
}<br />
<br />
.mw-parser-output .mainpage-welcome {<br />
color: var(--text-shade-2) !important;<br />
}<br />
<br />
/* bg-shade-6 */<br />
table#portal tr:first-child td,<br />
.tmbox td[style*="background"]:not(.wpbs-inner),<br />
#centralized-discussion-label,<br />
.mw-parser-output .mainpage-portals,<br />
#wmhu-tax-banner, /* https://hu.wikipedia.org/wiki/ */<br />
.infobox th.summary,<br />
.vertical-navbox th[style],<br />
span[style*="background:#f9fcf9"], /* "Resolved" https://commons.wikimedia.org/wiki/Commons:Help_desk */<br />
th.mbox-image[style], /* Highlighted header or field */<br />
td.import[style] {<br />
/* padding: 0.2em 0.4em; */ /* Hardcoded in the template */<br />
background: var(--bg-shade-6) !important;<br />
}<br />
div#user-unified-login, /* div#user-unified-login[style*="background:#F5F5F5"] -- {{Notification preferences|ping|<user>}} -- https://en.wikipedia.org/wiki/Template:Notification_preferences */<br />
td[style="background:#C5D8FC"] {<br />
background: var(--bg-shade-6) !important;<br />
border-color: var(--bg-shade-4) !important;<br />
color: unset !important;<br />
}<br />
div#user-unified-login span { /* https://en.wikipedia.org/wiki/Template:Notification_preferences */<br />
color: unset !important;<br />
}<br />
<br />
<br />
<br />
/* Hardcoded box borders */<br />
.tmbox td[style*="background"] {<br />
border: 0 !important;<br />
}<br />
/* Recolor hardcoded rules border-top: 1px solid #c0c090; border-bottom: 1px solid #c0c090; */<br />
.tmbox td[style*="border-top"],<br />
.tmbox td[style*="border-bottom"] {<br />
border-color: var(--bg-shade-6) !important;<br />
}<br />
<br />
table.mw-collapsible { /* "Extended content" on Wikiversity */<br />
border: 2px solid var(--bg-shade-4) !important;<br />
border: 4px double var(--bg-shade-4) !important;<br />
border-bottom: 0.5em double var(--bg-shade-4) !important;<br />
}<br />
<br />
<br />
/* Portal boxes and "Help desk" padding and size correction */<br />
.mw-parser-output div[style*="background-color:#f9f9f9"],<br />
.mw-parser-output .portal {<br />
padding: 0.4em !important;<br />
}<br />
.mw-parser-output .portal li > span {<br />
padding: 0.25em 0em !important;<br />
padding-right: 0.4em !important;<br />
}<br />
.mw-parser-output .portal > ul {<br />
padding: 0 !important;<br />
}<br />
<br />
/* Jumpbox -- "Skip to TOC Skip to bottom" https://en.wikipedia.org/wiki/Wikipedia:Bureaucrats%27_noticeboard */<br />
div.nomobile.metadata[style*="position"] {<br />
background-color: var(--bg-shade-6) !important;<br />
border-color: var(--text-shade-4) !important;<br />
border-radius: 1em;<br />
padding: 3px 0.7em !important;<br />
top: 0.1em !important;<br />
right: 2em !important;<br />
}<br />
<br />
<br />
<br />
/** Responsive tables **/<br />
<br />
/* Border below header row */<br />
/* .wikitable th[scope=col], */<br />
/* .wikitable tbody th[scope=col], */<br />
.wikitable.plainrowheaders tbody th[scope=col],<br />
.wikitable.sortable thead th {<br />
box-shadow: inset 0px -4px 0px 0px var(--bg-shade-3);<br />
box-shadow: inset 0px -3px 0px 0px var(--text-shade-4);<br />
}<br />
.wikitable.sortable tfoot th {<br />
box-shadow: inset 0px 4px 0px 0px var(--bg-shade-3);<br />
box-shadow: inset 0px 3px 0px 0px var(--text-shade-4);<br />
}<br />
<br />
/* Make wide tables horizontally scrollable */<br />
/* .mw-parser-output > table:not([style*="float"]):not([style*="position"]), */<br />
.widescroll, /* TODO: Proposed class */<br />
.thumb.tmulti { /* Mutliple thumbnails */<br />
/* Might need to select wide tables to scroll with javascript and a specific class to avoid the issues with turning a table into a block for small tables. */<br />
/* Alternative is to wrap in a div that's scrolled. This can be done only in the skin. */<br />
display: block; /* Needed for scroll, spoils accessibility and anything that depends on table semantics. */<br />
overflow-x: auto; /* Horizontal scrollbar if wider than parent div.mw-parser-output */<br />
/* overflow-y: hidden; */ /* Why is there a vertical scrollbar without padding-bottom: 1px ? */<br />
padding: 0 0 1px 0 !important; /* Remove .wikitable padding */<br />
max-width: 100%;<br />
width: fit-content;<br />
height: fit-content;<br />
}<br />
<br />
<br />
@media screen and (max-width: 850px) {<br />
<br />
/* Add a scrollbar at the bottom of the table, hide the overflow if wider than available space */<br />
.wikitable.sortable {<br />
display: block;<br />
overflow-x: auto;<br />
padding: 0 0 1px 0 !important;<br />
max-width: 100%;<br />
width: fit-content;<br />
height: fit-content;<br />
}<br />
<br />
} /* @media screen and (max-width: 850px) */<br />
<br />
<br />
@media screen and (min-width: 851px) {<br />
<br />
/* Keep header on-screen when scrolling down */<br />
/* Test: https://en.wikipedia.org/wiki/Usage_share_of_web_browsers https://meta.wikimedia.org/wiki/Reports */<br />
/* .wikitable.plainrowheaders,<br />
.wikitable.sortable { */<br />
.wikitable {<br />
--sticky-top: 0em; /* Old skins scroll the whole height, have no fixed header */<br />
--sticky-top2: 2.16em;<br />
}<br />
body.skin-minerva .wikitable,<br />
body.skin-timeless .wikitable {<br />
--sticky-top: 2.7em; /* Timeless has a ca. 3em height header fixed always on screen */<br />
--sticky-top2: 4.86em; /* +2.16em */<br />
}<br />
/* .wikitable tr:nth-child(2) tbody th[scope=col], */<br />
.wikitable thead tr:nth-child(2) th {<br />
--sticky-top: var(--sticky-top2);<br />
}<br />
<br />
/* .wikitable tbody th[scope=col], */<br />
.wikitable.plainrowheaders tbody th[scope=col],<br />
.wikitable.sortable thead th {<br />
position: sticky;<br />
top: var(--sticky-top);<br />
}<br />
.wikitable.sortable tfoot th {<br />
position: sticky;<br />
bottom: 0em;<br />
}<br />
<br />
/* Don't sticky the headers of floating tables (on the right), these are usually small enough to not need that. */<br />
/*<br />
.mw-body .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend th,<br />
.mw-changeslist-legend th,<br />
.mw-body .mw-search-profile-tabs th,<br />
.mw-body fieldset#mw-searchoptions th,<br />
.wikitable th,<br />
.infobox th,<br />
.mw-datatable th,<br />
table[align] th,<br />
table[style*="float"] th {<br />
position: unset; <br />
box-shadow: unset;<br />
}<br />
*/<br />
<br />
/* Alternative sticky header approach<br />
* https://bugs.chromium.org/p/chromium/issues/detail?id=702927<br />
* Issue 702927: position: sticky does not work on <thead> or <tr><br />
* Sun, Mar 19, 2017 "Until Blink supports CSS3 positioning, I don't think we can properly support sticky on <thead> and <tr>, as it would require (from memory) changing the definition of container() for those elements (and for <th>)."<br />
* Wed, Mar 29, 2017 TheDJ? hartman....@gmail.com "The problems is that on Wikipedia we have many tables with multi row table headers, and having to target the individual cells with the same (top) offset, causes them to overlap in that case..."<br />
* Mon, Jan 29, 2018 "My current understanding is that robhogan@ attempted to fix both relative and sticky positioning on table rows, believing the Blink support to be there. However it turned out that this caused Netflix to render incorrectly (see issue 798164). The fix from robhogan@ was reverted and that revert merged all the way back to M64 to avoid breaking Netflix. The root bug here to track is issue 417223; until Blink has the proper support for relative postioning for table rows, there isn't much we can do :(. I'm afraid I don't have any idea of whether that'll be fixed soon."<br />
* Wed, Apr 25, 2018 "No current work is happening by me on sticky for <thead>, dropping to Available."<br />
* Abandoned since then.<br />
*/<br />
/*<br />
thead {<br />
display: block;<br />
position: sticky;<br />
top: var(--sticky-top);<br />
}<br />
*/<br />
<br />
} /* @media screen and (min-width: 851px) */<br />
<br />
<br />
<br />
/** History **/<br />
<br />
span.updatedmarker {<br />
margin: 0 0.5em;<br />
padding: 0 0.5em;<br />
border-radius: 5px;<br />
border-radius: 1em;<br />
background-color: var(--bg-shade-4a);<br />
color: var(--text-shade-4);<br />
}<br />
<br />
<br />
/** Recent changes **/<br />
<br />
<br />
/** Revision differences **/<br />
<br />
.mw-revslider-container {<br />
/* "Browse history interactively" */<br />
background-color: var(--bg-shade-3a);<br />
color: var(--text-shade-1);<br />
}<br />
.mw-revslider-container:focus,<br />
.mw-revslider-container :focus {<br />
outline: none;<br />
}<br />
.mw-revslider-container .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button {<br />
color: inherit;<br />
}<br />
[data-diff-action='insert'], table[data-diff-action='insert'] > caption, figure[data-diff-action='insert'] > figcaption {<br />
background-color: var(--diff-add-bg) !important;<br />
box-shadow: 0 0 4px 2px var(--diff-add-bg);<br />
border-radius: var(--box-radius);<br />
}<br />
[data-diff-action='remove'], table[data-diff-action='remove'] > caption, figure[data-diff-action='remove'] > figcaption {<br />
background-color: var(--diff-del-bg) !important;<br />
box-shadow: 0 0 4px 2px var(--diff-del-bg);<br />
border-radius: var(--box-radius);<br />
}<br />
<br />
td.diff-context {<br />
color: var(--diff-text);<br />
background-color: var(--diff-bg);<br />
border-color: transparent;<br />
}<br />
td.diff-addedline {<br />
background-color: var(--diff-add-bg);<br />
border-color: var(--diff-add-bg-1);<br />
}<br />
td.diff-deletedline {<br />
background-color: var(--diff-del-bg);<br />
border-color: var(--diff-del-bg-1);<br />
}<br />
td.diff-addedline .diffchange {<br />
background-color: var(--diff-add-bg-1);<br />
padding-left: 0;<br />
}<br />
td.diff-deletedline .diffchange {<br />
background-color: var(--diff-del-bg-1);<br />
}<br />
.diffchange {<br />
font-weight: unset;<br />
}<br />
<br />
.diff {<br />
border-spacing: 1px;<br />
}<br />
.diff td {<br />
padding: 0 0.5em;<br />
}<br />
.diff td.diff-marker {<br />
padding: 0 0.25em;<br />
}<br />
td.diff-addedline .diffchange,<br />
td.diff-deletedline .diffchange {<br />
border-radius: 0;<br />
padding: 0;<br />
}<br />
td.diff-addedline, td.diff-deletedline, td.diff-context {<br />
font-size: initial;<br />
border-width: 0 0 0 4px;<br />
}<br />
<br />
<br />
<br />
<br />
/* Flow -- Structured discussions */<br />
<br />
.mw-content-ltr .flow-post {<br />
margin: 0 0 0 1em;<br />
}<br />
.flow-post {<br />
padding: 8px 0;<br />
border-bottom: 1px solid var(--bg-shade-6);<br />
/* box-shadow: 0px 9px 8px -10px var(--link-shade-2); */<br />
/* margin: 0; */<br />
color: var(--text-shade-2);<br />
}<br />
.flow-topic-titlebar {<br />
background-color: var(--bg-shade-4);<br />
box-shadow: var(--bg-shade-4) 0px 2px 3px 3px;<br />
padding: 0.5em;<br />
}<br />
.flow-topic-moderatestate-lock .flow-topic-titlebar {<br />
background-color: var(--bg-shade-4);<br />
}<br />
.flow-topic-moderatestate-lock .flow-topic-titlebar h2 {<br />
color: var(--text-shade-3);<br />
}<br />
<br />
.flow-ui-modal {<br />
background-color: var(--bg-overlay-0);<br />
}<br />
.flow-ui-modal-layout {<br />
background-color: var(--bg-shade-3);<br />
color: var(--text-shade-3);<br />
border-radius: var(--box-radius);<br />
box-shadow: 1px 1px 8px 2px var(--bg-shadow-1);<br />
}<br />
<br />
.flow-post-content > section:last-child > p:last-child {<br />
/* Decrease unnecessary margin at top and bottom of posts */<br />
margin-bottom: 0;<br />
}<br />
.flow-post-content > section:first-child > p:first-child {<br />
margin-top: 4px;<br />
}<br />
<br />
.flow-topic-meta,<br />
.flow-topic-summary-container .flow-topic-summary .flow-topic-summary-author,<br />
.flow-topic-summary-container .flow-ui-editTopicSummaryWidget .flow-topic-summary-author {<br />
color: inherit;<br />
}<br />
.flow-topic-titlebar .flow-topic-summary,<br />
.flow-topic-titlebar .flow-ui-editTopicSummaryWidget,<br />
.mw-content-ltr .flow-topic-titlebar .flow-topic-titlebar-container,<br />
.mw-content-ltr .flow-topic-titlebar .flow-edit-title-form {<br />
padding-left: 0.5em;<br />
}<br />
.flow-ui-editorWidget > .flow-ui-editorWidget-editor:not(.oo-ui-pendingElement-pending) {<br />
background-color: var(--bg-shade-2) !important; /* override inlined <style> */<br />
}<br />
.flow-ui-editorWidget-wikitextHelpLabel {<br />
bottom: 50px; /* Hacked positioning depends on font */<br />
}<br />
.flow-component.flow-board-page.flow-full-height-side-rail .flow-board-header::before {<br />
display: none;<br />
background-color: transparent;<br />
}<br />
.flow-component.flow-board-page.flow-full-height-side-rail:not(.expanded) .flow-board-header {<br />
background-color: var(--bg-shade-4);<br />
/* box-shadow: 0px 0px 5px 4px var(--bg-shade-4); */<br />
box-shadow: 0px 2px 8px 4px var(--bg-shade-2);<br />
}<br />
a.flow-timestamp-anchor:hover,<br />
a.flow-timestamp-anchor:hover:visited {<br />
color: inherit;<br />
}<br />
<br />
div > .flow-menu ul {<br />
background-color: var(--bg-shade-5);<br />
}<br />
.flow-component .flow-list li:hover {<br />
background-color: var(--bg-shade-4);<br />
}<br />
<br />
.flow-post-timestamp {<br />
margin: 0 2em;<br />
}<br />
<br />
.flow-post-main > .flow-post-meta,<br />
.flow-post-main > .flow-post-meta > .flow-post-meta-actions {<br />
display: inline;<br />
float: unset;<br />
}<br />
.flow-post-main > .flow-menu {<br />
display: inline-block;<br />
position: relative; /* Anchor for pop-up menu */<br />
margin-top: -8px; /* Leave less dead space below post */<br />
}<br />
.flow-post-main > .flow-menu .flow-menu-js-drop {<br />
display: inline;<br />
position: relative;<br />
}<br />
.flow-post-main > .flow-menu .flow-menu-js-drop a {<br />
position: relative;<br />
top: 7px;<br />
}<br />
.flow-post-main .flow-list {<br />
position: absolute;<br />
z-index: 2;<br />
/* top: 1.6em; */<br />
bottom: 1.3em;<br />
left: -3em;<br />
width: max-content;<br />
}<br />
<br />
<br />
<br />
/* Input widgets: advanced search, logs, dates */<br />
<br />
input {<br />
/* TODO: This interferes with #searchInput. Is it necessary for some other input field with a more specific selector? */<br />
/* background-color: var(--bg-shade-3); */<br />
/* border: solid 1px var(--bg-shade-1) !important; */<br />
/* border-radius: 2px; */<br />
/* padding-left: 5px; */<br />
color: var(--text-shade-3); /* TODO: check */<br />
}<br />
<br />
.oo-ui-textInputWidget > .oo-ui-labelElement-label {<br />
line-height: 0.5em;<br />
}<br />
.oo-ui-labelElement-label {<br />
/* text-shadow: 0 0 0 var(--bg-shade-0); */<br />
/* text-shadow: 1px 2px var(--bg-shade-3); */<br />
}<br />
.oo-ui-draggableElement.oo-ui-labelElement .oo-ui-labelElement-label {<br />
color: var(--text-shade-3);<br />
}<br />
.oo-ui-fieldsetLayout-header .oo-ui-labelElement-label,<br />
.oo-ui-fieldLayout-header .oo-ui-labelElement-label {<br />
color: var(--text-shade-1);<br />
}<br />
.mw-ui-input {<br />
background-color: var(--bg-shade-3);<br />
border-color: var(--bg-shade-6);<br />
box-shadow: unset; /* Remove rule box-shadow: inset 0 0 0 0.1em #fff; */<br />
margin-top: 3px;<br />
margin-bottom: 1px;<br />
}<br />
.mw-ui-input,<br />
.oo-ui-textInputWidget .oo-ui-inputWidget-input,<br />
.oo-ui-textInputWidget input,<br />
.oo-ui-textInputWidget textarea,<br />
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled:active,<br />
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled:focus,<br />
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover,<br />
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled,<br />
.mw-widget-dateInputWidget-handle {<br />
background-color: var(--bg-shade-2);<br />
color: var(--text-shade-2);<br />
}<br />
.oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle,<br />
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle {<br />
/* background-color: var(--bg-shade-4); */<br />
background-color: initial;<br />
color: var(--text-shade-2);<br />
}<br />
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled {<br />
background-color: var(--bg-shade-2);<br />
}<br />
.mw-advancedSearch-fieldContainer .oo-ui-labelElement > .oo-ui-fieldsetLayout-header > .oo-ui-labelElement-label,<br />
.oo-ui-tagMultiselectWidget-handle > .oo-ui-tagMultiselectWidget-content > input {<br />
color: var(--text-shade-2);<br />
}<br />
<br />
.mw-advancedSearch-namespace-selection,<br />
.mw-advancedSearch-fieldContainer,<br />
.mw-widget-dateInputWidget-calendar {<br />
background-image: unset;<br />
background-color: var(--bg-shade-3);<br />
}<br />
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined,<br />
.mw-advancedSearch-fieldContainer .oo-ui-labelElement > .oo-ui-fieldsetLayout-header > .oo-ui-labelElement-label,<br />
.mw-advancedSearch-expandablePane-button.oo-ui-widget-enabled.oo-ui-buttonWidget > .oo-ui-buttonElement-button:active,<br />
.mw-advancedSearch-expandablePane-button.oo-ui-widget-enabled.oo-ui-buttonWidget > .oo-ui-buttonElement-button:focus,<br />
.mw-advancedSearch-expandablePane-button.oo-ui-widget-enabled.oo-ui-buttonWidget > .oo-ui-buttonElement-button:hover {<br />
background-color: var(--bg-shade-3);<br />
color: unset;<br />
}<br />
.mw-prefs-buttons {<br />
/* Settings, Save button area */<br />
background-color: var(--bg-shade-3);<br />
}<br />
<br />
/* Recent changes */<br />
div.mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle {<br />
background: var(--bg-shade-3a);<br />
}<br />
<br />
.oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,<br />
.oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget {<br />
color: var(--text-shade-2);<br />
}<br />
.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected,<br />
.oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected {<br />
background-color: initial;<br />
color: var(--text-shade-2);<br />
}<br />
.oo-ui-menuOptionWidget.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected,<br />
.oo-ui-menuOptionWidget.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-optionWidget-highlighted,<br />
.oo-ui-menuOptionWidget.oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-optionWidget-highlighted {<br />
color: var(--text-shade-1);<br />
}<br />
<br />
.mw-widget-calendarWidget-day {<br />
color: var(--text-shade-2);<br />
}<br />
.mw-widget-calendarWidget-day-additional {<br />
color: var(--text-shade-3); /* TODO: check */<br />
}<br />
<br />
/* Dropdown menu background */<br />
.oo-ui-menuSelectWidget {<br />
background-color: var(--bg-shade-3);<br />
color: var(--text-shade-3); /* Probably overridden by all subelements */<br />
}<br />
.mw-ui-checkbox:not(#noop) [type='checkbox'] + label::before {<br />
background-color: var(--bg-shade-4);<br />
}<br />
<br />
.mw-body .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend,<br />
.mw-changeslist-legend,<br />
.mw-body .mw-search-profile-tabs,<br />
.mw-body fieldset#mw-searchoptions,<br />
.wikitable,<br />
.mw-datatable {<br />
background: var(--bg-shade-5);<br />
}<br />
.oo-ui-menuOptionWidget.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,<br />
.oo-ui-menuOptionWidget.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-widget-enabled,<br />
.oo-ui-menuOptionWidget.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected,<br />
.oo-ui-menuOptionWidget.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-pressed {<br />
background-color: var(--bg-shade-5);<br />
}<br />
.mw-ui-button {<br />
background-color: var(--bg-shade-5);<br />
color: var(--text-shade-1);<br />
}<br />
.mw-ui-button:hover {<br />
background-color: var(--bg-shade-6);<br />
color: var(--text-shade-1);<br />
}<br />
<br />
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled,<br />
.oo-ui-tagItemWidget.oo-ui-widget-enabled:not(.oo-ui-tagItemWidget-fixed) {<br />
background-color: var(--bg-shade-5);<br />
/* border-color: var(--bg-shade-1); */<br />
border: unset;<br />
}<br />
.oo-ui-tagItemWidget.oo-ui-widget-enabled:focus {<br />
box-shadow: inset 0 0 0 1px var(--bg-shade-6);<br />
box-shadow: inset 0 0 0 1px var(--focus-border-color);<br />
}<br />
.oo-ui-tagItemWidget {<br />
margin-bottom: none;<br />
}<br />
<br />
/* Input field border */<br />
#searchInput, /* Vector skin search */<br />
body.skin-timeless #simpleSearch, /* Timeless skin search */<br />
div.mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle,<br />
div.mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget,<br />
.mw-advancedSearch-fieldContainer,<br />
.mw-advancedSearch-namespace-selection,<br />
.mw-advancedSearch-fieldContainer fieldset,<br />
.mw-ui-input,<br />
.mw-widget-dateInputWidget-handle,<br />
.oo-ui-dropdownWidget-handle,<br />
.oo-ui-tagMultiselectWidget-handle,<br />
.oo-ui-textInputWidget .oo-ui-inputWidget-input,<br />
fieldset {<br />
/* background-color: var(--bg-shade-3) !important; */<br />
/* border: 1px solid var(--bg-shade-1); */<br />
border-color: var(--bg-shade-4);<br />
}<br />
<br />
/* Input field border when hovered */<br />
#searchInput:hover, /* Vector skin search */<br />
body.skin-timeless #simpleSearch:hover, /* Timeless skin search */<br />
.mw-ui-input:hover,<br />
div.mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover,<br />
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-inlined:hover .oo-ui-tagMultiselectWidget-handle,<br />
.oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input,<br />
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover,<br />
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active {<br />
border-color: var(--bg-shade-6);<br />
}<br />
<br />
#searchInput, /* Vector skin search */<br />
body.skin-timeless #simpleSearch, /* Timeless skin search */<br />
.mw-ui-input,<br />
div.mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle,<br />
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-inlined .oo-ui-tagMultiselectWidget-handle,<br />
.oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input,<br />
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle {<br />
transition: border-color 0.25s, box-shadow 0.25s; /* from Timeless: only .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input has transition */<br />
}<br />
<br />
/* Button border when focused */<br />
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus {<br />
box-shadow: unset;<br />
border-color: var(--bg-shade-6);<br />
border-color: var(--focus-border-color);<br />
}<br />
<br />
/* .editButtons .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { */<br />
.oo-ui-buttonElement-framed.oo-ui-widget-enabled:not(.oo-ui-buttonElement-active) > .oo-ui-buttonElement-button:hover,<br />
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button,<br />
/* Input form dropdowns */<br />
.oo-ui-buttonWidget.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active,<br />
.oo-ui-buttonWidget.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active:focus,<br />
.oo-ui-buttonWidget.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus,<br />
.oo-ui-buttonWidget.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover {<br />
/* Input form dropdowns :hover, :focus and :active (pushed) */<br />
/* background-color: var(--bg-shade-4); */<br />
background-color: unset;<br />
/* color: var(--text-shade-2); */<br />
color: unset;<br />
border-color: var(--bg-shade-5);<br />
}<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button,<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover,<br />
.oo-ui-labelElement .oo-ui-labelElement-label { /* Flow "Cancel" and "Publish changes" buttons */<br />
color: unset;<br />
}<br />
<br />
<br />
<br />
/* Editor */<br />
.mw-editfont-monospace,<br />
.mw-editfont-sans-serif,<br />
.mw-editfont-serif {<br />
font-size: unset;<br />
}<br />
.ace_editor,<br />
.wikiEditor-ui .ace_editor,<br />
.mw-editfont-monospace {<br />
font-family: var(--font-mono);<br />
}<br />
.mw-editfont-sans,<br />
.mw-editfont-sans-serif {<br />
font-family: var(--font-sans);<br />
}<br />
.mw-editfont-serif {<br />
font-family: var(--font-serif);<br />
}<br />
<br />
.oo-ui-windowManager-modal > .oo-ui-dialog {<br />
background-color: var(--bg-overlay-0);<br />
}<br />
.ve-ui-mwSaveDialog-options {<br />
background-color: initial;<br />
border: unset;<br />
}<br />
.oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame {<br />
background-color: var(--bg-shade-4);<br />
}<br />
.codeEditor-status,<br />
.wikiEditor-ui-toolbar,<br />
.oo-ui-toolbar-bar {<br />
background-image: unset;<br />
background-color: var(--bg-shade-4);<br />
/* background-color: var(--bg-shade-5); */<br />
color: var(--text-shade-2);<br />
}<br />
/* textarea[style*="background"], */<br />
#mw-content-text textarea, /* View source */<br />
.wikiEditor-ui textarea {<br />
/* Editor, code editor (), maybe other editors */<br />
background-color: var(--bg-shade-2) !important;<br />
color: var(--text-shade-1);<br />
}<br />
.wikiEditor-ui .wikiEditor-ui-view {<br />
border: 1px solid var(--bg-shade-0);<br />
}<br />
.wikiEditor-ui .wikiEditor-ui-top {<br />
border-bottom: 1px solid var(--bg-shade-0);<br />
}<br />
<br />
.tool.oo-ui-buttonElement-frameless.oo-ui-iconElement:hover,<br />
.tool-button.tool-active,<br />
.tool.tool-active.oo-ui-buttonElement-frameless.oo-ui-iconElement {<br />
background-color: var(--bg-shade-5);<br />
box-shadow: unset;<br />
outline: 0;<br />
}<br />
.oo-ui-barToolGroup-tools.oo-ui-toolGroup-enabled-tools .oo-ui-tool.oo-ui-widget-disabled.oo-ui-flaggedElement-primary > .oo-ui-tool-link,<br />
.oo-ui-barToolGroup-tools.oo-ui-toolGroup-disabled-tools .oo-ui-tool.oo-ui-flaggedElement-primary > .oo-ui-tool-link {<br />
background-color: var(--bg-shade-6);<br />
}<br />
<br />
label.oo-ui-messageDialog-title { color: var(--text-shade-1); }<br />
label.oo-ui-messageDialog-message { color: var(--text-shade-2); }<br />
<br />
<br />
/* Code editor */<br />
<br />
.ace-tm {<br />
/* Ace editor might be loaded later -> !important necessary to override */<br />
background-color: var(--bg-shade-1) !important;<br />
color: var(--text-shade-2) !important;<br />
}<br />
.ace-tm .ace_gutter {<br />
background-color: var(--bg-shade-4) !important;<br />
color: var(--text-shade-2) !important;<br />
}<br />
.ace_scrollbar::-webkit-scrollbar-track {<br />
background-color: var(--bg-shade-3) !important;<br />
}<br />
.ace_scrollbar::-webkit-scrollbar-thumb {<br />
background-color: var(--bg-shade-5) !important;<br />
}<br />
<br />
.tool.oo-ui-buttonElement-frameless.oo-ui-iconElement:active,<br />
.tool.oo-ui-buttonElement-frameless.oo-ui-iconElement:hover,<br />
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active,<br />
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover,<br />
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button,<br />
.oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not(.oo-ui-labelElement) > .oo-ui-buttonElement-button:hover,<br />
.oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected,<br />
.oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted,<br />
.oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle,<br />
.oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover,<br />
.oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover,<br />
.oo-ui-menuToolGroup-tools .oo-ui-tool.oo-ui-tool-active,<br />
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active:focus,<br />
.oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link,<br />
.oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link,<br />
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover {<br />
background-color: var(--bg-shade-5);<br />
color: var(--text-shade-2);<br />
/* TODO: test for all -- changed for .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover */<br />
background-color: unset;<br />
color: unset;<br />
}<br />
.oo-ui-toolbar-tools .oo-ui-labelElement-label {<br />
/* color: var(--text-shade-2); */<br />
color: var(--bg-shade-0);<br />
}<br />
.oo-ui-toolbar-position-top > .oo-ui-toolbar-bar {<br />
border-bottom: 1px solid var(--bg-shade-2);<br />
/* border-bottom: unset; */<br />
/* box-shadow: 0 2px 2px 0 rgba(0,0,0,0.1); */<br />
}<br />
.oo-ui-toolGroup {<br />
border-right: 1px solid var(--bg-shade-3);<br />
}<br />
.oo-ui-toolbar-actions .oo-ui-toolGroup {<br />
border-left: 1px solid var(--bg-shade-3);<br />
}<br />
.oo-ui-popupToolGroup-tools {<br />
background-color: var(--bg-shade-4);<br />
color: var(--text-shade-2);<br />
}<br />
.oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title,<br />
.oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title {<br />
color: var(--text-shade-3);<br />
}<br />
.oo-ui-processDialog-actions-primary .oo-ui-buttonElement.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {<br />
color: white;<br />
}<br />
<br />
<br />
/* Visual Editor */<br />
.oo-ui-toolbar-position-top {<br />
transition: unset;<br />
background: red;<br />
margin: 0;<br />
height: 47px;<br />
margin-top: -5px;<br />
}<br />
.oo-ui-windowManager-modal-active .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar {<br />
margin-right: 17px; /* Subtract the width of the hidden scrollbar */<br />
}<br />
.oo-ui-toolbar-position-top > .oo-ui-toolbar-bar {<br />
position: fixed;<br />
top: 3em;<br />
left: 14em !important; /* Override javascript generated inline style */<br />
right: 16em !important;<br />
z-index: 1;<br />
border: unset;<br />
box-shadow: 0 6px 14px -5px var(--bg-shade-2);<br />
box-shadow: 0 11px 14px -10px var(--bg-shadow-1);<br />
}<br />
.oo-ui-toolbar-bar .oo-ui-toolbar-bar .oo-ui-toolbar-tools {<br />
float: right;<br />
}<br />
.ve-ce-branchNode.ve-ce-documentNode.ve-ce-attachedRootNode.ve-ce-rootNode.mw-content-ltr.mw-parser-output {<br />
background-color: var(--bg-shade-5);<br />
padding: 4px 6px;<br />
margin: 0 2em;<br />
box-shadow: inset 0 0 8px 2px var(--bg-shadow-1);<br />
}<br />
<br />
<br />
<br />
/* Various unidentified oo-ui rules */<br />
<br />
.oo-ui-flaggedElement-destructive {<br />
background-color: var(--bg-shade-2);<br />
border: 1px solid var(--bg-shade-1);<br />
color: var(--link-shade-3);<br />
/* padding-left: 15px !important; */<br />
/* padding-right: 15px !important; */<br />
}<br />
.oo-ui-flaggedElement-destructive:hover {<br />
background-color: var(--bg-shade-5);<br />
}<br />
/* Difference view "Visual"/"Wikitext" */<br />
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button {<br />
/* background-color: var(--bg-shade-6); */<br />
/* color: var(--text-shade-1); */<br />
/* border-color: var(--bg-shade-6); */<br />
}<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover {<br />
background-color: initial;<br />
}<br />
<br />
.oo-ui-buttonElement.oo-ui-labelElement > input.oo-ui-buttonElement-button,<br />
.oo-ui-buttonElement.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {<br />
text-shadow: 0 0 0 var(--bg-shade-0) !important; /* Makes text bolder without distinctly visible shadow */<br />
/* text-shadow: unset !important; */<br />
}<br />
.oo-ui-panelLayout-expanded {<br />
background-color: var(--bg-shade-2);<br />
}<br />
.oo-ui-messageDialog-message {<br />
/* color: #999; */<br />
}<br />
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button {<br />
/* color: #999; */<br />
}<br />
.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget {<br />
border-right: 1px solid var(--bg-shade-1);<br />
}<br />
.oo-ui-dialog-content > .oo-ui-window-body {<br />
outline: 1px solid var(--bg-shade-1);<br />
}<br />
.oo-ui-messageDialog-content > .oo-ui-window-foot {<br />
outline: 1px solid var(--bg-shade-1);<br />
}<br />
<br />
<br />
/* Various unidentified rules */<br />
<br />
#f-list {<br />
text-align: center;<br />
font-size: 14px;<br />
}<br />
.mw-charinsert-buttons {<br />
border: unset;<br />
}<br />
<br />
.postedit-container {<br />
position: absolute;<br />
left: 0;<br />
right: 0;<br />
margin-left: auto;<br />
margin-right: auto;<br />
padding: 0;<br />
padding: 15px 0 15px 15px;<br />
text-align: right;<br />
}<br />
.postedit-icon {<br />
margin: auto;<br />
padding: 0;<br />
}<br />
<br />
.color-middle-container {<br />
padding: 0;<br />
}<br />
#iframeframe {<br />
height: 700px;<br />
}<br />
#wpSave {<br />
text-shadow: 2px 2px 2px var(--bg-shade-0) !important;<br />
}<br />
<br />
input[type='submit'] {<br />
border: solid 1px var(--bg-shade-1);<br />
background-color: var(--bg-shade-4);<br />
padding: 0.3em 0.6em;<br />
color: var(--link-shade-1);<br />
/* color: var(--text-shade-1); */<br />
}<br />
<br />
.mw-ui-button.mw-ui-progressive, .mw-ui-button.mw-ui-progressive:active, .mw-ui-button.mw-ui-progressive.mw-ui-checked, input[type='button'], button {<br />
padding: 0.3em 0.6em;<br />
border: solid 1px var(--bg-shade-1);<br />
background-color: var(--bg-shade-5);<br />
color: var(--text-shade-3);<br />
text-shadow: 0 0 0 var(--bg-shade-0);<br />
}<br />
/* TODO: necessary for input[type='submit'], ? */<br />
.mw-ui-button.mw-ui-progressive, .mw-ui-button.mw-ui-progressive:active, .mw-ui-button.mw-ui-progressive.mw-ui-checked, input[type='button'] {<br />
border: solid 1px var(--bg-shade-1) !important;<br />
text-shadow: 0 0 0 var(--bg-shade-0) !important;<br />
}<br />
<br />
#pagehistory li.selected {<br />
background-color: var(--bg-shade-5);<br />
}<br />
.mw-plusminus-neg {<br />
color: #FF0000;<br />
}</div>
William