Lines Matching refs:fc_sp
4995 static void fc_set_mid(struct r600_shader_ctx *ctx, int fc_sp)
4997 struct r600_cf_stack_entry *sp = &ctx->bc->fc_stack[fc_sp];
5007 ctx->bc->fc_sp++;
5008 ctx->bc->fc_stack[ctx->bc->fc_sp].type = type;
5009 ctx->bc->fc_stack[ctx->bc->fc_sp].start = ctx->bc->cf_last;
5014 struct r600_cf_stack_entry *sp = &ctx->bc->fc_stack[ctx->bc->fc_sp];
5022 ctx->bc->fc_sp--;
5060 static void break_loop_on_flag(struct r600_shader_ctx *ctx, unsigned fc_sp)
5067 fc_set_mid(ctx, fc_sp);
5090 fc_set_mid(ctx, ctx->bc->fc_sp);
5091 ctx->bc->fc_stack[ctx->bc->fc_sp].start->cf_addr = ctx->bc->cf_last->id;
5098 if (ctx->bc->fc_stack[ctx->bc->fc_sp].type != FC_IF) {
5103 if (ctx->bc->fc_stack[ctx->bc->fc_sp].mid == NULL) {
5104 ctx->bc->fc_stack[ctx->bc->fc_sp].start->cf_addr = ctx->bc->cf_last->id + 2;
5105 ctx->bc->fc_stack[ctx->bc->fc_sp].start->pop_count = 1;
5107 ctx->bc->fc_stack[ctx->bc->fc_sp].mid[0]->cf_addr = ctx->bc->cf_last->id + 2;
5134 if (ctx->bc->fc_stack[ctx->bc->fc_sp].type != FC_LOOP) {
5144 ctx->bc->cf_last->cf_addr = ctx->bc->fc_stack[ctx->bc->fc_sp].start->id + 2;
5146 ctx->bc->fc_stack[ctx->bc->fc_sp].start->cf_addr = ctx->bc->cf_last->id + 2;
5148 for (i = 0; i < ctx->bc->fc_stack[ctx->bc->fc_sp].num_mid; i++) {
5149 ctx->bc->fc_stack[ctx->bc->fc_sp].mid[i]->cf_addr = ctx->bc->cf_last->id;
5161 for (fscp = ctx->bc->fc_sp; fscp > 0; fscp--)