+identity_resource_copy_region(struct pipe_context *_pipe,
+ struct pipe_resource *_dst,
+ unsigned dst_level,
+ unsigned dstx,
+ unsigned dsty,
+ unsigned dstz,
+ struct pipe_resource *_src,
+ unsigned src_level,
+ const struct pipe_box *src_box)
+{
+ struct identity_context *id_pipe = identity_context(_pipe);
+ struct identity_resource *id_resource_dst = identity_resource(_dst);
+ struct identity_resource *id_resource_src = identity_resource(_src);
+ struct pipe_context *pipe = id_pipe->pipe;
+ struct pipe_resource *dst = id_resource_dst->resource;
+ struct pipe_resource *src = id_resource_src->resource;
+
+ pipe->resource_copy_region(pipe,
+ dst,
+ dst_level,
+ dstx,
+ dsty,
+ dstz,
+ src,
+ src_level,
+ src_box);
+}
+
+static void
+identity_blit(struct pipe_context *_pipe,
+ const struct pipe_blit_info *info)
+{
+ struct identity_context *id_pipe = identity_context(_pipe);
+ struct pipe_context *pipe = id_pipe->pipe;
+ struct pipe_blit_info blit = *info;
+
+ blit.src.resource = identity_resource(blit.src.resource)->resource;
+ blit.dst.resource = identity_resource(blit.dst.resource)->resource;
+
+ pipe->blit(pipe, &blit);
+}
+
+static void
+identity_flush_resource(struct pipe_context *_pipe,
+ struct pipe_resource *resource)