https://bugs.winehq.org/show_bug.cgi?id=52849
Bug ID: 52849 Summary: [wined3d] Projector: GL_INVALID_OPERATION in glFlushMappedBufferRange(buffer is not mapped) Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: parker.l.reed@gmail.com Distribution: ---
Created attachment 72251 --> https://bugs.winehq.org/attachment.cgi?id=72251 winedebug output
Seemingly all older Shockwave games are failing to create the OpenGL context. This manifests itself as abnormal CPU usage (Upwards of 150 to 200%). Log attached.
Behavior observed in multiple games some with worse usage than others.
I have tried back to 4.0 seeing the same behavior. I do not believe there was a point this was working as intended.
Files to reproduce
https://bluepload.unstable.life/shockwavewine.tar.gz
Hash sha256 1b7a87fb1935e7db30fe44a6b27c7da7c4601739feb382ae389ff4606874fba6
unstable.life is the main hosting for the Flashpoint archive
cd PJ101/ wine Projector.exe gorillaz_final_drive.dcr
https://bugs.winehq.org/show_bug.cgi?id=52849
Nipun Garg nipung271@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nipung271@gmail.com
--- Comment #1 from Nipun Garg nipung271@gmail.com --- I'm getting the error, but the game runs fine on my system.
https://bugs.winehq.org/show_bug.cgi?id=52849
--- Comment #2 from Parker parker.l.reed@gmail.com --- Yeah it runs okay but it makes me wonder if there's performance overhead.
Low power systems you notice the high usage a lot more.
Another side affect of failing to create the OpenGL context is being unable to use overlays like Mangohud or Gallium HUD.
https://bugs.winehq.org/show_bug.cgi?id=52849
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|[wined3d] Projector: |Projector causes unusually |GL_INVALID_OPERATION in |high CPU usage (failure to |glFlushMappedBufferRange(bu |create the OpenGL context) |ffer is not mapped) |
https://bugs.winehq.org/show_bug.cgi?id=52849
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEEDINFO
--- Comment #3 from Ken Sharp imwellcushtymelike@gmail.com --- (In reply to Parker from comment #2)
Yeah it runs okay but it makes me wonder if there's performance overhead
So you haven't actually discovered any bug? Test them on Windows then you'll know.
https://bugs.winehq.org/show_bug.cgi?id=52849
--- Comment #4 from Parker parker.l.reed@gmail.com --- (In reply to Ken Sharp from comment #3)
(In reply to Parker from comment #2)
Yeah it runs okay but it makes me wonder if there's performance overhead
So you haven't actually discovered any bug? Test them on Windows then you'll know.
I would consider the failing to create the OpenGL context a bug.
It's hard to get an apples to apples on Windows because I did run it there but the core usage is reported differently. It seems to be more efficient when running natively on Windows.
https://bugs.winehq.org/show_bug.cgi?id=52849
Parker parker.l.reed@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|NEEDINFO |CLOSED
--- Comment #5 from Parker parker.l.reed@gmail.com --- After further investigation, a newer Projector version successfully creates the OpenGL context.
And against my points: CPU usage was tied to uncapped FPS. So after the context got created, I am now able to limit the FPS and save some CPU cycles. 120% vs 200 capped to monitor's 75Hz.