[Mesa-dev] [PATCH v5 0/3] asynchronous pbo transfer with glthread

gregory hainaut gregory.hainaut at gmail.com
Thu Apr 20 08:28:48 UTC 2017


On Thu, 20 Apr 2017 12:29:11 +0900
Michel Dänzer <michel at daenzer.net> wrote:

> On 20/04/17 01:54 AM, Gregory Hainaut wrote:
> > Hello,
> > 
> > Please find the latest version that include a small fix for hash deletion. I
> > think the series is good now. Please review/ack it.
> 
> I'm afraid I have to NACK it. As discussed in the v4 cover letter
> thread, Mesa's glthread cannot make any libX11 API calls.
> 
> 

Hello Michel,

Just to be sure we are on the same line, let's me do a summary.

PCSX2 does the following bad pattern
1/ no call to XInitThread
2/ XGetGeometry to get the size of the surface
3/ glDrawArray into the default framebuffer 0 (the window, I'm not sure how to call it)
   => which seem to call DRI2GetBuffersWithFormat under the hood. I guess to get the
      associated buffer of the window.


So far it was (kind of) working fine because PCSX2 does tons of PBO transfer. So glthread
was mostly synchronous.

This series removes the (useless) PBO transfer synchronization. So now glthread is really
asynchronous and the above bad pattern crash as expected. 

I didn't add any libX11 API call on the patches. And I don't think we can remvove the DRI stuff.

Hum, I don't know what will be the impact on the perf but potentially we can force a synchronization
when there is a draw to framebuffer 0.

Cheers,
Gregory


More information about the mesa-dev mailing list