Lines Matching refs:ice
41 crocus_is_color_fast_clear_compatible(struct crocus_context *ice,
46 perf_debug(&ice->dbg, "Integer fast clear not enabled for %s",
65 can_fast_clear_color(struct crocus_context *ice,
95 ice->state.predicate == CROCUS_PREDICATE_STATE_USE_BIT) {
113 if (!crocus_is_color_fast_clear_compatible(ice, format, color))
120 convert_fast_clear_color(struct crocus_context *ice,
198 fast_clear_color(struct crocus_context *ice,
206 struct crocus_batch *batch = &ice->batches[CROCUS_BATCH_RENDER];
210 color = convert_fast_clear_color(ice, res, format, color);
247 crocus_resource_prepare_access(ice, res,
251 perf_debug(&ice->dbg,
265 crocus_resource_set_clear_color(ice, res, color);
297 blorp_batch_init(&ice->blorp, &blorp_batch, batch, blorp_flags);
319 crocus_resource_set_aux_state(ice, res, level, box->z,
321 ice->state.stage_dirty |= CROCUS_ALL_STAGE_DIRTY_BINDINGS;
326 clear_color(struct crocus_context *ice,
336 struct crocus_batch *batch = &ice->batches[CROCUS_BATCH_RENDER];
342 if (!crocus_check_conditional_render(ice))
345 if (ice->state.predicate == CROCUS_PREDICATE_STATE_USE_BIT)
354 bool can_fast_clear = can_fast_clear_color(ice, p_res, level, box,
358 fast_clear_color(ice, res, level, box, format, color,
364 crocus_resource_render_aux_usage(ice, res, level, format, false);
366 crocus_resource_prepare_render(ice, res, level,
374 blorp_batch_init(&ice->blorp, &blorp_batch, batch, blorp_flags);
386 crocus_flush_and_dirty_for_history(ice, batch, res,
390 crocus_resource_finish_render(ice, res, level,
395 can_fast_clear_depth(struct crocus_context *ice,
403 struct pipe_context *ctx = (void *) ice;
425 ice->state.predicate == CROCUS_PREDICATE_STATE_USE_BIT) {
451 fast_clear_depth(struct crocus_context *ice,
458 struct crocus_batch *batch = &ice->batches[CROCUS_BATCH_RENDER];
506 crocus_hiz_exec(ice, batch, res, res_level, layer, 1,
508 crocus_resource_set_aux_state(ice, res, res_level, layer, 1,
513 crocus_resource_set_clear_color(ice, res, clear_value);
524 perf_debug(&ice->dbg, "Performing HiZ clear just to update the "
527 crocus_hiz_exec(ice, batch, res, level,
533 crocus_resource_set_aux_state(ice, res, level, box->z, box->depth,
535 ice->state.dirty |= CROCUS_DIRTY_DEPTH_BUFFER;
539 clear_depth_stencil(struct crocus_context *ice,
550 struct crocus_batch *batch = &ice->batches[CROCUS_BATCH_RENDER];
555 if (!crocus_check_conditional_render(ice))
558 if (ice->state.predicate == CROCUS_PREDICATE_STATE_USE_BIT)
571 can_fast_clear_depth(ice, z_res, level, box, render_condition_enabled,
573 fast_clear_depth(ice, z_res, level, box, depth);
574 crocus_flush_and_dirty_for_history(ice, batch, res, 0,
589 crocus_resource_render_aux_usage(ice, z_res, level, z_res->surf.format,
591 crocus_resource_prepare_render(ice, z_res, level, box->z, box->depth,
599 blorp_batch_init(&ice->blorp, &blorp_batch, batch, blorp_flags);
603 crocus_resource_prepare_access(ice, stencil_res, level, 1, box->z,
619 crocus_flush_and_dirty_for_history(ice, batch, res, 0,
623 crocus_resource_finish_render(ice, z_res, level,
628 crocus_resource_finish_write(ice, stencil_res, level, box->z, box->depth,
646 struct crocus_context *ice = (void *) ctx;
647 struct pipe_framebuffer_state *cso_fb = &ice->state.framebuffer;
666 crocus_blitter_begin(ice, CROCUS_SAVE_FRAGMENT_STATE, true);
667 util_blitter_clear(ice->blitter, cso_fb->width, cso_fb->height,
675 clear_depth_stencil(ice, psurf->texture, psurf->u.tex.level, &box, true,
694 clear_color(ice, psurf->texture, psurf->u.tex.level, &box,
714 struct crocus_context *ice = (void *) ctx;
741 clear_depth_stencil(ice, p_res, level, box, true, true, true,
771 clear_color(ice, p_res, level, box, true, format,
789 struct crocus_context *ice = (void *) ctx;
803 clear_color(ice, psurf->texture, psurf->u.tex.level, &box,
825 struct crocus_context *ice = (void *) ctx;
838 crocus_blitter_begin(ice, CROCUS_SAVE_FRAGMENT_STATE);
839 util_blitter_clear(ice->blitter, width, height,
842 clear_depth_stencil(ice, psurf->texture, psurf->u.tex.level, &box,