Lines Matching refs:fence

29  * kernel do determine a fence object signaled status if the fence is not
31 * execbuf ioctl returns the last signaled fence seqno, as does the
32 * fence signaled ioctl. We should set up a ring of fence objects and
34 * new passed fence seqno.
64 * @fence: The opaque pipe fence handle.
67 vmw_fence(struct pipe_fence_handle *fence)
69 return (struct vmw_fence *) fence;
73 * vmw_fence_create - Create a user-space fence object.
75 * @handle: Handle identifying the kernel fence object.
76 * @mask: Mask of flags that this fence object may signal.
83 struct vmw_fence *fence = CALLOC_STRUCT(vmw_fence);
85 if (!fence)
88 p_atomic_set(&fence->refcount, 1);
89 fence->handle = handle;
90 fence->mask = mask;
91 p_atomic_set(&fence->signalled, 0);
93 return (struct pipe_fence_handle *) fence;
113 * vmw_fence_reference - Reference / unreference a vmw fence object.
117 * @fence: Pointer to object to reference. May be NULL.
122 struct pipe_fence_handle *fence)
133 if (fence) {
134 struct vmw_fence *vfence = vmw_fence(fence);
139 *ptr = fence;
144 * vmw_fence_signalled - Check whether a fence object is signalled.
147 * @fence: Handle to the fence object.
148 * @flag: Fence flags to check. If the fence object can't signal
151 * Returns 0 if the fence object was signaled, nonzero otherwise.
155 struct pipe_fence_handle *fence,
163 if (!fence)
166 vfence = vmw_fence(fence);
189 * vmw_fence_finish - Wait for a fence object to signal.
192 * @fence: Handle to the fence object.
193 * @flag: Fence flags to wait for. If the fence object can't signal
200 struct pipe_fence_handle *fence,
208 if (!fence)
211 vfence = vmw_fence(fence);
241 struct pipe_fence_handle *fence)
245 vmw_fence_reference(vws, ptr, fence);
255 struct pipe_fence_handle *fence,
260 return vmw_fence_signalled(vws, fence, flag);
271 struct pipe_fence_handle *fence,
276 return vmw_fence_finish(vws, fence, flag);