From 69e42ec4568e824bf16271830751436afb2e8ef9 Mon Sep 17 00:00:00 2001 From: Patrice Mandin Date: Wed, 4 Mar 2009 20:34:54 +0100 Subject: nouveau: Use proper SIFM object on NV30 --- src/gallium/drivers/nv04/nv04_surface_2d.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/nv04/nv04_surface_2d.c b/src/gallium/drivers/nv04/nv04_surface_2d.c index e8fd3166ab..3c8257ad25 100644 --- a/src/gallium/drivers/nv04/nv04_surface_2d.c +++ b/src/gallium/drivers/nv04/nv04_surface_2d.c @@ -437,13 +437,17 @@ nv04_surface_2d_init(struct nouveau_winsys *nvws) return NULL; } - if (chan->device->chipset < 0x10) { - class = NV04_SCALED_IMAGE_FROM_MEMORY; - } else - if (chan->device->chipset < 0x40) { - class = NV10_SCALED_IMAGE_FROM_MEMORY; - } else { + switch (chan->device->chipset & 0xf0) { + case 0x30: + class = NV30_SCALED_IMAGE_FROM_MEMORY; + break; + case 0x40: + case 0x60: class = NV40_SCALED_IMAGE_FROM_MEMORY; + break; + default: + class = NV04_SCALED_IMAGE_FROM_MEMORY; + break; } ret = nouveau_grobj_alloc(chan, handle++, class, &ctx->sifm); -- cgit v1.2.3