<p dir="ltr">Reverting the whole commit is too much. You can just remove the PIPE BIND SHARED usage if you need to.</p>
<p dir="ltr">Marek</p>
<div class="gmail_extra"><br><div class="gmail_quote">On Oct 17, 2016 6:43 AM, "Ilia Mirkin" <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Sep 15, 2016 at 4:54 PM, Marek Olšák <<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>> wrote:<br>
> On Thu, Sep 15, 2016 at 5:14 AM, Dave Airlie <<a href="mailto:airlied@gmail.com">airlied@gmail.com</a>> wrote:<br>
>> On 15 September 2016 at 13:03, Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>> wrote:<br>
>>> On Wed, Sep 14, 2016 at 10:15 PM, Michel Dänzer <<a href="mailto:michel@daenzer.net">michel@daenzer.net</a>> wrote:<br>
>>>>> No, the current impl is pretty radeon-specific (note - it doesn't work<br>
>>>>> on nouveau, and no other drivers support the interfaces, so ... it's<br>
>>>>> radeon-specific).<br>
>>>><br>
>>>> We're getting into semantics here, but since the reason it doesn't work<br>
>>>> well with nouveau is a fundamental issue in nouveau (which should also<br>
>>>> affect at least DRI3 in general), while you may call it "de facto radeon<br>
>>>> specific" if you're so inclined, that doesn't make the implementation<br>
>>>> actually radeon specific.<br>
>>><br>
>>> No one's reported any issues with DRI3, I use it on my home desktop<br>
>>> every day. And VDPAU used to work great until these changes to<br>
>>> st/vdpau went in. Prior to those changes in st/vdpau, saying that<br>
>>> "shared == gart" was a perfectly reasonable thing to say, since no one<br>
>>> tried blending/readback on those surfaces (or at least not enough for<br>
>>> it to matter). But now ... poof ... it doesn't work [actually, worse -<br>
>>> it works - but can't come close to keeping up with 24fps video].<br>
>>><br>
>>> Anyways, I realize this is a losing argument. Interfaces and usages<br>
>>> move forward and change over time. This happens to be a change that<br>
>>> leaves nouveau behind. As a spare-time contributor, I can't keep up<br>
>>> with multiple full timers. I had hoped that there'd be some way to<br>
>>> make it all still work, but that doesn't seem to be the case.<br>
>>> Unfortunately end users are going to lose out on functionality as a<br>
>>> result.<br>
>><br>
>> So (a) this is a regression, regressions aren't allowed, so it would<br>
>> be good to back the change out until it can be fixed.<br>
>><br>
>> The problem is the combo of LINEAR and SHARED means that<br>
>> GART placement is most likely, radeon should be doing the same<br>
>> in most circumstances.<br>
>><br>
>> We should possible introduced SHARED_OTHER_GPU maybe<br>
>> and use that throughout the stack where it matters.<br>
><br>
> The main problem is that nouveau lacks a proper memory management and<br>
> buffers are pinned after allocation forever.<br>
><br>
> The workaround is to add PIPE_BIND_something, which would do what you<br>
> need it to do, and use it where you need to use it. I don't care about<br>
> the name as long as it works for nouveau. Does that sound reasonable?<br>
<br>
I don't really care how it's resolved, but the current situation is<br>
unacceptable.<br>
<br>
 - Reverting definitely works.<br>
 - Dropping libvdpau_nouveau definitely works.<br>
 - Adding a new flag may work, depends on details, would require a<br>
bunch of testing.<br>
<br>
Dave sent a patch for the first, I've sent a patch for the second. I<br>
don't think a patch for the third has materialized.<br>
<br>
  -ilia<br>
</blockquote></div></div>