-
Notifications
You must be signed in to change notification settings - Fork 109
DirectDraw to Direct3D9 Conversion Status
Elisha Riedlinger edited this page Nov 18, 2020
·
28 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: this page is still in draft format...
Note | --Status-- |
---|---|
The function is fully implemented. |
|
The function is partially implemented. It may work in some circumstances but not all. |
|
The function is either not implemented at all or not enough to work correctly. |
|
Function | Notes | -Support- |
---|---|---|
Compact() | Not implemented in DirectDraw. |
|
CreateClipper() |
|
|
CreatePalette() |
|
|
CreateSurface() | Does not support CubeMaps, MipMaps, FourCCs, zBuffers, zPixels, StencelBuffers, YUV, DUDV, BumpDUDV, BumpLuminance, Luminance, Linear |
|
DuplicateSurface() |
|
|
EnumDisplayModes() |
|
|
EnumSurfaces() | Not implemented. |
|
FlipToGDISurface() | Does not properly flip to GDI surface. |
|
GetCaps() |
|
|
GetDisplayMode() |
|
|
GetFourCCCodes() | Lists some hard coded FourCC types. |
|
GetGDISurface() | Not implemented. |
|
GetMonitorFrequency() |
|
|
GetScanLine() |
|
|
GetVerticalBlankStatus() |
|
|
Initialize() |
|
|
RestoreDisplayMode() |
|
|
SetCooperativeLevel() |
|
|
SetDisplayMode() |
|
|
WaitForVerticalBlank() | Loops until vertical blink. |
|
GetAvailableVidMem() | Only able to get video memory after SetCooperativeLevel() and SetDisplayMode() is called. |
|
GetSurfaceFromDC() | Not implemented. |
|
RestoreAllSurfaces() |
|
|
TestCooperativeLevel() |
|
|
GetDeviceIdentifier() |
|
|
StartModeTest() | Not implemented. |
|
EvaluateMode() | Not implemented. |
|
Function | Notes | -Support- |
---|---|---|
AddAttachedSurface() | This function is emulated. Only one backbuffer is supported when using Direct3D. |
|
AddOverlayDirtyRect() | Not implemented. |
|
Blt() | This function is emulated. Does not support non-Windows raster operations, depth fill, zBuffer, 90 and 270 degree rotation operations, alpha flags. |
|
BltBatch() | This function is emulated. Does not support non-Windows raster operations, depth fill, zBuffer, 90 and 270 degree rotation operations, alpha flags. |
|
BltFast() | This function is emulated. |
|
DeleteAttachedSurface() |
|
|
EnumAttachedSurfaces() |
|
|
EnumOverlayZOrders() | Not implemented. |
|
Flip() | This function is emulated. Only one backbuffer is supported when using Direct3D. |
|
GetAttachedSurface() | This function is emulated. Only one backbuffer is supported when using Direct3D. |
|
GetBltStatus() |
|
|
GetCaps() |
|
|
GetClipper() |
|
|
GetColorKey() |
|
|
GetDC() |
|
|
GetFlipStatus() |
|
|
GetOverlayPosition() | Not implemented. |
|
GetPalette() |
|
|
GetPixelFormat() |
|
|
GetSurfaceDesc() |
|
|
Initialize() |
|
|
IsLost() |
|
|
Lock() |
|
|
ReleaseDC() |
|
|
Restore() |
|
|
SetClipper() | Clipper is being set, but does not do anything yet. |
|
SetColorKey() |
|
|
SetOverlayPosition() | Not implemented. |
|
SetPalette() |
|
|
Unlock() |
|
|
UpdateOverlay() | Not implemented. |
|
UpdateOverlayDisplay() | Not implemented. |
|
UpdateOverlayZOrder() | Not implemented. |
|
GetDDInterface() |
|
|
PageLock() | Does nothing since Blt() is emulated. |
|
PageUnlock() | Does nothing since Blt() is emulated. |
|
SetSurfaceDesc() | Only supports DDSD_LPSURFACE flag. |
|
SetPrivateData() |
|
|
GetPrivateData() |
|
|
FreePrivateData() |
|
|
GetUniquenessValue() |
|
|
ChangeUniquenessValue() |
|
|
SetPriority() | Priority can be set, but is not used. |
|
GetPriority() |
|
|
SetLOD() |
|
|
GetLOD() |
|
Function | Notes | -Support- |
---|---|---|
GetClipList() | ||
GetHWnd() | ||
Initialize() | ||
IsClipListChanged() | ||
SetClipList() | ||
SetHWnd() |
Function | Notes | -Support- |
---|---|---|
GetCaps() | ||
GetEntries() | ||
Initialize() | ||
SetEntries() |
Function | Notes | -Support- |
---|---|---|
GetColorControls() | ||
SetColorControls() |
Function | Notes | -Support- |
---|---|---|
GetGammaRamp() | ||
SetGammaRamp() |
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() |