diff options
| author | Patrice Mandin <patmandin@gmail.com> | 2009-03-04 20:34:54 +0100 | 
|---|---|---|
| committer | Patrice Mandin <patmandin@gmail.com> | 2009-03-04 20:34:54 +0100 | 
| commit | 69e42ec4568e824bf16271830751436afb2e8ef9 (patch) | |
| tree | 9a31251c984df4a615a9ab7ea45a6c708b4b35f1 | |
| parent | 368ca83a3fdfbe8dfe591ab73d29c500d1a91c0a (diff) | |
nouveau: Use proper SIFM object on NV30
| -rw-r--r-- | src/gallium/drivers/nv04/nv04_surface_2d.c | 16 | 
1 files 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); | 
