Lines Matching defs:control_frame

137 struct control_frame
2681 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2686 shader_addline(buffer, "BRA loop_%u_end (LE.x);\n", control_frame->no.loop);
2687 shader_addline(buffer, "loop_%u_start:\n", control_frame->no.loop);
2708 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2713 shader_addline(buffer, "BRA loop_%u_end (LE.x);\n", control_frame->no.loop);
2714 shader_addline(buffer, "loop_%u_start:\n", control_frame->no.loop);
2731 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2734 shader_addline(buffer, "BRA loop_%u_start (GT.x);\n", control_frame->no.loop);
2735 shader_addline(buffer, "loop_%u_end:\n", control_frame->no.loop);
2754 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2757 shader_addline(buffer, "BRA loop_%u_start (GT.x);\n", control_frame->no.loop);
2758 shader_addline(buffer, "loop_%u_end:\n", control_frame->no.loop);
2768 static const struct control_frame *find_last_loop(const struct shader_arb_ctx_priv *priv)
2770 struct control_frame *control_frame;
2772 LIST_FOR_EACH_ENTRY(control_frame, &priv->control_frames, struct control_frame, entry)
2774 if(control_frame->type == LOOP || control_frame->type == REP) return control_frame;
2783 const struct control_frame *control_frame = find_last_loop(ins->ctx->backend_data);
2788 shader_addline(buffer, "BRA loop_%u_end;\n", control_frame->no.loop);
2832 const struct control_frame *control_frame = find_last_loop(ins->ctx->backend_data);
2846 shader_addline(buffer, "BRA loop_%u_end (%s.x);\n", control_frame->no.loop, comp);
2860 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2874 shader_addline(buffer, "BRA ifc_%u_else (%s.x);\n", control_frame->no.ifc, comp);
2889 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2894 shader_addline(buffer, "BRA ifc_%u_endif;\n", control_frame->no.ifc);
2895 shader_addline(buffer, "ifc_%u_else:\n", control_frame->no.ifc);
2896 control_frame->had_else = TRUE;
2909 struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
2914 if(control_frame->had_else)
2916 shader_addline(buffer, "ifc_%u_endif:\n", control_frame->no.ifc);
2921 shader_addline(buffer, "ifc_%u_else:\n", control_frame->no.ifc);
5018 struct control_frame *control_frame;
5024 control_frame = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*control_frame));
5025 list_add_head(&priv->control_frames, &control_frame->entry);
5027 if(ins->handler_idx == WINED3DSIH_LOOP) control_frame->type = LOOP;
5028 if(ins->handler_idx == WINED3DSIH_REP) control_frame->type = REP;
5032 control_frame->no.loop = priv->num_loops++;
5047 control_frame->outer_loop = TRUE;
5048 get_loop_control_const(ins, This, ins->src[0].reg.idx, &control_frame->loop_control);
5063 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5064 list_remove(&control_frame->entry);
5066 if(control_frame->outer_loop)
5085 control_frame->loop_control.count, control_frame->loop_control.start,
5086 control_frame->loop_control.step);
5087 aL = control_frame->loop_control.start;
5091 shader_addline(buffer, "#unrolling rep: %u iterations\n", control_frame->loop_control.count);
5094 for (iteration = 0; iteration < control_frame->loop_control.count; ++iteration)
5114 aL += control_frame->loop_control.step;
5120 HeapFree(GetProcessHeap(), 0, control_frame);
5126 HeapFree(GetProcessHeap(), 0, control_frame);
5140 control_frame = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*control_frame));
5141 list_add_head(&priv->control_frames, &control_frame->entry);
5142 control_frame->type = IF;
5150 control_frame->muting = TRUE;
5159 control_frame = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*control_frame));
5160 control_frame->type = IFC;
5161 control_frame->no.ifc = priv->num_ifcs++;
5162 list_add_head(&priv->control_frames, &control_frame->entry);
5167 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5169 if(control_frame->type == IF)
5172 if(!priv->muted && !control_frame->muting)
5175 control_frame->muting = TRUE;
5177 else if(control_frame->muting) priv->muted = FALSE;
5185 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5187 if(control_frame->type == IF)
5190 if(control_frame->muting) priv->muted = FALSE;
5191 list_remove(&control_frame->entry);
5192 HeapFree(GetProcessHeap(), 0, control_frame);
5213 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5214 list_remove(&control_frame->entry);
5215 HeapFree(GetProcessHeap(), 0, control_frame);
5222 control_frame = LIST_ENTRY(e, struct control_frame, entry);
5223 list_remove(&control_frame->entry);
5224 HeapFree(GetProcessHeap(), 0, control_frame);