Home | History | Annotate | Download | only in r600

Lines Matching refs:info

335 				   const struct pipe_resolve_info *info)
338 struct r600_texture *rsrc = (struct r600_texture*)info->src.res;
344 if (!r600_init_flushed_depth_texture(ctx, info->src.res, NULL))
350 info->src.layer, info->src.layer,
356 info->src.layer, info->src.layer);
360 u_box_2d(info->src.x0,
361 info->src.y0,
362 info->src.x1 - info->src.x0,
363 info->src.y1 - info->src.y0, &box);
366 util_blitter_default_dst_texture(&dst_templ, info->dst.res,
367 info->dst.level, info->dst.layer, &box);
368 dst_view = ctx->create_surface(ctx, info->dst.res, &dst_templ);
371 util_blitter_default_src_texture(&src_templ, info->src.res, 0);
372 src_view = ctx->create_sampler_view(ctx, info->src.res, &src_templ);
376 util_blitter_copy_texture_view(rctx->blitter, dst_view, ~0, info->dst.x0,
377 info->dst.y0, src_view, 0, &box,
378 info->src.res->width0, info->src.res->height0,
379 info->mask);
386 static boolean is_simple_resolve(const struct pipe_resolve_info *info)
388 unsigned dst_width = u_minify(info->dst.res->width0, info->dst.level);
389 unsigned dst_height = u_minify(info->dst.res->height0, info->dst.level);
390 struct r600_texture *dst = (struct r600_texture*)info->dst.res;
391 unsigned dst_tile_mode = dst->surface.level[info->dst.level].mode;
393 return info->dst.res->format == info->src.res->format &&
394 dst_width == info->src.res->width0 &&
395 dst_height == info->src.res->height0 &&
396 info->dst.x0 == 0 &&
397 info->dst.y0 == 0 &&
398 info->dst.x1 == dst_width &&
399 info->dst.y1 == dst_height &&
400 info->src.x0 == 0 &&
401 info->src.y0 == 0 &&
402 info->src.x1 == dst_width &&
403 info->src.y1 == dst_height &&
410 const struct pipe_resolve_info *info)
417 rctx->chip_class == CAYMAN ? ~0 : ((1ull << MAX2(1, info->src.res->nr_samples)) - 1);
419 assert((info->mask & PIPE_MASK_RGBA) == PIPE_MASK_RGBA);
421 if (is_simple_resolve(info)) {
424 info->dst.res, info->dst.level, info->dst.layer,
425 info->src.res, info->src.layer,
433 templ.format = info->src.res->format;
434 templ.width0 = info->src.res->width0;
435 templ.height0 = info->src.res->height0;
450 info->src.res, info->src.layer,
455 u_box_2d(info->src.x0,
456 info->src.y0,
457 info->src.x1 - info->src.x0,
458 info->src.y1 - info->src.y0, &box);
461 util_blitter_copy_texture(rctx->blitter, info->dst.res, info->dst.level,
462 ~0, info->dst.x0, info->dst.y0, info->dst.layer,
470 const struct pipe_resolve_info *info)
473 assert(info->src.res->nr_samples > 1);
474 assert(info
477 assert(info->src.res->last_level == 0);
478 assert(info->src.res->target == PIPE_TEXTURE_2D ||
479 info->src.res->target == PIPE_TEXTURE_2D_ARRAY);
482 assert(info->dst.x0 < info->dst.x1);
483 assert(info->dst.y0 < info->dst.y1);
486 assert(abs(info->dst.x0 - info->dst.x1) ==
487 abs(info->src.x0 - info->src.x1));
488 assert(abs(info->dst.y0 - info->dst.y1) ==
489 abs(info->src.y0 - info->src.y1));
491 if ((info->mask & PIPE_MASK_ZS) ||
492 util_format_is_pure_integer(info->src.res->format)) {
493 r600_copy_first_sample(ctx, info);
495 r600_color_resolve(ctx, info);