Lines Matching refs:ice

47    struct iris_context *ice = (struct iris_context *)ctx;
53 ice->dbg = *cb;
55 memset(&ice->dbg, 0, sizeof(ice->dbg));
68 struct iris_context *ice = batch->ice;
80 ice->state.dirty = ~0ull;
81 ice->state.stage_dirty = ~0ull;
82 ice->state.current_hash_scale = 0;
83 memset(&ice->shaders.urb, 0, sizeof(ice->shaders.urb));
84 memset(ice->state.last_block, 0, sizeof(ice->state.last_block));
85 memset(ice->state.last_grid, 0, sizeof(ice->state.last_grid));
86 ice->state.last_grid_dim = 0;
89 batch->screen->vtbl.lost_genx_state(ice, batch);
95 struct iris_context *ice = (struct iris_context *)ctx;
102 iris_foreach_batch(ice, batch) {
120 if (worst_reset != PIPE_NO_RESET && ice->reset.reset)
121 ice->reset.reset(ice->reset.data, worst_reset);
130 struct iris_context *ice = (struct iris_context *)ctx;
133 ice->reset = *cb;
135 memset(&ice->reset, 0, sizeof(ice->reset));
174 create_dirty_dmabuf_set(struct iris_context *ice)
176 assert(ice->dirty_dmabufs == NULL);
178 ice->dirty_dmabufs = _mesa_pointer_set_create(ice);
179 return ice->dirty_dmabufs != NULL;
183 iris_mark_dirty_dmabuf(struct iris_context *ice,
186 if (!_mesa_set_search(ice->dirty_dmabufs, res)) {
187 _mesa_set_add(ice->dirty_dmabufs, res);
193 clear_dirty_dmabuf_set(struct iris_context *ice)
195 set_foreach(ice->dirty_dmabufs, entry) {
201 _mesa_set_clear(ice->dirty_dmabufs, NULL);
205 iris_flush_dirty_dmabufs(struct iris_context *ice)
207 set_foreach(ice->dirty_dmabufs, entry) {
209 ice->ctx.flush_resource(&ice->ctx, res);
212 clear_dirty_dmabuf_set(ice);
221 struct iris_context *ice = (struct iris_context *)ctx;
229 clear_dirty_dmabuf_set(ice);
231 screen->vtbl.destroy_state(ice);
233 for (unsigned i = 0; i < ARRAY_SIZE(ice->shaders.scratch_surfs); i++)
234 pipe_resource_reference(&ice->shaders.scratch_surfs[i].res, NULL);
236 for (unsigned i = 0; i < ARRAY_SIZE(ice->shaders.scratch_bos); i++) {
237 for (unsigned j = 0; j < ARRAY_SIZE(ice->shaders.scratch_bos[i]); j++)
238 iris_bo_unreference(ice->shaders.scratch_bos[i][j]);
241 iris_destroy_program_cache(ice);
243 iris_destroy_ctx_measure(ice);
245 u_upload_destroy(ice->state.surface_uploader);
246 u_upload_destroy(ice->state.bindless_uploader);
247 u_upload_destroy(ice->state.dynamic_uploader);
248 u_upload_destroy(ice->query_buffer_uploader);
250 iris_destroy_batches(ice);
251 iris_destroy_binder(&ice->state.binder);
253 iris_utrace_fini(ice);
255 slab_destroy_child(&ice->transfer_pool);
256 slab_destroy_child(&ice->transfer_pool_unsync);
258 ralloc_free(ice);
292 struct iris_context *ice = rzalloc(NULL, struct iris_context);
294 if (!ice)
297 struct pipe_context *ctx = &ice->ctx;
317 if (!create_dirty_dmabuf_set(ice)) {
318 ralloc_free(ice);
336 iris_init_program_cache(ice);
337 iris_init_binder(ice);
339 slab_create_child(&ice->transfer_pool, &screen->transfer_pool);
340 slab_create_child(&ice->transfer_pool_unsync, &screen->transfer_pool);
342 ice->state.surface_uploader =
346 ice->state.bindless_uploader =
350 ice->state.dynamic_uploader =
355 ice->query_buffer_uploader =
359 genX_call(devinfo, init_state, ice);
360 genX_call(devinfo, init_blorp, ice);
361 genX_call(devinfo, init_query, ice);
370 ice->state.sizes = _mesa_hash_table_u64_create(ice);
373 iris_utrace_init(ice);
375 iris_init_batches(ice, priority);
377 screen->vtbl.init_render_context(&ice->batches[IRIS_BATCH_RENDER]);
378 screen->vtbl.init_compute_context(&ice->batches[IRIS_BATCH_COMPUTE]);
390 &ice->thrctx);