On Wed, Mar 13, 2013 at 11:19 AM, Zack Rusin <za...@vmware.com> wrote:
>> well, I'm more familiar w/ EGL where we don't have the xserver
>> advertising anything, and it is all on the client side.. but when it
>> is an inexpensive check, it seems reasonable to want mesa to do the
>> right thing where possible.
>
> It's simply silly. In the same sense that adding yet another if (ptr) to "if 
> (ptr) if (ptr) FREE(ptr);" while not technically wrong is simply silly. Like 
> I said we already check whether those extensions are advertised by the server 
> and don't advertise the ones that aren't.
>

well, if the other component that provided FREE() had a bug that it
didn't check for null, it wouldn't be completely silly.  But still a
hack/workaround..

>> Probably there are other cases where we
>> should do the same thing.  I can update my patch to also exclude other
>> extensions
>
> No, the point it that we don't want to do that. It's fundamentally broken and 
> you know that it's broken because you'll notice that this extension is still 
> advertised by the server (for our sake that's all required to fix Clutter, 
> but it's still broken). It's a weird thing for an extension which is 
> implemented by the server to be advertised by the server and yet having a 
> client which is essentially not involved at all, not be advertising it. The 
> only reason we have to worry about this is that the server is broken. So 
> while we might want to make things easier on us by not forcing users to keep 
> repatching the Xserver we shouldn't have any illusions about what this is: 
> it's a nasty hack required by a bug in the Xserver. As such that code has 
> only two requirements:
> 1) That all drivers requiring that hack go through the same codepath and that 
> it's as minimal as possible so it's trivial to remove it once a fixed Xserver 
> gets into most distros.
> 2) That it's clearly documented as hack thanks to which anyone reading this 
> code will immediately understand what's the purpose of the weird code and 
> what are the prerequisites for removing it.
> Everything else is of no consequence in this case. So whether you'll decide 
> to use names or some any number of other extensions that came after 
> dri2inforec version 4 to check for makes no difference as long as it fulfills 
> the two above goals.
>

I'm ok with documenting it as a hack, and removing it once updated
xserver is in most distro's.  But it does seem useful to have at least
in the short term.

>> true, it is not shipping in any distro yet, so anyone who wants to try
>> it gets to try git master of mesa, which runs into problems because of
>> advertising the INTEL_swap extension.  Asking everyone to rebuild
>> xserver with some extra patch which is not merged yet is a big pita.
>
> Sure, but at the same time adding hacks to shared mesa code to make it easier 
> to try a dev driver doesn't make terribly convincing argument. In the end 
> though, at least in this case, the bug is severe enough that a hack in mesa 
> makes sense and we've spent too much time discussing a very simple issue, so 
> whatever you do just please make sure to fulfill the two requirements above 
> and everything will be ok.
>

true, I suppose.. although there are currently enough challenges
getting proper linux running on some of these devices, I don't really
like to make it harder than it already is.

I'll re-submit the patch making it more clear that it is a hack.  I
think point #1 is already met, it is a pretty localized hack and
should be easy to remove later.

BR,
-R

> z
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to