mojoshader.c
branchtrunk
changeset 133 a2e9b4314286
parent 132 771666af0fa6
child 134 205c793ecf3e
equal deleted inserted replaced
132:771666af0fa6 133:a2e9b4314286
  2347 
  2347 
  2348 static void emit_GLSL_LOOP(Context *ctx)
  2348 static void emit_GLSL_LOOP(Context *ctx)
  2349 {
  2349 {
  2350     const char *varname = get_GLSL_sourcearg_varname(ctx, 1);
  2350     const char *varname = get_GLSL_sourcearg_varname(ctx, 1);
  2351     assert(ctx->source_args[0].regnum == 0);  // in case they add aL1 someday.
  2351     assert(ctx->source_args[0].regnum == 0);  // in case they add aL1 someday.
  2352     output_line(ctx, "for (int aL = %s.y, const int aLend = %s.x+%s.y; aL < aLend; aL += %s.z) {",
  2352     output_line(ctx, "{");
  2353                 varname, varname, varname, varname);
  2353     ctx->indent++;
       
  2354     output_line(ctx, "const int aLend = %s.x+%s.y;", varname, varname);
       
  2355     output_line(ctx, "for (int aL = %s.y; aL < aLend; aL += %s.z) {",
       
  2356                 varname, varname);
  2354     ctx->indent++;
  2357     ctx->indent++;
  2355 } // emit_GLSL_LOOP
  2358 } // emit_GLSL_LOOP
  2356 
  2359 
  2357 static void emit_GLSL_RET(Context *ctx)
  2360 static void emit_GLSL_RET(Context *ctx)
  2358 {
  2361 {
  2365     ctx->output = &ctx->subroutines;
  2368     ctx->output = &ctx->subroutines;
  2366 } // emit_GLSL_RET
  2369 } // emit_GLSL_RET
  2367 
  2370 
  2368 static void emit_GLSL_ENDLOOP(Context *ctx)
  2371 static void emit_GLSL_ENDLOOP(Context *ctx)
  2369 {
  2372 {
       
  2373     ctx->indent--;
       
  2374     output_line(ctx, "}");
  2370     ctx->indent--;
  2375     ctx->indent--;
  2371     output_line(ctx, "}");
  2376     output_line(ctx, "}");
  2372 } // emit_GLSL_ENDLOOP
  2377 } // emit_GLSL_ENDLOOP
  2373 
  2378 
  2374 static void emit_GLSL_LABEL(Context *ctx)
  2379 static void emit_GLSL_LABEL(Context *ctx)