Lines Matching defs:control_frame

163 struct control_frame
2873 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2878 shader_addline(buffer, "BRA loop_%u_end (LE.x);\n", control_frame->no.loop);
2879 shader_addline(buffer, "loop_%u_start:\n", control_frame->no.loop);
2900 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2905 shader_addline(buffer, "BRA loop_%u_end (LE.x);\n", control_frame->no.loop);
2906 shader_addline(buffer, "loop_%u_start:\n", control_frame->no.loop);
2923 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2926 shader_addline(buffer, "BRA loop_%u_start (GT.x);\n", control_frame->no.loop);
2927 shader_addline(buffer, "loop_%u_end:\n", control_frame->no.loop);
2946 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2949 shader_addline(buffer, "BRA loop_%u_start (GT.x);\n", control_frame->no.loop);
2950 shader_addline(buffer, "loop_%u_end:\n", control_frame->no.loop);
2960 static const struct control_frame *find_last_loop(const struct shader_arb_ctx_priv *priv)
2962 struct control_frame *control_frame;
2964 LIST_FOR_EACH_ENTRY(control_frame, &priv->control_frames, struct control_frame, entry)
2966 if(control_frame->type == LOOP || control_frame->type == REP) return control_frame;
2975 const struct control_frame *control_frame = find_last_loop(ins->ctx->backend_data);
2980 shader_addline(buffer, "BRA loop_%u_end;\n", control_frame->no.loop);
3024 const struct control_frame *control_frame = find_last_loop(ins->ctx->backend_data);
3038 shader_addline(buffer, "BRA loop_%u_end (%s.x);\n", control_frame->no.loop, comp);
3052 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
3066 shader_addline(buffer, "BRA ifc_%u_else (%s.x);\n", control_frame->no.ifc, comp);
3081 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
3086 shader_addline(buffer, "BRA ifc_%u_endif;\n", control_frame->no.ifc);
3087 shader_addline(buffer, "ifc_%u_else:\n", control_frame->no.ifc);
3088 control_frame->had_else = TRUE;
3101 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
3106 if(control_frame->had_else)
3108 shader_addline(buffer, "ifc_%u_endif:\n", control_frame->no.ifc);
3113 shader_addline(buffer, "ifc_%u_else:\n", control_frame->no.ifc);
5466 struct control_frame *control_frame;
5471 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5472 list_remove(&control_frame->entry);
5473 HeapFree(GetProcessHeap(), 0, control_frame);
5480 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5481 list_remove(&control_frame->entry);
5482 HeapFree(GetProcessHeap(), 0, control_frame);
5490 struct control_frame *control_frame;
5496 control_frame = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*control_frame));
5497 list_add_head(&priv->control_frames, &control_frame->entry);
5499 if(ins->handler_idx == WINED3DSIH_LOOP) control_frame->type = LOOP;
5500 if(ins->handler_idx == WINED3DSIH_REP) control_frame->type = REP;
5504 control_frame->no.loop = priv->num_loops++;
5519 control_frame->outer_loop = TRUE;
5520 get_loop_control_const(ins, shader, ins->src[0].reg.idx[0].offset, &control_frame->loop_control);
5535 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5536 list_remove(&control_frame->entry);
5538 if(control_frame->outer_loop)
5558 control_frame->loop_control.count, control_frame->loop_control.start,
5559 control_frame->loop_control.step);
5560 aL = control_frame->loop_control.start;
5564 shader_addline(buffer, "#unrolling rep: %u iterations\n", control_frame->loop_control.count);
5567 for (iteration = 0; iteration < control_frame->loop_control.count; ++iteration)
5587 aL += control_frame->loop_control.step;
5593 HeapFree(GetProcessHeap(), 0, control_frame);
5599 HeapFree(GetProcessHeap(), 0, control_frame);
5613 control_frame = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*control_frame));
5614 list_add_head(&priv->control_frames, &control_frame->entry);
5615 control_frame->type = IF;
5624 control_frame->muting = TRUE;
5633 control_frame = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*control_frame));
5634 control_frame->type = IFC;
5635 control_frame->no.ifc = priv->num_ifcs++;
5636 list_add_head(&priv->control_frames, &control_frame->entry);
5641 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5643 if(control_frame->type == IF)
5646 if(!priv->muted && !control_frame->muting)
5649 control_frame->muting = TRUE;
5651 else if(control_frame->muting) priv->muted = FALSE;
5655 if (control_frame->type != IFC)
5661 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5663 if(control_frame->type == IF)
5666 if(control_frame->muting) priv->muted = FALSE;
5667 list_remove(&control_frame->entry);
5668 HeapFree(GetProcessHeap(), 0, control_frame);
5672 if (control_frame->type != IFC)