[Mesa-dev] [PATCH 1/4] gallium: add new pipe_screen::legal_resource_size() function

Brian Paul brian.e.paul at gmail.com
Sun Sep 16 18:53:53 PDT 2012


From: Brian Paul <brianp at vmware.com>

To implement proxy textures.  If a gallium driver doesn't implement
this function we'll just continue to use the core Mesa fallback code.

Without this hook we really have no good way to implement OpenGL proxy
textures with gallium drivers.
---
 src/gallium/include/pipe/p_screen.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h
index fdf6fa2..718a72b 100644
--- a/src/gallium/include/pipe/p_screen.h
+++ b/src/gallium/include/pipe/p_screen.h
@@ -138,6 +138,14 @@ struct pipe_screen {
                                          enum pipe_video_profile profile );
 
    /**
+    * Check the size of the resource/texture given by 'res'.
+    * Used to implement proxy textures.
+    * \return TRUE if size is OK, FALSE if too large.
+    */
+   boolean (*legal_resource_size)(struct pipe_screen *screen,
+                                  const struct pipe_resource *res);
+                               
+   /**
     * Create a new texture object, using the given template info.
     */
    struct pipe_resource * (*resource_create)(struct pipe_screen *,
-- 
1.7.4.1



More information about the mesa-dev mailing list