[Mesa-dev] [PATCH 05/10] gallium: wire up server_wait_sync

Rob Clark robdclark at gmail.com
Fri Nov 18 22:17:19 UTC 2016


On Fri, Nov 18, 2016 at 5:07 PM, Marek Olšák <maraeo at gmail.com> wrote:
> On Fri, Nov 18, 2016 at 2:39 PM, Rob Clark <robdclark at gmail.com> wrote:
>> From: Rob Clark <robclark at freedesktop.org>
>>
>> This will be needed for explicit synchronization with devices outside
>> the gpu, ie. EGL_ANDROID_native_fence_sync.
>>
>> Signed-off-by: Rob Clark <robclark at freedesktop.org>
>> Reviewed-by: Marek Olšák <marek.olsak at amd.com>
>> ---
>>  src/gallium/include/pipe/p_context.h  | 6 ++++++
>>  src/gallium/state_trackers/dri/dri2.c | 6 +++++-
>>  2 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h
>> index b97aad5..ee8a511 100644
>> --- a/src/gallium/include/pipe/p_context.h
>> +++ b/src/gallium/include/pipe/p_context.h
>> @@ -475,6 +475,12 @@ struct pipe_context {
>>                   unsigned flags);
>>
>>     /**
>> +    * Insert commands to have GPU wait for fence to be signaled.
>> +    */
>> +   void (*fence_server_sync)(struct pipe_context *pipe,
>> +                             struct pipe_fence_handle *fence);
>
> BTW, why is it called "server_sync"? Do we have a server in gallium?

only to differentiate from client-wait.. and because it is called from
dri2_server_wait_sync() (which is called via
__DRI2fenceExtension::server_wait_sync()).. it's telling the "server"
(which is actually the CP) to wait.  I guess the terminology probably
made sense about 15+ years ago before dri.. I find it kind of
confusing, but figured it was better to stick w/ what the rest of the
codebase (and gl specs) used..

BR,
-R

> Marek


More information about the mesa-dev mailing list