Wine Status DirectX DLL http://www.winehq.org/site/status/directx
- 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]
[DirectDraw / Direct3DD1-7]
* Missing Functionalities: (General)
- Allow explicit creation and access of front and back buffers for ddraw interfaces earlier than version 7. Current implementation uses dd7's style and prohibits this, which breaks some games.
- Software s3tc handling
Record per-version surface refcounts (see http://bugs.winehq.org/show_bug.cgi?id=23621)
* Improvements: (General)
- YUV overlays
OpenGL(partially there already) and Xrender accelerated DirectDraw
- Completely GL independent 2D operation(lazy linking).
- 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)
- 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
- 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
ResrceMgrDiscard (needs EvictManagedResources)
- Check* functions
ValidateDevice (needs better Caps support)
GetInfo (needs better Caps support)
- Visible Z Buffer
- 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
List of games with DirectX 10 support on wikipedia
- 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"
- 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
- 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)
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
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
Rewrite wglShareLists() using glXCopyContext and context recreation instead of delaying context creation bug 11436
- WGL_render_depth_texture extension which layers on WGL_render_texture.
Useful tweaking / capability related info