/* Optimal hardware path for blitting pixels.
 * Scaling, format conversion, up- and downsampling (resolve) are allowed.
 */
static void
vc4_blit(struct pipe_context *pctx, const struct pipe_blit_info *blit_info)
{
    struct pipe_blit_info info = *blit_info;

    if (info.src.resource->nr_samples > 1 &&
            info.dst.resource->nr_samples <= 1 &&
            !util_format_is_depth_or_stencil(info.src.resource->format) &&
            !util_format_is_pure_integer(info.src.resource->format)) {
        fprintf(stderr, "color resolve unimplemented");
        return;
    }

    if (util_try_blit_via_copy_region(pctx, &info)) {
        return; /* done */
    }

    if (info.mask & PIPE_MASK_S) {
        fprintf(stderr, "cannot blit stencil, skipping");
        info.mask &= ~PIPE_MASK_S;
    }

    render_blit(pctx, &info);
}
Exemple #2
0
	void render(){
		render_scene();
		render_blur();
		render_blit();
	}