Lines Matching refs:vc4

42         struct vc4_context *vc4 = vc4_context(pctx);
44 hash_table_foreach(vc4->jobs, entry) {
46 vc4_job_submit(vc4, job);
54 struct vc4_context *vc4 = vc4_context(pctx);
64 drmSyncobjExportSyncFile(vc4->fd, vc4->job_syncobj,
68 struct vc4_fence *f = vc4_fence_create(vc4->screen,
69 vc4->last_emit_seqno,
90 struct vc4_context *vc4 = vc4_context(pctx);
93 vc4->debug = *cb;
95 memset(&vc4->debug, 0, sizeof(vc4->debug));
101 struct vc4_context *vc4 = vc4_context(pctx);
106 struct hash_entry *entry = _mesa_hash_table_search(vc4->write_jobs,
119 struct vc4_context *vc4 = vc4_context(pctx);
123 if (vc4->blitter)
124 util_blitter_destroy(vc4->blitter);
126 if (vc4->uploader)
127 u_upload_destroy(vc4->uploader);
129 slab_destroy_child(&vc4->transfer_pool);
131 pipe_surface_reference(&vc4->framebuffer.cbufs[0], NULL);
132 pipe_surface_reference(&vc4->framebuffer.zsbuf, NULL);
134 if (vc4->yuv_linear_blit_vs)
135 pctx->delete_vs_state(pctx, vc4->yuv_linear_blit_vs);
136 if (vc4->yuv_linear_blit_fs_8bit)
137 pctx->delete_fs_state(pctx, vc4->yuv_linear_blit_fs_8bit);
138 if (vc4->yuv_linear_blit_fs_16bit)
139 pctx->delete_fs_state(pctx, vc4->yuv_linear_blit_fs_16bit);
143 if (vc4->screen->has_syncobj) {
144 drmSyncobjDestroy(vc4->fd, vc4->job_syncobj);
145 drmSyncobjDestroy(vc4->fd, vc4->in_syncobj);
147 if (vc4->in_fence_fd >= 0)
148 close(vc4->in_fence_fd);
150 ralloc_free(vc4);
157 struct vc4_context *vc4;
164 vc4 = rzalloc(NULL, struct vc4_context);
165 if (!vc4)
167 struct pipe_context *pctx = &vc4->base;
169 vc4->screen = screen;
185 vc4->fd = screen->fd;
187 err = vc4_job_init(vc4);
191 err = vc4_fence_context_init(vc4);
195 slab_create_child(&vc4->transfer_pool, &screen->transfer_pool);
197 vc4->uploader = u_upload_create_default(&vc4->base);
198 vc4->base.stream_uploader = vc4->uploader;
199 vc4->base.const_uploader = vc4->uploader;
201 vc4->blitter = util_blitter_create(pctx);
202 if (!vc4->blitter)
207 vc4->sample_mask = (1 << VC4_MAX_SAMPLES) - 1;
209 return &vc4->base;