http://bugs.winehq.org/show_bug.cgi?id=15232
Summary: Button in simple OpenGL application gets overdrawn Product: Wine Version: 1.1.4 Platform: Other URL: http://bugs.winehq.org/attachment.cgi?id=5777 OS/Version: other Status: UNCONFIRMED Severity: trivial Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: florianskarten@web.de
The button of http://bugs.winehq.org/attachment.cgi?id=5777 gets overdrawn. A year ago Chris Robinson explained why this Application does not work with wine and how to change the application and the wine configuration to get it working: quote from http://www.winehq.org/pipermail/wine-devel/2007-October/059550.html: ---- First, since the GL window is the top-level window, it draws to it directly so it doesn't get clipped. Second, CreateWindow for the GL window is missing the WS_CLIPCHILDREN flag. If I force offscreen rendering and add the flag, the demo works. ----
I am not sure how to force offscreen rendering. I tried to set "Software/Wine/Direct3D/OffscreenRenderingMode" to "fbo" and added the flag to the window but it did not work.
http://bugs.winehq.org/show_bug.cgi?id=15232
Florian florianskarten@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source
http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #1 from Florian florianskarten@web.de 2008-09-11 02:38:21 --- Created an attachment (id=16007) --> (http://bugs.winehq.org/attachment.cgi?id=16007) Sourcecode now with WS_CLIPCHILDREN as windows requires it too.
http://bugs.winehq.org/show_bug.cgi?id=15232
Florian florianskarten@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://bugs.winehq.org/attac%7C |hment.cgi?id=5777 |
http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #2 from Florian florianskarten@web.de 2008-09-11 02:43:00 --- Created an attachment (id=16008) --> (http://bugs.winehq.org/attachment.cgi?id=16008) Binary now with WS_CLIPCHILDREN as windows requires it too.
http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #3 from Florian florianskarten@web.de 2008-09-11 02:49:07 --- I tested the application at http://bugs.winehq.org/attachment.cgi?id=5777 (again ?) at windows and the button gets overdrawn there too.
I uploaded source and binary of the version where the main window has the WS_CLIPCHILDREN style. In this new version the button is visible when the Application gets executed by windows, but not when the application gets executed by WINE.
http://bugs.winehq.org/show_bug.cgi?id=15232
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|source |testcase
http://bugs.winehq.org/show_bug.cgi?id=15232
Roderick Colenbrander thunderbird2k@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thunderbird2k@gmail.com Component|-unknown |opengl
--- Comment #4 from Roderick Colenbrander thunderbird2k@gmail.com 2009-06-10 15:54:41 --- Marking this as an opengl bug.
http://bugs.winehq.org/show_bug.cgi?id=15232
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |nerv@dawncrow.de Ever Confirmed|0 |1
--- Comment #5 from André H. nerv@dawncrow.de 2010-01-25 12:00:54 --- confirming in Wine-1.1.37
http://bugs.winehq.org/show_bug.cgi?id=15232
Wolfram Sang wolfram@the-dreams.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wolfram@the-dreams.de
--- Comment #6 from Wolfram Sang wolfram@the-dreams.de 2010-04-06 05:12:54 --- Still no button in 1.1.42
http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #7 from Henri Verbeet hverbeet@gmail.com 2010-04-06 07:20:30 --- Created an attachment (id=27236) --> (http://bugs.winehq.org/attachment.cgi?id=27236) hack
In case anyone wants to have a serious go at this, here's a (fairly naive) proof of concept hack.
http://bugs.winehq.org/show_bug.cgi?id=15232
Florian florian@fkoeberle.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |11718
--- Comment #8 from Florian florian@fkoeberle.de 2010-04-06 10:16:13 --- Henri: Thanks for your patch!
Your "hack" seems to do something right: It fixes bug #11718 as well. Bug 11718 is about a "UI-Elements get overdrawn" problem in a Direct X application.
This Direct X application is the World Editor of Warcraft 3 from Blizzard. Blizzard is currently working on Starcraft 2 which will also have a powerful editor. I could imagine that editor of Starcraft 2 will have the same "UI gets overdrawn" problem like the Warcraft 3 editor. I will hopefully be able to test that in a month when Blizzard includes the editor in the Starcraft 2 beta test.
What would be the next step to get your "hack" accepted by Alexandre? I guess a patch is needed which adds test for this bug. Would that be all or do you use some technique which is not acceptable by Alexandre?
http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #9 from Henri Verbeet hverbeet@gmail.com 2010-04-06 11:07:58 --- I don't know if there are issues with the basic approach of using a clipmask, but I can't think of any. As for the specific implementation, it forces gl_copy for cases where it isn't needed, and recalculates the clipmask on every SwapBuffers() call. Both aren't going to help performance. The gl_copy path should be limited to the cases where there are actual child windows to clip by, and updating the clip mask should only happen when those child windows are created / destroyed / moved / etc.
http://bugs.winehq.org/show_bug.cgi?id=15232
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #10 from Dan Kegel dank@kegel.com 2011-07-10 12:11:56 CDT --- *** Bug 24515 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=15232
Johannes sarastro.admin+wine@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sarastro.admin+wine@googlem | |ail.com
http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #11 from Johannes sarastro.admin+wine@googlemail.com 2012-04-18 16:28:39 CDT --- Created attachment 39856 --> http://bugs.winehq.org/attachment.cgi?id=39856 Updated version of Henri Verbeet's hack with minor fix
I attached an updated version of Henri Verbeet's hack (which I can confirm solves the problem for me). I had to change one line to make it compile with the current Git master (b09d195bf3c1bd4fef208411ffdbd31b4f1031c). Also I added code to exclude hidden windows from the clipping mask because you do not want to obscure these.
Is there any chance this (or a similar solution) will be integrated into Wine anytime soon?
http://bugs.winehq.org/show_bug.cgi?id=15232
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |adys.wh@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #12 from Johannes sarastro.admin+wine@googlemail.com 2012-04-19 14:38:40 CDT --- Maybe I should note that the patch is not entirely error free (as Henri Verbeet noted, it is more of a hack). For example, 3D output seems to be delayed by one frame using this patch (e.g. the scene that should be painted at point X in time is only painted on the next redraw following X).
http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #13 from Dan Kegel dank@kegel.com 2012-07-17 14:34:06 CDT --- Also affects http://www.microcarve.com/softV4.html 's downloadable demo, 8c330006a6291b9ff5ac489fe30817e247b78610 microcarveV4.exe Mentioned in http://forum.winehq.org/viewtopic.php?p=78081
http://bugs.winehq.org/show_bug.cgi?id=15232
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |voidexp@gmail.com
--- Comment #14 from Austin English austinenglish@gmail.com 2013-11-13 15:19:37 CST --- *** Bug 22133 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=15232
Matthew Stapleton matthew4196@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matthew4196@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #15 from Matthew Stapleton matthew4196@gmail.com --- This bug still exists in Wine 1.9.23
https://bugs.winehq.org/show_bug.cgi?id=15232
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=15232
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #16 from joaopa jeremielapuree@yahoo.fr --- Unfortunately, the bug is still there in current wine.
https://bugs.winehq.org/show_bug.cgi?id=15232
Micah N Gorrell mgorrell@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mgorrell@codeweavers.com
--- Comment #17 from Micah N Gorrell mgorrell@codeweavers.com --- This has been fixed by revision 0cb79db12ac7c48477518dcff269ccc5d6b745e0 https://source.winehq.org/git/wine.git/commit/0cb79db12ac7c48477518dcff269cc...
https://bugs.winehq.org/show_bug.cgi?id=15232
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |0cb79db12ac7c48477518dcff26 | |9ccc5d6b745e0 Resolution|--- |FIXED CC| |joseph.kucia@gmail.com
--- Comment #18 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Micah N Gorrell from comment #17)
This has been fixed by revision 0cb79db12ac7c48477518dcff269ccc5d6b745e0 https://source.winehq.org/git/wine.git/commit/ 0cb79db12ac7c48477518dcff269ccc5d6b745e0
https://bugs.winehq.org/show_bug.cgi?id=15232
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #19 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.6.
https://bugs.winehq.org/show_bug.cgi?id=15232
Vladimir Panteleev wine@thecybershadow.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wine@thecybershadow.net
--- Comment #20 from Vladimir Panteleev wine@thecybershadow.net --- Hello! I was working on an OpenGL renderer for Worms Armageddon (which I maintain) and noticed that it crashes when running in Wine versions containing the fix to this bug (0cb79db12ac7c48477518dcff269ccc5d6b745e0).
Looking at the stack trace (will attach), it looks like the commit is exposing a bug in mesa or i965_dri. Unfortunately I don't know how to follow up from here, would anyone be able to take a look at this or provide advice on how to proceed?
https://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #21 from Vladimir Panteleev wine@thecybershadow.net --- Created attachment 64542 --> https://bugs.winehq.org/attachment.cgi?id=64542 Worms Armageddon crash stack trace with OpenGL renderer
For some reason the stack trace produced by Wine is not showing symbols in i965_dri.so, even though I rebuilt it with debug information (`file /usr/lib32/dri/i965_dri.so` shows "with debug_info, not stripped").