nv50: support TGSI_OPCODE_CONT
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>
Thu, 24 Dec 2009 12:35:55 +0000 (13:35 +0100)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Thu, 24 Dec 2009 12:36:54 +0000 (13:36 +0100)
src/gallium/drivers/nv50/nv50_program.c
src/gallium/drivers/nv50/nv50_screen.c

index ce3fa5fc88b6b37ea7baaceadc200871749f00b6..a101ac095c270991d9ebdbc2979eed427a232717 100644 (file)
@@ -2241,6 +2241,11 @@ nv50_program_tx_insn(struct nv50_pc *pc,
                        set_pred(pc, 0x6, 1, pc->p->exec_tail); /* @NSF */
                }
                break;
+       case TGSI_OPCODE_CONT:
+               assert(pc->loop_lvl > 0);
+               emit_branch(pc, -1, 0)->param.index =
+                       pc->loop_pos[pc->loop_lvl - 1];
+               break;
        case TGSI_OPCODE_COS:
                if (mask & 8) {
                        emit_precossin(pc, temp, src[0][3]);
index 2435f65ed2594191fb3577c4221598a3d46a3402..5a1efd3998bc2fed34237ae18bc98c9df67576b2 100644 (file)
@@ -128,7 +128,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, int param)
        case PIPE_CAP_TEXTURE_MIRROR_REPEAT:
                return 1;
        case PIPE_CAP_TGSI_CONT_SUPPORTED:
-               return 0;
+               return 1;
        case PIPE_CAP_BLEND_EQUATION_SEPARATE:
                return 1;
        case NOUVEAU_CAP_HW_VTXBUF: