-
Notifications
You must be signed in to change notification settings - Fork 93
DirectDraw to Direct3D9 Conversion Status
Elisha Riedlinger edited this page Oct 13, 2023
·
20 revisions
For this page I will be talking about the status of the work to convert DirectX 1-7 to DirectX 9. This is a more technical discussion. For game compatibility check out this page here: Dd7to9 Compatibility
Note | --Status-- |
---|---|
The function is fully implemented. | Full |
The function is partially implemented. It may work in some circumstances but not all. | Partial |
The function is either not implemented at all or not enough to work correctly. | None |
Function | Notes | -Support- |
---|---|---|
Compact() | Not implemented in DirectDraw. | Full |
CreateClipper() | Full | |
CreatePalette() | Using Direct3D9 pixel shader for handling the palette colors. Does not support DDPCAPS_PRIMARYSURFACELEFT flag. |
Partial |
CreateSurface() | Does not support: CubeMaps, MipMaps, FourCCs, zBuffers, zPixels, StencelBuffers, YUV, DUDV, BumpDUDV, BumpLuminance, Luminance, Linear | Partial |
DuplicateSurface() | Full | |
EnumDisplayModes() | Full | |
EnumSurfaces() | Does not support: DDENUMSURFACES_DOESEXIST, DDENUMSURFACES_MATCH, DDENUMSURFACES_CANBECREATED | Partial |
FlipToGDISurface() | Does not properly flip to GDI surface. | Partial |
GetCaps() | Full | |
GetDisplayMode() | Full | |
GetFourCCCodes() | Full | |
GetGDISurface() | Does not properly get the GDI surface. | Partial |
GetMonitorFrequency() | Full | |
GetScanLine() | Full | |
GetVerticalBlankStatus() | Full | |
Initialize() | Full | |
RestoreDisplayMode() | Full | |
SetCooperativeLevel() | Full | |
SetDisplayMode() | Full | |
WaitForVerticalBlank() | Loops until vertical blink. | Full |
GetAvailableVidMem() | Does not always properly get the available memory. | Partial |
GetSurfaceFromDC() | Not implemented. | None |
RestoreAllSurfaces() | Full | |
TestCooperativeLevel() | Full | |
GetDeviceIdentifier() | Full | |
StartModeTest() | Not implemented. | None |
EvaluateMode() | Not implemented. | None |
Function | Notes | -Support- |
---|---|---|
AddAttachedSurface() | This function is emulated. Does not fully replicate DirectDraw. | Partial |
AddOverlayDirtyRect() | Not implemented. | None |
Blt() | Does not support non-Windows raster operations, depth fill, zBuffer, alpha flags. | Partial |
BltBatch() | Does not support non-Windows raster operations, depth fill, zBuffer, alpha flags. | Partial |
BltFast() | Full | |
DeleteAttachedSurface() | Full | |
EnumAttachedSurfaces() | Full | |
EnumOverlayZOrders() | Not implemented. | None |
Flip() | This function is emulated. | Partial |
GetAttachedSurface() | This function is emulated. | Partial |
GetBltStatus() | Full | |
GetCaps() | Full | |
GetClipper() | Full | |
GetColorKey() | Full | |
GetDC() | Full | |
GetFlipStatus() | Full | |
GetOverlayPosition() | Not implemented. | None |
GetPalette() | Full | |
GetPixelFormat() | Full | |
GetSurfaceDesc() | Full | |
Initialize() | Full | |
IsLost() | Full | |
Lock() | Full | |
ReleaseDC() | Full | |
Restore() | Full | |
SetClipper() | Clipper is being set, but does not do anything yet. | Partial |
SetColorKey() | Full | |
SetOverlayPosition() | Not implemented. | None |
SetPalette() | Full | |
Unlock() | Full | |
UpdateOverlay() | Not implemented. | None |
UpdateOverlayDisplay() | Not implemented. | None |
UpdateOverlayZOrder() | Not implemented. | None |
GetDDInterface() | Full | |
PageLock() | Does nothing since Blt() is emulated. |
Partial |
PageUnlock() | Does nothing since Blt() is emulated. |
Partial |
SetSurfaceDesc() | Only supports DDSD_LPSURFACE flag. |
Partial |
SetPrivateData() | Private Data may be deleted prematurely in some cases. | Partial |
GetPrivateData() | Full | |
FreePrivateData() | Full | |
GetUniquenessValue() | Full | |
ChangeUniquenessValue() | Full | |
SetPriority() | Priority can be set, but is not used. | Partial |
GetPriority() | Full | |
SetLOD() | LOD can be set, but MipMaps are not yet supported. | Full |
GetLOD() | Full |
Function | Notes | -Support- |
---|---|---|
GetClipList() | Full | |
GetHWnd() | Full | |
Initialize() | Full | |
IsClipListChanged() | Full | |
SetClipList() | ClipList can be set, but is not used. | Partial |
SetHWnd() | HWnd can be set, but is not used. | Partial |
Function | Notes | -Support- |
---|---|---|
GetCaps() | Full | |
GetEntries() | Full | |
Initialize() | Full | |
SetEntries() | Full |
Function | Notes | -Support- |
---|---|---|
GetColorControls() | Full | |
SetColorControls() | Color can be set, but is not used. | Partial |
Function | Notes | -Support- |
---|---|---|
GetGammaRamp() | Full | |
SetGammaRamp() | Gamma can be set, but is not used. | Partial |
Function | Notes | -Support- |
---|---|---|
Initialize() | ||
EnumDevices() | ||
CreateLight() | ||
CreateMaterial() | ||
CreateViewport() | ||
FindDevice() | ||
CreateDevice() | ||
CreateVertexBuffer() | ||
EnumZBufferFormats() | ||
EvictManagedTextures() |
Function | Notes | -Support- |
---|---|---|
Initialize() | ||
GetCaps() | ||
SwapTextureHandles() | ||
CreateExecuteBuffer() | ||
GetStats() | ||
Execute() | ||
AddViewport() | ||
DeleteViewport() | ||
NextViewport() | ||
Pick() | ||
GetPickRecords() | ||
EnumTextureFormats() | ||
CreateMatrix() | ||
SetMatrix() | ||
GetMatrix() | ||
DeleteMatrix() | ||
BeginScene() | ||
EndScene() | ||
GetDirect3D() | ||
SetCurrentViewport() | ||
GetCurrentViewport() | ||
SetRenderTarget() | ||
GetRenderTarget() | ||
Begin() | ||
BeginIndexed() | ||
Vertex() | ||
Index() | ||
End() | ||
GetRenderState() | ||
SetRenderState() | ||
GetLightState() | ||
SetLightState() | ||
SetTransform() | ||
GetTransform() | ||
MultiplyTransform() | ||
DrawPrimitive() | ||
DrawIndexedPrimitive() | ||
SetClipStatus() | ||
GetClipStatus() | ||
DrawPrimitiveStrided() | ||
DrawIndexedPrimitiveStrided() | ||
DrawPrimitiveVB() | ||
DrawIndexedPrimitiveVB() | ||
ComputeSphereVisibility() | ||
GetTexture() | ||
SetTexture() | ||
GetTextureStageState() | ||
SetTextureStageState() | ||
ValidateDevice() | ||
Clear() | ||
SetViewport() | ||
GetViewport() | ||
SetMaterial() | ||
GetMaterial() | ||
SetLight() | ||
GetLight() | ||
BeginStateBlock() | ||
EndStateBlock() | ||
PreLoad() | ||
ApplyStateBlock() | ||
CaptureStateBlock() | ||
DeleteStateBlock() | ||
CreateStateBlock() | ||
Load() | ||
LightEnable() | ||
GetLightEnable() | ||
SetClipPlane() | ||
GetClipPlane() | ||
GetInfo() |
Function | Notes | -Support- |
---|---|---|
Initialize() | ||
GetViewport() | ||
SetViewport() | ||
TransformVertices() | ||
LightElements() | ||
SetBackground() | ||
GetBackground() | ||
SetBackgroundDepth() | ||
GetBackgroundDepth() | ||
Clear() | ||
AddLight() | ||
DeleteLight() | ||
NextLight() | ||
GetViewport2() | ||
SetViewport2() | ||
SetBackgroundDepth2() | ||
GetBackgroundDepth2() | ||
Clear2() |
Function | Notes | -Support- |
---|---|---|
Initialize() | ||
GetHandle() | ||
PaletteChanged() | ||
Load() | ||
Unload() |
Function | Notes | -Support- |
---|---|---|
Initialize() | ||
SetMaterial() | ||
GetMaterial() | ||
GetHandle() | ||
Reserve() | ||
Unreserve() |
Function | Notes | -Support- |
---|---|---|
Initialize() | ||
SetLight() | ||
GetLight() |
Function | Notes | -Support- |
---|---|---|
Initialize() | ||
Lock() | ||
Unlock() | ||
SetExecuteData() | ||
GetExecuteData() | ||
Validate() | ||
Optimize() |
Function | Notes | -Support- |
---|---|---|
Lock() | ||
Unlock() | ||
ProcessVertices() | ||
GetVertexBufferDesc() | ||
Optimize() | ||
ProcessVerticesStrided() |