Wine Status DirectX DLL http://www.winehq.org/site/status_directx
See also DirectX and IntegrationProjects
- finish graph control implementation (Run/Pause/Stop)
- extend graph building process by taken into account filters added manually to the filtergraph
implement IReferenceClock in DSound renderer
- windowed mode support in video renderer
- generic splitter using libavformat (ffmpeg)
generic audio & video decoders using libavcodec (ffmpeg)
- understand how plugin distributors work
play by mixing builtin & native components
capture stuff (CaptureGraphBuilder)
[Graphics Rendering Pipelines]
D3D 8.1 pipeline DX 8.1 Pipeline Thanks to Richard Thomson
D3D 9.0 pipeline DX 9.0 Pipeline Thanks to Richard Thomson
D3D 10.0 pipeline DX 10.0 Pipeline also see: Pipeline Stages
[DirectDraw / Direct3DD1-7]
- YUV overlays
OpenGL(partially there already) and Xrender accelerated DirectDraw
- Completely GL independent 2D operation(lazy linking).
Better LockRect/UnlockRect implementation (done using PBOs). - Software s3tc handling
- Write some tests related to configuration
[D3D](d3d8, d3dx8, d3d9, wined3d)
Missing Functionalities: (General)
- Shader translator still needs some cleaning up
- Multisample support, ie FSAA etc. will require changes to (OpenGL child windows)
Finish shaders 3.0 support and make shaders 2.0/3.0 the default using GLSL if the card supports it. see DirectX-Shaders
- Lock/Unlock: Only restore or copy when needed (example no save renders when WRITE_ONLY flags was used)
Improve the heap code and cache data instead of doing HeapAlloc (Resource Caching) the last few results will improve performance.
- Filter wined3d caps in d3d8 :
- We could detect all the card capabilities in wined3d (for a part this is done, for a part the d3d version is detected)
- And in the d3d8 we could show only the caps corresponding to that d3d version.
Caps code to fully support (ps3.0 / vs3.0) see MS Pixel Shader Reference.
- Window sizes / fullscreen support still needs more improvements and testing.
Priority Levels (Should be reasonably easy as opengl has this functionality) o LOD support see: Level-of-Detail White Paper
Support more query types, implement the timestamp queries using GL_nv_fence see: QuerySample User Guide, MSDN Queries
- Proper support for floating point texture formats (for proper deferred shading and HDR support)
- Fixups using vertex shaders instead of software ie, fixed function pipeline replacement.
- Prefer GL_EXT_framebuffer_object over pbuffers.
- Speed up color depth conversions (8bpp) with a shader
Avoid as many GlReadPixel and GlWritePixel calls as possible
- Device interface
EvictManagedResources
ResrceMgrDiscard (needs EvictManagedResources)
- Check* functions
TestCoop support
ValidateDevice (needs better Caps support)
GetInfo (needs better Caps support)
- Visible Z Buffer
Conversion from GLX to WGL
MDI support
Other:
- Get 3dmark 2005, 2006 software to the point of producing valuable output
- Add more testcases, including visual ones
- Test different Cards/Drivers: Nvidia, fglrx, mesa
- Tidy up the WineD3D codebase and add comments and TRACEs
Implement D3DX9_xx.dll's see DirectX-D3DX9
[D3D](d3d10)
- Create the d3d10 lib and start the .idl file for header generation.
- Write stubs for the functions to allow the app to create all the interfaces.
- Write test cases for reference counting. ddraw and d3d9 show that Microsoft does not stick to its own COM rules.
- Make methods that have already 1:1 equivalents in wined3d call wined3d.
- Add other methods as required to wined3d.
Possibly port D3D10 to Windows XP
Geforce8 features on NV cards useful for testing: Option "RegistryDwords" "8F773984=7; NvEmulate=50"
[DirectSound]
- Hardware accelerated direct sound capture driver support using the Windows CE3 HAL API
- 3D buffer support in software is present but incomplete.
- 3D buffer hardware support
- Sound effects on buffers
- Capture effects
ASIO driver see bug 2161
- Fix stutter problems in 'Emulation' mode.
- Improve support for driver/soundcards that will only let us mmap the card's buffer at a fixed frequency.
- Automatically switch to 'Emulation' mode if the driver/soundcard does not support mmap-ing the card's buffer.
- DX9 support for new PCM formats (24/32 bit and float samples) and for more than 2 channels is not present.
[DirectMusic] (dmime, dmband, dmsynth, dmloader, dmcompos, dmstyle)
cleanup ParseDescriptor/Loading to have share code
- use loaded datas (implementing Getters APIs and begin to play some sounds)
- load wave tracks (dswave)
- More tracks loading
use play APIs in RT play thead (ProcessMsgThread in dmime/performance)
finish processing/dispatch thread (IDirectMusicPerformance)
- better support of unstreams
- implement dmusic32 APIs
[DMScript]
- VB script execution support (actually only source is loaded). Maybe using a generic Wine VB script kernel (as the vbscript.dll seems to provide on windows) using ole32/com (most of the needs are already here)
- Absolute positioning reporting needs verification.
- DXGrab support in OpenGL is still missing.
- Mouse doesn't wrap all the time and "escapes" game window.
- Improve DX8 support (especially joystick)
- Keyboard: Fix remaining layout, dead keys, hotkeys and focus issues.
Real support for DirectPlay (for now dpnet APIs are mainly stubs)
[DevEnum]
Support the creation of special filters (Midi renderer, DSound renderer, WaveOut, WaveIn) and support the binding to these filters.
- The core function Direct3DRMCreate is unimplemented
All other functions in .spec
[DXDiagn]
Fill DirectSound desc container
Fill DirectMusic desc container
Fill DirectInput desc container
Fill DirectPlay desc container
- Fill logical disks desc container
Fill System devices desc container see: IDxDiagContainer Interface
Support all WGL extensions which have GLX counterparts (like PBuffers or render to texture for example). Rewrite wglShareLists() using glXCopyContext and context recreation instead of delaying context creation bug 11436
Better WGL_render_texture support - WGL_render_depth_texture extension which layers on WGL_render_texture.
Windowed OpenGL support see bug 2398
We need to revert part of the x11.drv window management rewrite to readd a X11 child window for the client area of the toplevel window. This is needed to give us more pixel formats (this will be used in combination with the xcomposite/pixmap window rendering backend). see OpenGL in child windows
Useful tweaking / capability related info
Please consider making a donation to the Wine Party Fund...........
