diff options
-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) { |