http://bugs.winehq.org/show_bug.cgi?id=18640
--- Comment #2 from Anastasius Focht focht@gmx.net 2009-05-27 17:16:00 --- Hello,
--- quote --- Can you also work around this bug by disabling d3d9? --- quote ---
Milcore, the vector-based and remoteable composition layer which sits between WPF and D3D will then fall back to classic GDI rendering, losing most performance and HW supported effects WPF stands for.
--- snip --- ... 0039:Call KERNEL32.OutputDebugStringW(5323d708 L"WARNING: MILCore: Direct3D 9 is not installed or load failed.\n") ret=5323d6df 0039:Ret KERNEL32.OutputDebugStringW() retval=ffffffff ret=5323d6df ... --- snip ---
Unfortunately enforcing GDI fall back currently won't help with most (GUI rich) apps. Many examples I tested seem to suffer from the infamous "renderer thread failures" before they die:
--- snip --- ... err:ntdll:vDbgPrintExWithPrefix 65: MIL FAILURE: Unexpected HRESULT 0x8007007e in caller: intermediate rendering error fixme:seh:RtlCaptureStackBackTrace (2, 3, 0x533548f4, (nil)) stub! fixme:seh:RtlCaptureStackBackTrace (2, 3, 0x5335490c, (nil)) stub! fixme:seh:RtlCaptureStackBackTrace (2, 3, 0x53354924, (nil)) stub! fixme:seh:RtlCaptureStackBackTrace (2, 3, 0x5335493c, (nil)) stub! fixme:seh:RtlCaptureStackBackTrace (2, 3, 0x53354954, (nil)) stub! fixme:seh:RtlCaptureStackBackTrace (2, 3, 0x5335496c, (nil)) stub! err:ntdll:vDbgPrintExWithPrefix 65: MIL FAILURE: Unexpected HRESULT 0x8007007e in caller: The render thread failed unexpectedly. --- snip ---
Two threads are running (one can see the interface calls between them using +snoop): an UI thread and the render thread. The render thread is the MIL work horse and does all the (time consuming) rendering. The UI thread (app) passes the commands to the render thread that tell what needs to be rendered and how.
From what I've read in MSDN/blogs these threads can be run separated on
different machines to support remote desktop scenarios where compact data structures are passed between machines and rendered on target.
One gets a lot of hits g00gling for: "An unspecified error occurred on the render thread." Can be caused by quite different things ... from what I've seen so far in trace logs it happens during GDI rendering/processing of commands so it might be bad input from UI.
Regards