On Sun, 2009-11-01 at 15:28 -0800, Younes Manton wrote:
> Module: Mesa
> Branch: master
> Commit: 87d7c1aa15a944d64e43b217e18553256f9fb681
> URL:    
> http://cgit.freedesktop.org/mesa/mesa/commit/?id=87d7c1aa15a944d64e43b217e18553256f9fb681
> 
> Author: Younes Manton <[email protected]>
> Date:   Sun Nov  1 18:25:59 2009 -0500
> 
> nouveau: Assume all texture blankets are linear for now.
I suggest perhaps "abusing" bo->tile_mode to store this info instead?
It'll accept values from 0-4 with the current DRM, and have no effect on
anything else on <G8x chips.

The DRM will pass this info along to any other client who references the
buffer, and you won't have to guess.

Ben.
> 
> ---
> 
>  src/gallium/drivers/nv30/nv30_miptree.c            |    3 +++
>  src/gallium/drivers/nv40/nv40_miptree.c            |    3 +++
>  .../winsys/drm/nouveau/drm/nouveau_drm_api.c       |    3 +--
>  3 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/drivers/nv30/nv30_miptree.c 
> b/src/gallium/drivers/nv30/nv30_miptree.c
> index 17acca6..280696d 100644
> --- a/src/gallium/drivers/nv30/nv30_miptree.c
> +++ b/src/gallium/drivers/nv30/nv30_miptree.c
> @@ -147,6 +147,9 @@ nv30_miptree_blanket(struct pipe_screen *pscreen, const 
> struct pipe_texture *pt,
>       mt->level[0].pitch = stride[0];
>       mt->level[0].image_offset = CALLOC(1, sizeof(unsigned));
>  
> +     /* Assume whoever created this buffer expects it to be linear for now */
> +     mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
> +
>       pipe_buffer_reference(&mt->buffer, pb);
>       return &mt->base;
>  }
> diff --git a/src/gallium/drivers/nv40/nv40_miptree.c 
> b/src/gallium/drivers/nv40/nv40_miptree.c
> index 5a201cc..465dd3b 100644
> --- a/src/gallium/drivers/nv40/nv40_miptree.c
> +++ b/src/gallium/drivers/nv40/nv40_miptree.c
> @@ -141,6 +141,9 @@ nv40_miptree_blanket(struct pipe_screen *pscreen, const 
> struct pipe_texture *pt,
>       mt->level[0].pitch = stride[0];
>       mt->level[0].image_offset = CALLOC(1, sizeof(unsigned));
>  
> +     /* Assume whoever created this buffer expects it to be linear for now */
> +     mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
> +
>       pipe_buffer_reference(&mt->buffer, pb);
>       return &mt->base;
>  }
> diff --git a/src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c 
> b/src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
> index f512c0e..317dc44 100644
> --- a/src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
> +++ b/src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
> @@ -21,8 +21,7 @@ dri_surface_from_handle(struct drm_api *api, struct 
> pipe_screen *pscreen,
>       struct pipe_texture tmpl;
>  
>       memset(&tmpl, 0, sizeof(tmpl));
> -     tmpl.tex_usage = PIPE_TEXTURE_USAGE_PRIMARY |
> -                      NOUVEAU_TEXTURE_USAGE_LINEAR;
> +     tmpl.tex_usage = PIPE_TEXTURE_USAGE_PRIMARY;
>       tmpl.target = PIPE_TEXTURE_2D;
>       tmpl.last_level = 0;
>       tmpl.depth[0] = 1;
> 
> _______________________________________________
> mesa-commit mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/mesa-commit


_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to