dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Michel Dänzer" <michel@daenzer.net>
To: "Jason Ekstrand" <jason@jlekstrand.net>,
	"Christian König" <deathsimple@vodafone.de>
Cc: amd-gfx mailing list <amd-gfx@lists.freedesktop.org>,
	Maling list - DRI developers <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH] drm/syncobj: add sync obj wait interface. (v6)
Date: Tue, 11 Jul 2017 11:36:50 +0900	[thread overview]
Message-ID: <0c81dd81-e84a-2381-3ce1-e08450929da8@daenzer.net> (raw)
In-Reply-To: <CAOFGe95oZz-O743v7J6gpVuUqvPjdeifAcuoaZe8bf1HUNXm+Q@mail.gmail.com>

On 11/07/17 06:09 AM, Jason Ekstrand wrote:
> On Mon, Jul 10, 2017 at 9:15 AM, Christian König
> <deathsimple@vodafone.de <mailto:deathsimple@vodafone.de>> wrote:
> 
>     Am 10.07.2017 um 17:52 schrieb Jason Ekstrand:
>>     On Mon, Jul 10, 2017 at 8:45 AM, Christian König
>>     <deathsimple@vodafone.de <mailto:deathsimple@vodafone.de>> wrote:
>>
>>         Am 10.07.2017 um 17:28 schrieb Jason Ekstrand:
>>>         On Wed, Jul 5, 2017 at 6:04 PM, Dave Airlie
>>>         <airlied@gmail.com <mailto:airlied@gmail.com>> wrote:
>>>         [SNIP]
>>>         So, reading some CTS tests again, and I think we have a
>>>         problem here.  The Vulkan spec allows you to wait on a fence
>>>         that is in the unsignaled state.
>>
>>         At least on the closed source driver that would be illegal as
>>         far as I know.
>>
>>
>>     Then they are doing workarounds in userspace.  There are
>>     definitely CTS tests for this:
>>
>>     https://github.com/KhronosGroup/VK-GL-CTS/blob/master/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationBasicFenceTests.cpp#L74
>>     <https://github.com/KhronosGroup/VK-GL-CTS/blob/master/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationBasicFenceTests.cpp#L74>
>>      
>>
>>         You can't wait on a semaphore before the signal operation is
>>         send down to the kerel.
>>
>>
>>     We (Intel) deal with this today by tracking whether or not the
>>     fence has been submitted and using a condition variable in
>>     userspace to sort it all out.
> 
>     Which sounds exactly like what AMD is doing in it's drivers as well.
> 
> 
> Which doesn't work cross-process so...

Surely it can be made to work by providing suitable kernel APIs to
userspace?


>>     If we ever want to share fences across processes (which we do),
>>     then this needs to be sorted in the kernel.
> 
>     That would clearly get a NAK from my side, even Microsoft forbids
>     wait before signal because you can easily end up in deadlock situations.
> 
> Please don't NAK things that are required by the API specification and
> CTS tests.

There is no requirement for every aspect of the Vulkan API specification
to be mirrored 1:1 in the kernel <-> userspace API. We have to work out
what makes sense at each level.


> That makes it very hard for people like me to get their jobs done. :-)

Jason, that's uncalled for. Christian is also just doing his job here.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2017-07-11  2:36 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-06  1:04 [PATCH] drm/syncobj: add sync obj wait interface. (v6) Dave Airlie
     [not found] ` <20170706010409.9373-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-10 15:28   ` Jason Ekstrand
2017-07-10 15:45     ` Christian König
2017-07-10 15:52       ` Jason Ekstrand
     [not found]         ` <CAOFGe96gaX2OjsXr8bNBUiqwyKAQfMSycH7PXgYAt_BBJ1UHkQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-10 15:58           ` Xie, AlexBin
     [not found]             ` <DM5PR12MB12574F31128759A47DA1C7B7F2A90-2J9CzHegvk/NHlLGalgXawdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-07-10 16:13               ` Christian König
     [not found]                 ` <60c420a9-eab6-a9e0-0306-893053d82a5d-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-07-10 23:15                   ` Jason Ekstrand
2017-07-10 16:15           ` Christian König
     [not found]             ` <fe27d2f8-760b-c2d4-9474-7eaaae560086-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-07-10 21:09               ` Jason Ekstrand
2017-07-11  2:36                 ` Michel Dänzer [this message]
2017-07-11  7:17                   ` Christian König
     [not found]                     ` <c7a44542-acca-09e1-5ea5-bf9938921e54-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-07-11 15:43                       ` Jason Ekstrand
     [not found]                         ` <CAOFGe95cnFJCEAO6k8emWFWaAZdMPrdHjQos02peuWe6Ve1wvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-12  7:39                           ` Christian König
     [not found]                             ` <2a0f44cc-b893-153c-9852-b1b4855e386e-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-07-12  8:39                               ` Dave Airlie
2017-07-12 15:53                                 ` Jason Ekstrand
     [not found]                                   ` <CAOFGe95mj1G_Ap0oOPFyatZWEbEk_Kwo8Wn_E+eYS16Nhz_huQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-12 16:45                                     ` Christian König
2017-07-12 17:02                                       ` Jason Ekstrand
2017-07-11  7:22                 ` Daniel Vetter
     [not found]                   ` <20170711072110.oziftm34o54plbvv-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-07-11 19:44                     ` Jason Ekstrand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0c81dd81-e84a-2381-3ce1-e08450929da8@daenzer.net \
    --to=michel@daenzer.net \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=deathsimple@vodafone.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jason@jlekstrand.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox