[Mesa-dev] [PATCH 1/4] gallium: add new pipe_screen::legal_resource_size() function
Jose Fonseca
jfonseca at vmware.com
Mon Sep 17 03:16:06 PDT 2012
----- Original Message -----
> 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.
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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list