From: José Fonseca Date: Tue, 6 May 2008 05:57:18 +0000 (+0900) Subject: gallium: New pipe_screen interface to overlay a texture on existing memory. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6361d6f48d13ce481253faf106fba5c6a41488ed;p=mesa.git gallium: New pipe_screen interface to overlay a texture on existing memory. --- diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index c080579c26e..cc8430dae16 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -89,6 +89,18 @@ struct pipe_screen { struct pipe_texture * (*texture_create)(struct pipe_screen *, const struct pipe_texture *templat); + /** + * Create a new texture object, using the given template info, but on top of + * existing memory. + * + * It is assumed that the buffer data is layed out according to the expected + * by the hardware. NULL will be returned if any inconsistency is found. + */ + struct pipe_texture * (*texture_blanket)(struct pipe_screen *, + const struct pipe_texture *templat, + const unsigned *pitch, + struct pipe_buffer *buffer); + void (*texture_release)(struct pipe_screen *, struct pipe_texture **pt);