[Bug 52354] winemac.drv not functional on non metal GPUs

WineHQ Bugzilla wine-bugs at winehq.org
Wed May 4 10:06:12 CDT 2022


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

--- Comment #31 from Gcenx <gcenx83 at gmail.com> ---
(In reply to Charles Davis from comment #30)
>
> Possibly.
> 
> Another possibility is simply removing the layer from the view at
> wglMakeCurrent() time. Though I don't know how well removing the hosted
> layer once set would work. And if the process draws with both GDI and GL...
> 
> The other possibility--which we will need for cross-process GL--is setting
> up a layer as the default GL drawable. While there is a CAOpenGLLayer, it
> has several restrictions that make it unsuitable for our use: in particular,
> it does all GL context and drawable management itself, so you can only draw
> in its -drawInCGLContext:pixelFormat:forLayerTime:displayTime: method.
> 
> We'll have to implement our own OpenGLLayer, using IOSurfaces as the
> drawables, with hooks in glDrawBuffer[s]() to redirect handling of the
> built-in framebuffer to our IOSurfaces. This will be very complicated, and
> I'm not looking forward to this. Ah, who am I kidding? I'm totally looking
> forward to this. I like a good challenge.

While that sounds like a much better solution how long would this take you?

If this will take a lot of time and effort it would make sense for the short
term to lock thenew behavior behind version check so we’ll at least have
something functional for everyone without needing to do reverts for 10.13 and
below.

-- 
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