batch->cache.render = _mesa_hash_table_create(NULL, _mesa_hash_pointer,
_mesa_key_pointer_equal);
- batch->cache.depth = _mesa_set_create(NULL, _mesa_hash_pointer,
- _mesa_key_pointer_equal);
memset(batch->other_batches, 0, sizeof(batch->other_batches));
iris_destroy_hw_context(bufmgr, batch->hw_ctx_id);
_mesa_hash_table_destroy(batch->cache.render, NULL);
- _mesa_set_destroy(batch->cache.depth, NULL);
if (unlikely(INTEL_DEBUG))
gen_batch_decode_ctx_finish(&batch->decoder);
enum isl_format format,
enum isl_aux_usage aux_usage);
void iris_cache_flush_for_depth(struct iris_batch *batch, struct iris_bo *bo);
-void iris_depth_cache_add_bo(struct iris_batch *batch, struct iris_bo *bo);
int iris_get_driver_query_info(struct pipe_screen *pscreen, unsigned index,
struct pipe_driver_query_info *info);
int iris_get_driver_query_group_info(struct pipe_screen *pscreen,
struct iris_batch *compute_batch = &ice->batches[IRIS_BATCH_COMPUTE];
if (render_batch->contains_draw ||
- render_batch->cache.render->entries ||
- render_batch->cache.depth->entries) {
+ render_batch->cache.render->entries) {
iris_batch_maybe_flush(render_batch, 48);
iris_emit_pipe_control_flush(render_batch,
"API: texture barrier (1/2)",
zs_surf->u.tex.first_layer, num_layers,
ice->state.depth_writes_enabled);
}
-
- if (ice->state.depth_writes_enabled)
- iris_depth_cache_add_bo(batch, z_res->bo);
}
if (s_res) {
zs_surf->u.tex.first_layer, num_layers,
s_res->aux.usage);
}
-
- if (ice->state.stencil_writes_enabled)
- iris_depth_cache_add_bo(batch, s_res->bo);
}
}
{
hash_table_foreach(batch->cache.render, render_entry)
_mesa_hash_table_remove(batch->cache.render, render_entry);
-
- set_foreach(batch->cache.depth, depth_entry)
- _mesa_set_remove(batch->cache.depth, depth_entry);
}
/**
iris_cache_flush_for_read(struct iris_batch *batch,
struct iris_bo *bo)
{
- if (_mesa_hash_table_search_pre_hashed(batch->cache.render, bo->hash, bo) ||
- _mesa_set_search_pre_hashed(batch->cache.depth, bo->hash, bo))
+ if (_mesa_hash_table_search_pre_hashed(batch->cache.render, bo->hash, bo))
iris_flush_depth_and_render_caches(batch);
iris_emit_buffer_barrier_for(batch, bo, IRIS_DOMAIN_OTHER_READ);
{
iris_emit_buffer_barrier_for(batch, bo, IRIS_DOMAIN_RENDER_WRITE);
- if (_mesa_set_search_pre_hashed(batch->cache.depth, bo->hash, bo))
- iris_flush_depth_and_render_caches(batch);
-
/* Check to see if this bo has been used by a previous rendering operation
* but with a different format or aux usage. If it has, flush the render
* cache so we ensure that it's only in there with one format or aux usage
iris_emit_buffer_barrier_for(batch, bo, IRIS_DOMAIN_DEPTH_WRITE);
}
-void
-iris_depth_cache_add_bo(struct iris_batch *batch, struct iris_bo *bo)
-{
- _mesa_set_add_pre_hashed(batch->cache.depth, bo->hash, bo);
-}
-
static void
iris_resolve_color(struct iris_context *ice,
struct iris_batch *batch,