----- Original Message ----- > From: Brian Paul <bri...@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.
Brian, This interface seems a good thing to add. A just have a few suggestion/remarks below. > --- > 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, I think the name would benefit from a verb somewhere in it, e.g., is_resource_size_legal. I suspect this function will check more than size (e.g., number of samples, format). If so, then I'd suggest a more generic name, such as, "can_create_resource". Also, shouldn't this interface return an enum (e.g., pipe_error), so that one can distinguish between "can't create a texture because not enough memory now", vs "can't create this texture ever because of HW limitations", or is such distinction useless for GL proxy textures? > + const struct pipe_resource *res); IIUC "res" is not a real resource but rather a template for a resource. If so, then it should be named "templat" for consistency. Jose > + > + /** > * Create a new texture object, using the given template info. > */ > struct pipe_resource * (*resource_create)(struct pipe_screen *, > -- > 1.7.4.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev