Merge branch '7.8'
[mesa.git] / src / gallium / drivers / nouveau / nouveau_screen.h
index ebfc67ad1c171dda2ba601260b663a47a53b2a06..f4a7a2bc234cce2715eb29f14a2034330a317ef0 100644 (file)
@@ -5,6 +5,21 @@ struct nouveau_screen {
        struct pipe_screen base;
        struct nouveau_device *device;
        struct nouveau_channel *channel;
+
+        /**
+         * 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 *stride,
+                                                 struct pipe_buffer *buffer);
+
+       int (*pre_pipebuffer_map_callback) (struct pipe_screen *pscreen,
+               struct pipe_buffer *pb, unsigned usage);
 };
 
 static inline struct nouveau_screen *