http://bugs.winehq.org/show_bug.cgi?id=33062
Bug #: 33062 Summary: wined3d can't handle surfaces created off-screen in application memory Product: Wine Version: 1.5.24 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: andy@positality.com Classification: Unclassified
Created attachment 43706 --> http://bugs.winehq.org/attachment.cgi?id=43706 Start of "wine <app.exe>" log
Target application: ICR Touch Application brief: Commercial EPOS software for Windows x86 Interesting feature: uses DirectX calls for skinned UI generation.
Looking at the attached log you will see the main error:
"wined3d_surface_getdc Not supported on surfaces with application-provided memory"
This error is from dlls/wined3d/surface.c
I have spoken to the programmers an they state that their program creates off-screen surfaces by default. However, if the original Create Surface request fails their program will fall back to storing surfaces in graphics memory.
If wined3d_surface_getdc cannot (or does not yet) support off-screen surfaces shouldn't the creation code (wined3d_surface_create?) also return an error (e.g. check for SFLAG_USERPTR.)
Apologies if I've missed something obvious, my knowledge of DirectX is a little rusty! I did post on the forums first.
Best Regards,
Andy
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #1 from Henri Verbeet hverbeet@gmail.com 2013-02-25 06:18:47 CST --- Is this a ddraw application, or a d3d9ex application?
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #2 from Andy Beamish andy@positality.com 2013-02-25 06:48:42 CST --- It's quite a current program so I doubt it's via DirectDraw but I've asked the programmers anyway. Will let you know.
http://bugs.winehq.org/show_bug.cgi?id=33062
Rosanne DiMesio dimesio@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal
--- Comment #3 from Rosanne DiMesio dimesio@earthlink.net 2013-02-25 20:30:22 CST --- Not a blocker. http://bugs.winehq.org/page.cgi?id=fields.html#importance
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #4 from Andy Beamish andy@positality.com 2013-02-26 02:50:40 CST --- My apologies, I'm new at this.
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #5 from Andy Beamish andy@positality.com 2013-03-01 11:17:25 CST --- Comment from the programmers: they create surfaces using DirectDraw calls
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #6 from Andy Beamish andy@positality.com 2013-03-06 15:12:34 CST --- Tried again with 1.5.25 and still the same.
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #7 from Henri Verbeet hverbeet@gmail.com 2013-03-06 16:14:48 CST --- We'll need to write some tests to see how exactly this is supposed to work before we can implement this, and it may take a while before we do. That said, while I don't know the details of the application, I'm not sure if user memory surfaces + GetDC() is really ever the optimal way to draw things.
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #8 from Andy Beamish andy@positality.com 2013-03-10 14:40:04 CDT --- When the original program was written the target hardware was assumed to be at best a shared memory, on-board GPU rather than a dedicated card from around 10 years ago. Performance is no issue for the hospitality market (relative to games) so the programmers have no priority on graphics efficiency.
Again, it's not so much an issue of WINE supporting off-screen surfaces as explicitly not allowing them when attempting to create them. My knowledge of the WINE source code is poor but it doesn't look to me as if any validations are done on creation only on use.
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #9 from Andy Beamish andy@positality.com 2013-03-21 15:29:08 CDT --- Same issue with 1.5.26
http://bugs.winehq.org/show_bug.cgi?id=33062
Andy Beamish andy@positality.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |ABANDONED
--- Comment #10 from Andy Beamish andy@positality.com 2013-05-06 04:20:25 CDT --- The programmers have altered the code to be more compatible with WINE :D
http://bugs.winehq.org/show_bug.cgi?id=33062
seyfer seyferseed@mail.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |seyferseed@mail.ru
--- Comment #11 from seyfer seyferseed@mail.ru 2013-05-10 05:49:14 CDT --- err:d3d_surface:wined3d_surface_getdc Not supported on surfaces with application-provided memory.
I have same issue
http://bugs.winehq.org/show_bug.cgi?id=33062
--- Comment #12 from seyfer seyferseed@mail.ru 2013-05-10 05:50:52 CDT --- (In reply to comment #11)
err:d3d_surface:wined3d_surface_getdc Not supported on surfaces with application-provided memory.
I have same issue
With WMP10 installed. Wine 1.5.29
http://bugs.winehq.org/show_bug.cgi?id=33062
Frédéric Delanoy frederic.delanoy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Frédéric Delanoy frederic.delanoy@gmail.com 2013-05-15 04:12:26 CDT --- Closing ABANDONED bugs