DXGL Test Results
Revision as of 02:12, 15 February 2016 by William (talk | contribs) (→3D Test Cases: Test Update 2/14/16)
The following are the results of testing DirectX SDK demos and driver test programs. Please note that these results are currently out of date.
DirectX SDKs
DirectX 2.0 SDK
| Program | Result |
|---|---|
| d3dtest.exe | No 3D |
| ddcaps.exe | Crashes |
| ddex1.exe | Missing center message |
| ddex2.exe | Wrong colors |
| ddex3.exe | Perfect |
| ddex4.exe | Perfect |
| ddex5.exe | Possible palette issues |
| ddtest.exe | Crashes |
| donut.exe | No output |
| duel.exe | Crashes when beginning game |
| flipcube.exe | No 3D |
| foxbear.exe | Crashes after loading graphics |
| globe.exe | No 3D |
| iklowns.exe | Untested |
| memtime.exe | Slow FPS, does not return to windowed mode |
| palette.exe | No effect |
| rockem.exe | No 3D |
| stretch.exe | Perfect |
| tunnel.exe | No 3D |
| twist.exe | No 3D |
| wormhole.exe | Must change desktop resolution, palette cycling not working correctly |
Fnddraw.exe Tests
DCT Test Cases
| Test | Result |
|---|---|
| DCT_GetCaps ROP verification (DCT 5.20.1) | Pass |
| PC98_21 (PC97 19) Transparent Blter | Pass |
| PC98_22 (PC97 20) Perform Double Buffer Swaps with no tearing | Pass |
| PC98_23 (PC97 22) Programmable Blter Stride | Passes with warning |
| PC99 14.8 ScrnRes & VidMem Amt | Fail |
| PC99 14.23 Low-Res Support | Passes with DXGLCFG option |
| PC99 14.22 App Access. FrameBuff1 | Fail |
| PC99TA 6.8.6 720x576 Resolution | Pending |
| PC99TA 6.8.6 1280x720 Resolution | Pending |
| PC99TA 6.8.4 YUV support | Fail |
| PC99TA 6.8.5 Qual scaling Cons. | Fail |
| PC99TA 6.8.5 Qual scaling Enter. | Fail |
| PC99TA 6.8.1 Overlay support | Fail |
| PC99TA 6.8.2 Color key support | Fail |
| GRPH-0168 Minimum Screen Resolution (non-mobile) | Fail |
| GRPH-0393.1 Mobile Minimum Screen Resolution | Pass |
| DCT_LargeNumberOfBuffersPageFlipping | Pass |
| DCT_ColorFillWithSourceSurface | Pass |
| DCT_AGPPrimarySurface | Pass |
API Test Cases
| Test | Result |
|---|---|
| API_IV_DirectDrawCreate | Pass |
| API_DirectDrawEnumerate | Pass with errors |
| API_AddRef/Release | Pass |
| API_QueryInterface | Pass |
| API_Compact | Pass |
| API_IV_CreateSurf | Pass |
| API_CreateSurf | Incorrect behavior |
| API_HEL_CreateSurface | Pass |
| API_DuplicateSurf | Pass with warnings |
| API_EnumDisplayModes | Pass |
| API_GetFourCCCodes | Fail |
| API_EnumSurfaces | Pass with warnings |
| API_GetCaps | Pass |
| API_GetDisplayMode | Pass |
| API_GetGDISurface | Fail |
| API_FlipToGDISurface | Crashes in real life |
| API_Lock | Pass |
| API_RestoreDisplayMode | Pass |
| API_Initialize | Pass |
| API_GetVerticalBlankStatus | Fail |
| API_GetScanLine | Incorrect behavior |
| API_GetMonitorFrequency | Pass |
| API_SetDisplayMode | Pass |
| API_Lander | Pass with errors |
| API_GetDeviceIdentifier | Pass |
| API_TestCooperativeLevel | Corrupts window style |
| API_IV_GetGDISurface | Pass with errors |
| API_IV_SurfQueryInterface | Pass |
| API_IV_GetAvailableVidMem | Pass |
| API_IV_Flip | Crash |
| API_IV_GetFourCCCodes | Pass |
| API_IV_GetDisplayMode | Pass |
| API_IV_GetCaps | Fail |
| API_IV_Unlock | Pass |
| API_IV_SetCooperativeLevel | Pass |
| API_IV_GetVerticalBlankStatus | Pass |
| API_IV_WaitForVerticalBlank | Pass |
| API_IV_EnumSurfaces | Pass |
| API_IV_SetDisplayMode | Fail |
| API_IV_Release | Pass |
| API_IV_Compact | Pass |
| API_IV_RestoreDisplayMode | Pass |
| API_IV_FlipToGDISurface | Pass |
| API_IV_AddRef | Pass |
| API_IV_Initialize | Pass |
| API_IV_GetScanLine | Pass |
| API_IV_CreatePalette | Pass |
| API_IV_QueryInterface | Pass |
| API_IV_EnumDisplayModes | Pass |
| API_IV_GetMonitorFrequency | Pass |
| API_ClassFactory | Pass |
PAL Test Cases
| Test | Result |
|---|---|
| PAL_CreatePalette - Init 256 clrs(TC 2.6.9) | Pass |
| PAL_CreatePalette - ALLOW256 Test(TC 2.6.12) | Incorrect behavior |
| PAL_GetEntries/SetEntries (8-Bit)(TC 4.5.7, 4.7.7) | Pass |
| PAL_Verify Palette Entries Untouched(Regress Nash #7535) | Pass |
| PAL_CreatePalette - Invalid Params Test(TC 2.6.1-5) | Pass |
| PAL_GetEntries - Invalid Params Test(TC 4.5.1-6) | Fail |
| PAL_SetEntries - Invalid Params Test(TC 4.7.1-6) | Fail |
| PAL_GetCaps Test(TC 4.4.3) | Fail |
| PAL_GetCaps - Invalid Params Test(TC 4.4.1-2) | Pass |
| PAL_Palette Initialize Test(TC 4.6.3) | Pass |
| PAL_Palette AddRef/Release Test (TC 4.2.2-3, 4.3.2-3 ) | Pass |
| PAL_Palette Query Interface Test(TC 4.1.5-7) | Crash |
| PAL_Set New Palette Test (Regress: #8154) | Not Implemented |
| PAL_Palette Query Interface Invalid Test | Pass |
| PAL_Palette Release Invalid Params Test | Pass |
| PAL_Palette AddRef Invalid Params Test | Pass |
| PAL_palGetPalette Test's surface get palette | Pass |
| PAL_MultiPalSwitch | Pass |
| PAL_IV_QueryInterface | Pass |
MEMMAN Test Cases
| Test | Result |
|---|---|
| MEMMAN - Consume All Video Mem Test(TC 6.1.1) | Crash |
| MEMMAN - Test VidMem/AGP boundary for MipMap chains | Pending |
| MEMMAN - Rand Create/Release Video Memory surfaces 100X Test(TC 6.1.3) | Fail |
| MEMMAN - Rand Create/Release AGP surfaces 100X Test(TC 6.1.3) | Pending |
| MEMMAN - Video Memory Reuse Test(TC 6.1.2) | N/A |
| MEMMAN - Create/Verify All Video Memory Types(TC ??] | Fail |
| MEMMAN_GetAvailableVidMem(TC 3.6.?] | Fail |
| MEMMAN - Consume Half SysMem Test | Fail |
| MEMMAN - Random Create/Release System Memory surfaces Test | Aborted |
CLIP Test Cases
| Test | Result |
|---|---|
| CLIP_SetHWnd/GetHWnd Test(TC 5.5.4, 5.9.5) | Pass |
| GetClipList Test(TC 5.4.8, 5.8.9-10) | Pass |
| CLIP_IsClipListChanged Test(TC 5.7.3-4) | Pass |
| CLIP_CreateClipper - Invalid Params Test(TC 2.5.1-4) | Pass |
| CLIP_SetHWnd - Invalid Params Test(TC 5.9.1-3) | Pass |
| CLIP_GetHWnd - Invalid Params Test(TC 5.5.1-3) | Pass with warning |
| CLIP_SetClipList While Using HWnd Test(TC 5.8.11) | Pass |
| CLIP_SetClipList - Invalid Params Test(TC 5.8.1-7) | Pass |
| CLIP_GetClipList - Invalid Params Test(TC 5.4.1-6) | Pass |
| CLIP_IsClipListChanged - Invalid Params Test(TC 5.7.1-2) | Pass |
| CLIP_DirectDrawCreateClipper(regress bug#4311) | Fail |
| CLIP_QueryInterface Invalid Params Test | Pass |
| CLIP_Initialize Invalid Params Test | Pass |
| CLIP_Initialize | Pass |
| CLIP_QueryInterface | Pass |
BLT Test Cases
| Test | Result |
|---|---|
| BLT Basic, Offscreen Surfaces(TC 3.6.101-102, 2.6.105-106) | Pass |
| BLT Basic, VMem to Primary(TC 3.6.48, 3.6.103) | Pass |
| BLT Basic, System to Primary(TC 3.6.48, 3.6.107) | Pass |
| BLT Basic, AGP to Primary(TC 3.6.48, 3.6.103) | Pass |
| BLT Stretch x 2, VMem to Primary(TC 3.6.49-50) | Pass |
| BLT Stretch x 2, System to Primary(TC 3.6.49-50) | Pass |
| BLT Stretch x 2, AGP to Primary(TC 3.6.49-50) | Pass |
| BLT Stretch x 1.5, VMem to Primary(TC 3.6.51-52) | Pass |
| BLT Stretch x 1.5, System to Primary(TC 3.6.51-52) | Pass |
| BLT Stretch x 1.5, AGP to Primary(TC 3.6.51-52) | Pass |
| BLT Shrink (1/2), VMem to Primary(TC 3.6.53-54) | Pass |
| BLT Shrink (1/2), System to Primary(TC 3.6.53-54) | Pass |
| BLT Shrink (1/2), AGP to Primary(TC 3.6.53-54) | Pass |
| BLT Stretch(width only) x 1.5, VMem to Pri(TC 3.6.51-52) | Pass |
| BLT Stretch(width only) x 1.5, System to Pri(TC 3.6.51-52) | Pass |
| BLT Stretch(width only) x 1.5, AGP to Pri(TC 3.6.51-52) | Pass |
| BLT, single SRCKEY, System to Primary(TC 3.6.60) | Pass |
| BLT, single SRCKEY, VMem to Primary(TC 3.6.60) | Pass |
| BLT, single SRCKEY, AGP to Primary(TC 3.6.60) | Pass |
| BLT, SRCKEY Space, System to Primary(TC 3.6.?] | Probably incorrect fail |
| BLT, SRCKEY Space, VMem to Primary(TC 3.6.?] | Probably incorrect fail |
| BLT, single DESTKEY, System to Primary(TC 3.6.58) | Fail |
| BLT, single DESTKEY, VMem to Primary(TC 3.6.58) | Fail |
| BLT, single DESTKEY, AGP to Primary(TC 3.6.60) | Fail |
| BLT, DESTKEY Space, System to Primary(TC 3.6.?] | Fail |
| BLT, DESTKEY Space, VMem to Primary(TC 3.6.?] | Fail |
| BLT,Stretch, SRCKEY, System to primary(TC 3.6.?] | Pass |
| BLT,Stretch, SRCKEY, VMem to primary(TC 3.6.?] | Pass |
| BLT,Stretch, SRCKEY, AGP to primary(TC 3.6.?] | Pass |
| BLT,Stretch(width only), SRCKEY, Sys to pri(TC 3.6.?] | Pass |
| BLT,Stretch(width only), SRCKEY, VMem to pri(TC 3.6.?] | Pass |
| BLT,Stretch(width only), SRCKEY, AGP to pri(TC 3.6.?] | Pass |
| BLT, Stretch, Complete Overlap, VMem(primary)(TC 3.6.?] | Pass |
| BLT, Stretch, Complete Overlap, Sys. mem.(TC 3.6.?] | Pass |
| BLT, Stretch, Complete Overlap, AGP mem.(TC 3.6.?] | Pass |
| BLT,ROPs, VMem to Primary (TC 3.6.84) | Pass on most hardware |
| BLT,ROPs, System to Primary(TC 3.6.84) | Pass on most hardware |
| BLT Color Fill Primary(TC 3.6.57) | Pass |
| BLT Color Fill SysMem(TC 3.6.57) | Pass |
| BLT Color Fill AGP Mem(TC 3.6.57) | Pass |
| BLT, Clipped, VMem to Primary Test | Pass on most hardware |
| BLT, Clipped, System to Primary Test | Pass on most hardware |
| BLT, Border clipping test | Pass on most hardware |
| BLT, Mirrored and Clipped (Manbug4.1#13532) | Pass on most hardware |
| BLT, Shrink, (3/4), VMem To Primary | Pass |
| BLT, Shrink, (3/4), Sys To Primary | Pass |
| BLT, Shrink, (3/4), AGP To Primary | Pass |
| BLT, Stretch (Wx2, Hx.75), VMem to Pri | Pass |
| BLT, Stretch (Wx2, Hx.75), Sys to Pri | Pass |
| BLT, Stretch (Wx2, Hx.75), AGP to Pri | Pass |
| BLT_BltFast From/To Same Surface(TC#3.6.97a) | Possible glitches |
| BLT_BltFast, SRCKEY, From/To same surface (TC#3.6.97b) | Possible glithces |
| BLT, FourCC to RGB conversion (TC#??.??.] | Pending |
| BLT, FourCC to RGB stretch (TC#??.??.] | Pending |
| BLT, FourCC to FourCC(TC# ?] | Crash |
| BLT_BltFast - MoveToSytemMemoryTest | Pass |
| BLT_BltFast - Verify RLE recompression triggered | Pass |
| BLT, SRCKEY with unused pixel bits set (#5663) | Pass |
| BLT, SRCKEY (from VMem) with unused pixel bits set | Pass |
| BLT, DDERR_NOROTATIONHW (Manbug4.1#8172) | Pending |
| BLT_ZBuffer | Crash |
| BLT, Blt with CS_PARENTDC clip window(#5673) | Incorrect output |
| BLT,Invalid Params Test(TC 3.6.1-3, 3.6.5, 3.6.7-8 ) | Fail |
| BLT_GetBltStatusMultBlts | Fail |
| BLT_GetBltStatusPostFlip | Fail |
| BLT_BltFrontToBackBuff | Pass |
| BLT_OnscreenOverlap | Pass |
| BLT_OffscreenOverlap | Fail |
| BLT_SafeLockPri | Fail |
| BLT_ColorConverting | Infinite loop? |
| BLT_Texture Sys to Sys | Crash |
| BLT_Texture Sys to Vid | Crash |
| BLT_Texture Sys to AGP | Pending |
| BLT_Texture Vid to Vid | Crash |
| BLT_NoSrcColorKey | Fail |
| BLT_NoDestColorKey | Fail |
| BLT_CanNotColorFill | Fail |
| BLT_CanNotDepthFill | Pending |
| BLT_InvalidFlagsDDFX | Fail |
| BLT_BltFast Sys to Sys | Pass |
| BLT_BltFast Sys to Vid | Pass |
| BLT_BltFast Sys to AGP | Pass |
| BLT_BltFast AGP to AGP | Pass |
| BLT_BltFast AGP to Sys (Driver may return DDERR_UNSUPPORTED) | Pass |
| BLT_BltFast AGP to Vid | Pass |
| BLT_BltFast Vid to Vid | Pass |
| BLT_BltFast Vid to Sys | Pass |
| BLT_BltFast Vid to AGP | Pass |
DC Test Cases
| Test | Result |
|---|---|
| Get/Release DC x 25(TC ?] | Pass |
| API_GetDC, Verify Pixel Format(TC ?] | Pass |
| API_GetDC, GDI BitBlt() Tests(TC ?] | Pass |
| API_GetDC, 16-bit DC Cache (ManBug #8348) | Pass |
| API_GetDC, GDI Blt from VidMem Surface to Window DC (ManBug #10431) | Pass |
| API_GetDC, StretchBlt with Pitch (ManBug #8154) | Pass |
SURF Test Cases
| Test | Result |
|---|---|
| SURF_IV_CreateSurface | Fail |
| SURF_LockRectVideo | Fail |
| SURF_LockRectVideoWindowedMode | Fail |
| SURF_LockRectSystem | Fail |
| SURF_Lock, Multiple Rects, Video | Fail |
| SURF_IV_Lock Invalid Parameters | Fail |
| SURF_GetDDInterface | Crash |
| SURF_EnumAttachedSurfaces | Fail |
| SURF_Set/GetColorKey Test | Fail |
| SURF_QueryInterface, multiple buffer surface | Pass |
| SURF_WideSurfaces | Pass |
| SURF_GetSurfaceDesc | Pass |
| SURF_GetClipper | Fail |
| SURF_AddAttachedSurface (flip chain) | Fail |
| SURF_LostSurfaceInvalidParam | Crash |
| SURF_DOSBoxInteraction | Pending |
| SURF_GetFlipStatus | Pending |
| SURF_CopyToClipboard | Fail |
| SURF_EnumPrimarySurface | Fail |
| SURF_EnumOffScrnPlain | Fail |
| SURF_EnumFourCCSurf | Fail |
| SURF_EnumSurfTryMatch | Fail |
| SURF_SetSurf | Fail |
| Surface4_API_GetSurfaceFromDC | Fail |
| DATA_Surface4_GetSetClientDataInvalid | Fail |
| DATA_Surface4_GetSetClientData | Fail |
| CSEM_CreateSurfaceFromMemory | Fail |
| UNIQ_Surface4_GetChangeUniquenessValue | Fail |
| CSEM_IV_Create From Existing Mem | Crash |
| CSEM_Blt Custom Memory Surfaces | Pass |
| CSEM_GetDC Custom Memory Surfaces | Crash |
| CSEM_Change Surfaces and Blt | Fail |
| SURF_IV_GetFlipStatus | Fail |
| SURF_IV_GetBltStatus | Pass |
| SURF_IV_PageLock | Fail |
| SURF_IV_PageUnLock | Fail |
| SURF_IV_GetDC | Crash |
| SURF_IV_ReleaseDC | Pass |
| SURF_IV_GetColorKey | Pass |
| SURF_IV_SetColorKey | Fail |
| SURF_IV_BltBatch | Pass |
| SURF_IV_BltFast | Pass |
| SURF_IV_Blt | Pass |
| SURF_IV_GetPixelFormat | Fail |
| SURF_IV_GetSurfaceDesc | Crash |
| SURF_IV_SetSurfaceDesc | Fail |
| SURF_IV_Initialize | Pass |
| SURF_IV_Lock | Fail |
| SURF_IV_GetDDInterface | Pass |
| SURF_IV_SetPalette | Pending |
| SURF_IV_GetPalette | Pending |
| SURF_IV_SetClipper | Pass |
| SURF_IV_GetClipper | Pass |
| SURF_IV_GetCaps | Pass |
| SURF_IV_GetAttachedSurface | Pass |
| SURF_IV_DuplicateSurface | Pass |
| SURF_IV_AddAttachedSurface | Pass |
| SURF_IV_EnumAttachedSurfaces | Pass |
| SURF_IV_DeleteAttachedSurface | Crash |
| SURF_ReleaseFrontBeforeBack | Fail |
| SURF_SetSurfaceDescDXTn | Fail |
OVERLAY Test Cases
| Test | Result |
|---|---|
| OVERLAY, Destination Color Key Test (TC#3.30.10) | Pending |
| OVERLAY, Create with DestKey Test (TC#3.30.10) | Pending |
| OVERLAY, Z Order (Insert front/back of)(TC# ?.?.?) | Pending |
| OVERLAY, Position not maintained (Regress. OSR#49314) | Pending |
| OVERLAY, Set/GetOverlayPosition (TC. 3.28.8, 3.31.7) | Crash |
| OVERLAY, SetColorKey(NULL) (TC. 3.30.17+18) | Pending |
| OVERLAY, UpdateOverlay | Pending |
| OVERLAY, UpdateOverlayDisplay | Pending |
| OVERLAY, AddOverlayDirtyRect | Pending |
| OVERLAY, EnumOverlayZOrders | Pending |
| OVERLAY, MultiOverlay | Pending |
| OVERLAY, Create 1x1 doesn't crash | Pending |
3D Test Cases
| Test | Result |
|---|---|
| 3D_Depth Fill Blt Test | Fail |
| 3D_Flip MipMap Chain | Fail |
| 3D_Z-Buffer Mask Fill | Fail |
| 3D_NOSYSLOCK Texture Test | Pass |
| 3D_ReallocateAliasing Texture Test | Crash |
| 3D_IsSurfaceReallyLost Surface Test | Fail |
VPE Test Cases
Note: Video port objects are not currently available in DXGL.
| Test | Result |
|---|---|
| VPE_GetDDVideoContainer | Pending |
| VPE_EnumDDVideoContainer | Pending |
| VPE_CreateEnumDDVideoContainer | Pending |
| VPE_GetInput/OutputFormats | Pending |
| VPE_GetBandwidthInfo | Pending |
| VPE_WaitForSync | Pending |
| VPE_WaitForSync(Specific Line) | Pending |
| VPE_Flip | Pending |
| VPE_SetTargetSurface | Pending |
| VPE_GetColorControls | Pending |
| VPE_SetColorControls | Pending |
| VPE_GetVideoSignalStatus | Pending |
| VPE_GetVideoLine | Pending |
| VPE_GetFieldPolarity | Pending |
| VPE_QueryInterface | Pending |
| VPE_QueryVideoPortStatus | Pending |
| VPE_CreateVideoPort | Pending |
| VPE_StartVideo | Pending |
| VPE_StopVideo | Pending |
| VPE_GetOutputFormats | Pending |
| VPE_GetInputFormats | Pending |
| VPE_GetVideoPortConnectInfo | Pending |
| VPE_EnumVideoPorts | Pending |
| VPE_UpdateVideo | Pending |
| VPE_Bob (AUTO) | Pending |
| VPE_Weave (AUTO) | Pending |
| VPE_Bob (MANUAL) | Pending |
| VPE_Weave (MANUAL) | Pending |
| VPE_IV_SetTargetSurface | Pending |
| VPE_IV_GetInputFormats | Pending |
| VPE_IV_GetOutputFormats | Pending |
| VPE_HardwareDeinterlacing (AUTO) | Pending |
| VPE_HardwareDeinterlacing (MANUAL) | Pending |
Color Control Test Cases
Note: Color control is not currently available in DXGL
| Test | Result |
|---|---|
| cctrlTestBrightnessCtl | Missing functionality |
| cctrlTestContrastCtl | Missing functionality |
| cctrlTestHueCtl | Missing functionality |
| cctrlTestSaturationCtl | Missing functionality |
| cctrlTestSharpnessCtl | Missing functionality |
| cctrlTestGammaCtl | Missing functionality |
| cctrlTestColorEnableCtl | Missing functionality |
| cctrlTestInvalidGet | Missing functionality |
| cctrlTestInvalidSet | Missing functionality |
| cctrlTestGetInvalidSize | Pending |
| cctrlTestSetInvalidSize | Pending |
| cctrl_IV_TestAddRef | Missing functionality |
| cctrl_IV_TestRelease | Missing functionality |
| cctrl_IV_TestQueryInterface | Missing functionality |
Kernel Test Cases
Note: Kernel mode functions are not currently available in DXGL
| Test | Result |
|---|---|
| KERNEL_AddRef | Pending |
| KERNEL_QueryInterface | Pending |
| KERNEL_Release | Pending |
| KERNEL_GetCaps | Pending |
| KERNEL_GetKernelHandle | Pending |
| KERNEL_ReleaseKernelHandle | Pending |
| KERNEL_SurfAddRef | Pending |
| KERNEL_SurfQueryInterface | Pending |
| KERNEL_SurfRelease | Pending |
| KERNEL_SurfGetKernelHandle | Pending |
| KERNEL_SurfReleaseKernelHandle | Pending |