Ilia Mirkin
2014-Mar-05 10:37 UTC
[Nouveau] [PATCH] nv50, nvc0: choose storage type after ms has been initialized
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
Noticed by inspection, untested. Would be interesting to see if this fixes
anything.
src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 4 ++--
src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
index 513d8f9..6c6ef4e 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c
@@ -329,13 +329,13 @@ nv50_miptree_create(struct pipe_screen *pscreen,
if (pt->bind & PIPE_BIND_LINEAR)
pt->flags |= NOUVEAU_RESOURCE_FLAG_LINEAR;
- bo_config.nv50.memtype = nv50_mt_choose_storage_type(mt, TRUE);
-
if (!nv50_miptree_init_ms_mode(mt)) {
FREE(mt);
return NULL;
}
+ bo_config.nv50.memtype = nv50_mt_choose_storage_type(mt, TRUE);
+
if (unlikely(pt->flags & NV50_RESOURCE_FLAG_VIDEO)) {
nv50_miptree_init_layout_video(mt);
if (pt->flags & NV50_RESOURCE_FLAG_NOALLOC) {
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c
b/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c
index 79c9390..59b9028 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c
@@ -277,13 +277,13 @@ nvc0_miptree_create(struct pipe_screen *pscreen,
if (pt->bind & PIPE_BIND_LINEAR)
pt->flags |= NOUVEAU_RESOURCE_FLAG_LINEAR;
- bo_config.nvc0.memtype = nvc0_mt_choose_storage_type(mt, compressed);
-
if (!nvc0_miptree_init_ms_mode(mt)) {
FREE(mt);
return NULL;
}
+ bo_config.nvc0.memtype = nvc0_mt_choose_storage_type(mt, compressed);
+
if (unlikely(pt->flags & NVC0_RESOURCE_FLAG_VIDEO)) {
nvc0_miptree_init_layout_video(mt);
} else
--
1.8.3.2
Ilia Mirkin
2014-Mar-05 18:26 UTC
[Nouveau] [PATCH] nv50, nvc0: choose storage type after ms has been initialized
On Wed, Mar 5, 2014 at 5:37 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> > --- > > Noticed by inspection, untested. Would be interesting to see if this fixes > anything.I noticed that the nvc0 bit is bogus -- mt->ms_x/y aren't used to determine ms there (it does log2(samples) directly). Emil tested this out on nv96, and it looks like it started throwing a RT_STORAGE_TYPE_MISMATCH trap for a few tests. I'll investigate... but as is, we're always using the *_MS1 storage type on nv50+. Withdrawn for now.> > src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 4 ++-- > src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c > index 513d8f9..6c6ef4e 100644 > --- a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c > +++ b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c > @@ -329,13 +329,13 @@ nv50_miptree_create(struct pipe_screen *pscreen, > if (pt->bind & PIPE_BIND_LINEAR) > pt->flags |= NOUVEAU_RESOURCE_FLAG_LINEAR; > > - bo_config.nv50.memtype = nv50_mt_choose_storage_type(mt, TRUE); > - > if (!nv50_miptree_init_ms_mode(mt)) { > FREE(mt); > return NULL; > } > > + bo_config.nv50.memtype = nv50_mt_choose_storage_type(mt, TRUE); > + > if (unlikely(pt->flags & NV50_RESOURCE_FLAG_VIDEO)) { > nv50_miptree_init_layout_video(mt); > if (pt->flags & NV50_RESOURCE_FLAG_NOALLOC) { > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c b/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c > index 79c9390..59b9028 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c > @@ -277,13 +277,13 @@ nvc0_miptree_create(struct pipe_screen *pscreen, > if (pt->bind & PIPE_BIND_LINEAR) > pt->flags |= NOUVEAU_RESOURCE_FLAG_LINEAR; > > - bo_config.nvc0.memtype = nvc0_mt_choose_storage_type(mt, compressed); > - > if (!nvc0_miptree_init_ms_mode(mt)) { > FREE(mt); > return NULL; > } > > + bo_config.nvc0.memtype = nvc0_mt_choose_storage_type(mt, compressed); > + > if (unlikely(pt->flags & NVC0_RESOURCE_FLAG_VIDEO)) { > nvc0_miptree_init_layout_video(mt); > } else > -- > 1.8.3.2 >