[Bug 47380] GT Legends: Slow graphics and 100% CPU usage

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jun 19 10:48:15 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=47380

--- Comment #11 from Tim Schumacher <timschumi at gmx.de> ---
(In reply to Henri Verbeet from comment #10)
> (In reply to Tim Schumacher from comment #9)
> > It seems like the finish method is constantly called from the wrong thread
> > (thead 9 seems to be the main thread), causing the thread to constantly
> > stall instead of calling the singlethread finish function.
> > 
> That's pretty much expected when csmt is enabled.

>From what I read in the code, wouldn't it at least require one call to finish()
from the correct thread to actually do the finish action? The code looks like
the following to me:

if (we are on the thread that was started with run_thread)
    finish the queue
else
    stall until queue is empty

Am I misunderstanding something here?

> The more interesting
> information in that log is "queue_id 1" (WINED3D_CS_QUEUE_MAP), which
> probably means these are caused by wined3d_cs_map() and wined3d_cs_unmap().
> (wined3d_cs_emit_update_sub_resource() is possible too, but less likely.)

The backtrace in the debugger shows that the calls with queue_id 1 are indeed
caused by wined3d_cs_map and wined3d_cs_unmap.

The calls with queue_id 0 in the beginning are caused by swapchain_create.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list