[Bug 51836] New: d3d: Disable CSMT by default if using llvmpipe OpenGL renderer backend
WineHQ Bugzilla
wine-bugs at winehq.org
Mon Oct 4 08:20:02 CDT 2021
https://bugs.winehq.org/show_bug.cgi?id=51836
Bug ID: 51836
Summary: d3d: Disable CSMT by default if using llvmpipe OpenGL
renderer backend
Product: Wine
Version: 6.18
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: directx-d3d
Assignee: wine-bugs at winehq.org
Reporter: jinoh.kang.kr at gmail.com
Distribution: ---
llvmpipe is a software-only OpenGL implementation. It compiles GLSL shaders
into native CPU code using LLVM, offering reasonable graphics performance on
systems where hardware graphics acceleration is otherwise not available.
The problem is that llvmpipe does not play nicely with Wine's CSMT feature.
CSMT assumes the OpenGL backend to be a proxy that submits rendering commands
to GPU, rather than a full-blown computation engine itself. The source and sink
of the comman stream is the CPU itself, and llvmpipe supports direct
multithreading -- making CSMT redundant.
For testing/benchmark, llvmpipe can be activated on Linux with the environment
variable `LIBGL_ALWAYS_SOFTWARE=1`. With CSMT, perf shows
`wined3d_cs_mt_finish` to be the major overhead; without CSMT, the bottleneck
is absent and the app exhibits noticeable performance improvement.
Example glxinfo output on system with llvmpipe enabled:
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 11.0.0, 256 bits)
...
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa/X.org (0xffffffff)
Device: llvmpipe (LLVM 11.0.0, 256 bits) (0xffffffff)
--
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