Lines Matching refs:batch

48 /* A batch tracks everything about a cmdstream batch/submit, including the
93 /* is this a non-draw batch (ie compute/blit which has no pfb state)? */
97 bool tessellation : 1; /* tessellation used in batch */
112 /* At submit time, once we've decided that this batch will use GMEM
117 /* A calculated "draw cost" value for the batch, which tries to
151 unsigned num_draws; /* number of draws in current batch */
152 unsigned num_vertices; /* number of vertices in current batch */
162 * batch. Used at the tile rendering step (fd_gmem_render_tiles(),
223 /* next sample offset.. incremented for each sample in the batch/
233 /* which sample providers were used in the current batch: */
236 /* which sample providers are currently enabled in the batch: */
239 /* list of samples in current batch: */
247 /* Set of resources used by currently-unsubmitted batch (read or
252 /** key in batch-cache (if not null): */
262 void fd_batch_reset(struct fd_batch *batch) assert_dt;
263 void fd_batch_flush(struct fd_batch *batch) assert_dt;
264 void fd_batch_add_dep(struct fd_batch *batch, struct fd_batch *dep) assert_dt;
265 void fd_batch_resource_write(struct fd_batch *batch,
267 void fd_batch_resource_read_slowpath(struct fd_batch *batch,
269 void fd_batch_check_size(struct fd_batch *batch) assert_dt;
277 void __fd_batch_describe(char *buf, const struct fd_batch *batch) assert_dt;
278 void __fd_batch_destroy(struct fd_batch *batch);
282 * a batch.. so either use fd_batch_reference() (which grabs the lock
291 * version in case that the batch being ref'd can disappear under
296 fd_batch_reference_locked(struct fd_batch **ptr, struct fd_batch *batch)
305 &(*ptr)->reference, &batch->reference,
309 *ptr = batch;
313 fd_batch_reference(struct fd_batch **ptr, struct fd_batch *batch)
321 fd_batch_reference_locked(ptr, batch);
328 fd_batch_unlock_submit(struct fd_batch *batch)
330 simple_mtx_unlock(&batch->submit_lock);
335 * ie. batch already flushed.
338 fd_batch_lock_submit(struct fd_batch *batch)
340 simple_mtx_lock(&batch->submit_lock);
341 bool ret = !batch->flushed;
343 fd_batch_unlock_submit(batch);
348 * Mark the batch as having something worth flushing (rendering, blit, query,
352 fd_batch_needs_flush(struct fd_batch *batch)
354 batch->needs_flush = true;
355 fd_fence_ref(&batch->ctx->last_fence, NULL);
360 * the batch before each draw.
363 fd_batch_update_queries(struct fd_batch *batch) assert_dt
365 struct fd_context *ctx = batch->ctx;
368 ctx->query_update_batch(batch, false);
372 fd_batch_finish_queries(struct fd_batch *batch) assert_dt
374 struct fd_context *ctx = batch->ctx;
377 ctx->query_update_batch(batch, true);
381 fd_reset_wfi(struct fd_batch *batch)
383 batch->needs_wfi = true;
386 void fd_wfi(struct fd_batch *batch, struct fd_ringbuffer *ring) assert_dt;
391 fd_event_write(struct fd_batch *batch, struct fd_ringbuffer *ring,
396 fd_reset_wfi(batch);
401 fd_batch_get_epilogue(struct fd_batch *batch)
403 if (batch->epilogue == NULL) {
404 batch->epilogue = fd_submit_new_ringbuffer(batch->submit, 0x1000,
408 return batch->epilogue;
411 struct fd_ringbuffer *fd_batch_get_prologue(struct fd_batch *batch);