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
next prev parent 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