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

Marek Olšák maraeo at gmail.com
Thu Apr 20 09:57:08 UTC 2017


On Thu, Apr 20, 2017 at 10:28 AM, gregory hainaut
<gregory.hainaut at gmail.com> wrote:
> 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.

Can you send us the backtrace when DRI2GetBuffersWithFormat is called
by glDrawArrays?

Marek


More information about the mesa-dev mailing list