diff options
Diffstat (limited to 'libdrm')
| -rw-r--r-- | libdrm/nouveau/nouveau_pushbuf.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/libdrm/nouveau/nouveau_pushbuf.c b/libdrm/nouveau/nouveau_pushbuf.c index df43effc..90250c02 100644 --- a/libdrm/nouveau/nouveau_pushbuf.c +++ b/libdrm/nouveau/nouveau_pushbuf.c @@ -87,8 +87,12 @@ nouveau_pushbuf_emit_reloc(struct nouveau_channel *chan, void *ptr,  		domains |= NOUVEAU_GEM_DOMAIN_VRAM;  	if (flags & NOUVEAU_BO_GART)  		domains |= NOUVEAU_GEM_DOMAIN_GART; + +	if (!(pbbo->valid_domains & domains)) { +		fprintf(stderr, "no valid domains remain!\n"); +		return -EINVAL; +	}  	pbbo->valid_domains &= domains; -	assert(pbbo->valid_domains);  	assert(flags & NOUVEAU_BO_RDWR);  	if (flags & NOUVEAU_BO_RD) { | 
