HomeSort by relevance Sort by last modified time
    Searched refs:fence (Results 1 - 25 of 473) sorted by null

1 2 3 4 5 6 7 8 91011>>

  /external/mesa3d/src/gallium/drivers/nouveau/
nouveau_fence.c 33 nouveau_fence_new(struct nouveau_screen *screen, struct nouveau_fence **fence)
35 *fence = CALLOC_STRUCT(nouveau_fence);
36 if (!*fence)
39 (*fence)->screen = screen;
40 (*fence)->ref = 1;
41 LIST_INITHEAD(&(*fence)->work);
47 nouveau_fence_trigger_work(struct nouveau_fence *fence)
51 LIST_FOR_EACH_ENTRY_SAFE(work, tmp, &fence->work, list) {
59 nouveau_fence_emit(struct nouveau_fence *fence)
61 struct nouveau_screen *screen = fence->screen
114 struct nouveau_fence *fence; local
    [all...]
nouveau_fence.h 46 nouveau_fence_ref(struct nouveau_fence *fence, struct nouveau_fence **ref)
48 if (fence)
49 ++fence->ref;
56 *ref = fence;
60 nouveau_fence(struct pipe_fence_handle *fence)
62 return (struct nouveau_fence *)fence;
  /external/mesa3d/src/gallium/drivers/llvmpipe/
lp_fence.c 36 * Create a new fence object.
39 * thread hits a fence command, it'll increment the fence counter. When
40 * the counter == the rank, the fence is finished.
42 * \param rank the expected finished value of the fence counter.
48 struct lp_fence *fence = CALLOC_STRUCT(lp_fence); local
50 if (!fence)
53 pipe_reference_init(&fence->reference, 1);
55 (void) mtx_init(&fence->mutex, mtx_plain);
56 cnd_init(&fence->signalled)
    [all...]
lp_fence.h 60 lp_fence_signal(struct lp_fence *fence);
63 lp_fence_signalled(struct lp_fence *fence);
66 lp_fence_wait(struct lp_fence *fence);
73 lp_fence_destroy(struct lp_fence *fence);
89 lp_fence_issued(const struct lp_fence *fence)
91 return fence->issued;
  /external/mesa3d/src/mesa/drivers/dri/i965/
brw_sync.c 52 /** The fence waits for completion of brw_fence::batch_bo. */
55 /** The fence waits for brw_fence::sync_fd to signal. */
72 struct brw_fence fence; member in struct:brw_gl_sync
76 brw_fence_init(struct brw_context *brw, struct brw_fence *fence,
79 fence->brw = brw;
80 fence->type = type;
81 mtx_init(&fence->mutex, mtx_plain);
85 fence->batch_bo = NULL;
88 fence->sync_fd = -1;
94 brw_fence_finish(struct brw_fence *fence)
424 struct brw_fence *fence; local
444 struct brw_fence *fence = _fence; local
454 struct brw_fence *fence = _fence; local
462 struct brw_fence *fence = _fence; local
489 struct brw_fence *fence; local
528 struct brw_fence *fence = _fence; local
    [all...]
  /external/mesa3d/src/gallium/drivers/freedreno/
freedreno_fence.c 39 /* fence holds a weak reference to the batch until the batch is flushed,
50 static void fence_flush(struct pipe_fence_handle *fence)
52 if (fence->batch)
53 fd_batch_flush(fence->batch, true, true);
54 debug_assert(!fence->batch);
57 void fd_fence_populate(struct pipe_fence_handle *fence,
60 if (!fence->batch)
62 fence->timestamp = timestamp;
63 fence->fence_fd = fence_fd;
64 fence->batch = NULL
105 struct pipe_fence_handle *fence; local
    [all...]
  /external/linux-kselftest/tools/testing/selftests/sync/
sync_alloc.c 46 int timeline, fence, valid; local
52 fence = sw_sync_fence_create(timeline, "allocFence", 1);
53 valid = sw_sync_fence_is_valid(fence);
54 ASSERT(valid, "Failure allocating fence\n");
56 sw_sync_fence_destroy(fence);
63 int fence, timeline; local
68 fence = sw_sync_fence_create(-1, "fence", 1);
69 ASSERT(fence < 0, "Success allocating negative fence\n")
    [all...]
sync_merge.c 2 * sync fence merge tests
34 int fence, valid, merged; local
40 fence = sw_sync_fence_create(timeline, "allocFence", 5);
41 valid = sw_sync_fence_is_valid(fence);
42 ASSERT(valid, "Failure allocating fence\n");
44 merged = sync_merge("mergeFence", fence, fence);
45 valid = sw_sync_fence_is_valid(fence);
46 ASSERT(valid, "Failure merging fence\n");
49 "fence signaled too early!\n")
    [all...]
sync_stress_consumer.c 40 static int busy_wait_on_fence(int fence)
45 error = sync_fence_count_with_status(fence, FENCE_STATUS_ERROR);
46 ASSERT(error == 0, "Error occurred on fence\n");
47 active = sync_fence_count_with_status(fence,
66 int fence, valid, i; local
72 fence = sw_sync_fence_create(consumer_timeline, "fence", i);
73 valid = sw_sync_fence_is_valid(fence);
74 ASSERT(valid, "Failure creating fence\n");
78 * means of waiting on the fence
108 int fence, merged, tmp, valid, it, i; local
    [all...]
sync_stress_merge.c 43 int fence, tmpfence, merged, valid; local
51 fence = sw_sync_fence_create(timelines[0], "fence", 0);
52 valid = sw_sync_fence_is_valid(fence);
53 ASSERT(valid, "Failure creating fence\n");
75 tmpfence = sw_sync_fence_create(timeline, "fence", sync_point);
76 merged = sync_merge("merge", tmpfence, fence);
78 sw_sync_fence_destroy(fence);
79 fence = merged;
82 ASSERT(valid, "Failure creating fence i\n")
    [all...]
  /external/mesa3d/src/util/
u_queue.h 59 /* Job completion fence.
63 /* The fence can be in one of three states:
72 util_queue_fence_init(struct util_queue_fence *fence)
74 fence->val = 0;
78 util_queue_fence_destroy(struct util_queue_fence *fence)
80 assert(fence->val == 0);
85 util_queue_fence_signal(struct util_queue_fence *fence)
87 uint32_t val = p_atomic_xchg(&fence->val, 0);
92 futex_wake(&fence->val, INT_MAX);
96 * Move \p fence back into unsignalled state
195 struct util_queue_fence *fence; member in struct:util_queue_job
    [all...]
  /external/mesa3d/src/gallium/drivers/etnaviv/
etnaviv_fence.c 46 etna_fence_destroy(struct pipe_fence_handle *fence)
48 if (fence->fence_fd != -1)
49 close(fence->fence_fd);
50 FREE(fence);
56 struct pipe_fence_handle *fence)
58 if (pipe_reference(&(*ptr)->reference, &fence->reference))
61 *ptr = fence;
66 struct pipe_fence_handle *fence, uint64_t timeout)
68 if (fence->fence_fd != -1)
69 return !sync_wait(fence->fence_fd, timeout / 1000000)
103 struct pipe_fence_handle *fence; local
    [all...]
  /external/mesa3d/src/gallium/drivers/softpipe/
sp_fence.c 37 struct pipe_fence_handle *fence)
39 *ptr = fence;
46 struct pipe_fence_handle *fence,
49 assert(fence);
  /external/mesa3d/src/gallium/drivers/swr/
swr_fence.cpp 37 * Fence callback, called by back-end thread on completion of all rendering up
43 struct swr_fence *fence = (struct swr_fence *)userData; local
45 /* Complete all work attached to the fence */
46 swr_fence_do_work(fence);
48 /* Correct value is in SwrSync data, and not the fence write field. */
49 fence->read = userData2;
53 * Submit an existing fence.
58 struct swr_fence *fence = swr_fence(fh); local
60 fence->write++;
61 fence->pending = TRUE
72 struct swr_fence *fence = CALLOC_STRUCT(swr_fence); local
100 struct swr_fence *fence = swr_fence(f); local
    [all...]
swr_fence_work.h 40 void swr_fence_do_work(struct swr_fence *fence);
42 bool swr_fence_work_free(struct pipe_fence_handle *fence, void *data,
44 bool swr_fence_work_delete_vs(struct pipe_fence_handle *fence,
46 bool swr_fence_work_delete_fs(struct pipe_fence_handle *fence,
48 bool swr_fence_work_delete_gs(struct pipe_fence_handle *fence,
swr_fence_work.cpp 34 swr_fence_do_work(struct swr_fence *fence)
38 if (fence->work.head.next) {
39 work = fence->work.head.next;
42 p_atomic_set(&fence->work.head.next, 0);
43 p_atomic_set(&fence->work.tail, &fence->work.head);
44 p_atomic_set(&fence->work.count, 0);
63 /* If no fence, just do the work now */
70 struct swr_fence *fence = swr_fence(fh); local
71 p_atomic_set(&fence->work.tail->next, work)
    [all...]
swr_fence.h 51 swr_fence(struct pipe_fence_handle *fence)
53 return (struct swr_fence *)fence;
60 struct swr_fence *fence = swr_fence(fence_handle); local
61 return (fence->read == fence->write);
85 swr_fence_submit(struct swr_context *ctx, struct pipe_fence_handle *fence);
  /external/mesa3d/src/mesa/drivers/dri/i915/
intel_syncobj.c 49 /** The fence waits for completion of this batch. */
58 struct intel_fence fence; member in struct:intel_gl_sync_object
62 intel_fence_finish(struct intel_fence *fence)
64 if (fence->batch_bo)
65 drm_intel_bo_unreference(fence->batch_bo);
69 intel_fence_insert(struct intel_context *intel, struct intel_fence *fence)
71 assert(!fence->batch_bo);
72 assert(!fence->signalled);
75 fence->batch_bo = intel->batch.bo;
76 drm_intel_bo_reference(fence->batch_bo)
238 struct intel_fence *fence; local
254 struct intel_fence *fence = driver_fence; local
264 struct intel_fence *fence = driver_fence; local
272 struct intel_fence *fence = driver_fence; local
    [all...]
  /external/mesa3d/src/gallium/auxiliary/pipebuffer/
pb_buffer_fenced.h 38 * - the ability for the destruction to be delayed by a fence;
42 * handle. The end-of-life is dictated by the fence signalling.
44 * Between the handle's destruction, and the fence signalling, the buffer is
66 * List of buffers which are awaiting fence signalling.
75 /** Set ptr = fence, with reference counting */
78 struct pipe_fence_handle *fence );
81 * Checks whether the fence has been signalled.
86 struct pipe_fence_handle *fence,
90 * Wait for the fence to finish.
95 struct pipe_fence_handle *fence,
    [all...]
  /external/mesa3d/src/gallium/winsys/i915/drm/
i915_drm_fence.c 8 * Because gem does not have fence's we have to create our own fences.
11 * been idled. If bo is NULL fence has expired.
23 struct i915_drm_fence *fence = CALLOC_STRUCT(i915_drm_fence); local
25 pipe_reference_init(&fence->reference, 1);
26 /* bo is null if fence already expired */
29 fence->bo = bo;
32 return (struct pipe_fence_handle *)fence;
38 struct pipe_fence_handle *fence)
41 struct i915_drm_fence *f = (struct i915_drm_fence *)fence;
48 *ptr = fence;
    [all...]
  /external/mesa3d/src/gallium/winsys/svga/drm/
vmw_fence.c 68 * vmw_fence_seq_is_signaled - Check whether a fence seqno is
106 struct vmw_fence *fence, *n; local
109 LIST_FOR_EACH_ENTRY_SAFE(fence, n, &ops->not_signaled, ops_list)
110 LIST_DELINIT(&fence->ops_list);
131 struct vmw_fence *fence, *n; local
148 LIST_FOR_EACH_ENTRY_SAFE(fence, n, &ops->not_signaled, ops_list) {
149 if (!vmw_fence_seq_is_signaled(fence->seqno, signaled, emitted))
152 p_atomic_set(&fence->signalled, 1);
153 LIST_DELINIT(&fence->ops_list);
167 * @fence: The opaque pipe fence handle
190 struct vmw_fence *fence = CALLOC_STRUCT(vmw_fence); local
    [all...]
vmw_fence.h 45 struct pipe_fence_handle *fence,
50 vmw_fence_get_fd(struct pipe_fence_handle *fence);
54 struct pipe_fence_handle *fence,
59 struct pipe_fence_handle *fence);
  /external/mesa3d/src/gallium/drivers/r300/
r300_flush.c 38 struct pipe_fence_handle **fence)
56 r300->rws->cs_flush(r300->cs, flags, fence);
77 struct pipe_fence_handle **fence)
82 r300_flush_and_cleanup(r300, flags, fence);
84 if (fence) {
85 /* We have to create a fence object, but the command stream is empty
89 r300->rws->cs_flush(r300->cs, flags, fence);
115 if (fence && *fence)
116 r300->rws->fence_reference(fence, NULL)
    [all...]
  /external/mesa3d/src/gallium/drivers/svga/
svga_pipe_flush.c 36 struct pipe_fence_handle **fence,
50 svga_context_flush(svga, fence);
53 __FUNCTION__, fence ? *fence : 0x0);
80 * Wraps a SVGA fence around an imported file descriptor. This
81 * fd represents a fence from another process/device. The fence created
87 struct pipe_fence_handle **fence,
92 sws->fence_create_fd(sws, fence, fd);
99 * This function imports a fence from another process/device into the curren
    [all...]
  /external/mesa3d/src/gallium/drivers/i915/
i915_flush.c 42 struct pipe_fence_handle **fence,
51 /* Only shortcut this if we have no fence, otherwise we must flush the
52 * empty batchbuffer to get our fence back.
54 if (!fence && (i915->batch->map == i915->batch->ptr)) {
61 FLUSH_BATCH(fence, winsys_flags);
76 struct pipe_fence_handle **fence,
81 batch->iws->batchbuffer_flush(batch, fence, flags);

Completed in 1476 milliseconds

1 2 3 4 5 6 7 8 91011>>