Lines Matching refs:surf
278 etna_rs_gen_clear_surface(struct etna_context *ctx, struct etna_surface *surf, in etna_rs_gen_clear_surface() argument
282 struct etna_resource *dst = etna_resource(surf->base.texture); in etna_rs_gen_clear_surface()
285 switch (util_format_get_blocksizebits(surf->base.format)) { in etna_rs_gen_clear_surface()
302 bool tiled_clear = (surf->surf.padded_width & ETNA_RS_WIDTH_MASK) == 0 && in etna_rs_gen_clear_surface()
303 (surf->surf.padded_height & ETNA_RS_HEIGHT_MASK) == 0; in etna_rs_gen_clear_surface()
305 etna_compile_rs_state( ctx, &surf->clear_command, &(struct rs_state) { in etna_rs_gen_clear_surface()
309 .dest_offset = surf->surf.offset, in etna_rs_gen_clear_surface()
310 .dest_stride = surf->surf.stride, in etna_rs_gen_clear_surface()
311 .dest_padded_height = surf->surf.padded_height, in etna_rs_gen_clear_surface()
314 ….width = surf->surf.padded_width, /* These must be padded to 16x4 if !LINEAR, otherwise RS will ha… in etna_rs_gen_clear_surface()
315 .height = surf->surf.padded_height, in etna_rs_gen_clear_surface()
327 struct etna_surface *surf = etna_surface(dst); in etna_blit_clear_color_rs() local
328 uint64_t new_clear_value = etna_clear_blit_pack_rgba(surf->base.format, color); in etna_blit_clear_color_rs()
330 if (surf->surf.ts_size) { /* TS: use precompiled clear command */ in etna_blit_clear_color_rs()
337 surf->surf.padded_width * surf->surf.padded_height / 16); in etna_blit_clear_color_rs()
341 surf->level->ts_valid = true; in etna_blit_clear_color_rs()
343 …} else if (unlikely(new_clear_value != surf->level->clear_value)) { /* Queue normal RS clear for n… in etna_blit_clear_color_rs()
345 etna_rs_gen_clear_surface(ctx, surf, new_clear_value); in etna_blit_clear_color_rs()
348 etna_submit_rs_state(ctx, &surf->clear_command); in etna_blit_clear_color_rs()
350 surf->level->clear_value = new_clear_value; in etna_blit_clear_color_rs()
351 resource_written(ctx, surf->base.texture); in etna_blit_clear_color_rs()
352 etna_resource(surf->base.texture)->seqno++; in etna_blit_clear_color_rs()
360 struct etna_surface *surf = etna_surface(dst); in etna_blit_clear_zs_rs() local
361 uint32_t new_clear_value = translate_clear_depth_stencil(surf->base.format, depth, stencil); in etna_blit_clear_zs_rs()
365 switch (surf->base.format) { in etna_blit_clear_zs_rs()
390 if (surf->surf.ts_size) { /* TS: use precompiled clear command */ in etna_blit_clear_zs_rs()
396 surf->surf.padded_width * surf->surf.padded_height / 16); in etna_blit_clear_zs_rs()
400 surf->level->ts_valid = true; in etna_blit_clear_zs_rs()
403 …if (unlikely(new_clear_value != surf->level->clear_value)) { /* Queue normal RS clear for non-TS s… in etna_blit_clear_zs_rs()
405 etna_rs_gen_clear_surface(ctx, surf, new_clear_value); in etna_blit_clear_zs_rs()
408 etna_modify_rs_clearbits(&surf->clear_command, new_clear_bits); in etna_blit_clear_zs_rs()
411 etna_submit_rs_state(ctx, &surf->clear_command); in etna_blit_clear_zs_rs()
413 surf->level->clear_value = new_clear_value; in etna_blit_clear_zs_rs()
414 resource_written(ctx, surf->base.texture); in etna_blit_clear_zs_rs()
415 etna_resource(surf->base.texture)->seqno++; in etna_blit_clear_zs_rs()
434 struct etna_surface *surf = etna_surface(ctx->framebuffer_s.cbufs[0]); in etna_clear_rs() local
435 if (surf->surf.ts_size) in etna_clear_rs()
439 struct etna_surface *surf = etna_surface(ctx->framebuffer_s.zsbuf); in etna_clear_rs() local
441 if (surf->surf.ts_size) in etna_clear_rs()