aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe/p_screen.h
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2012-09-16 19:40:13 -0600
committerBrian Paul <[email protected]>2012-09-17 19:49:27 -0600
commitbd8b43a9f467a244ac75dcbf13f162793ccc5f6e (patch)
treefc4c5bb9fb01f735464fd42d2508f6dde4a24ad8 /src/gallium/include/pipe/p_screen.h
parenta0fc7620f5e8bdfcda07f920db560e5a17535e31 (diff)
gallium: add new pipe_screen::can_create_resource() function
Used 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. Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/include/pipe/p_screen.h')
-rw-r--r--src/gallium/include/pipe/p_screen.h8
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 fdf6fa2d3f9..dff503676f8 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 if we can actually create the given resource (test the dimension,
+ * overall size, etc). Used to implement proxy textures.
+ * \return TRUE if size is OK, FALSE if too large.
+ */
+ boolean (*can_create_resource)(struct pipe_screen *screen,
+ const struct pipe_resource *templat);
+
+ /**
* Create a new texture object, using the given template info.
*/
struct pipe_resource * (*resource_create)(struct pipe_screen *,