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
