nv50/ir: fix constant folding for OP_MUL subop HIGH
[mesa.git] / src / gallium / drivers / nouveau / nv50 / nv98_video_vp.c
index 9b756ea73f56085dbf69160affd48d207b7e6b11..9cdb40ba025c7adc8fec7a1cb54c1be6ff1bc190 100644 (file)
@@ -39,7 +39,7 @@ static void dump_comm_vp(struct nouveau_vp3_decoder *dec, struct comm *comm, u32
                debug_printf("parse_endpos[%i] = { @ %08x}\n", i, comm->parse_endpos[i]);
 #endif
        debug_printf("mb_y = %u\n", comm->mb_y[idx]);
-       if (comm->status_vp[idx] == 1)
+       if (comm->status_vp[idx] <= 1)
                return;
 
        if ((comm->pvp_stage & 0xff) != 0xff) {
@@ -112,7 +112,7 @@ nv98_decoder_vp(struct nouveau_vp3_decoder *dec, union pipe_desc desc,
       else
          pic_addr[i] = null_addr;
    }
-   if (!is_ref)
+   if (!is_ref && (dec->refs[target->valid_ref].decoded_top && dec->refs[target->valid_ref].decoded_bottom))
       nv98_decoder_kick_ref(dec, target);
 
    nouveau_pushbuf_space(push, 8 + 3 * (codec != PIPE_VIDEO_FORMAT_MPEG12) +