n constant buffers, each with a structurally rich payload — vectors, matrices, an array of a nested `Light` struct, a nested `Material` struct and a scalar array. This is the only workload with a large, deeply-typed shader *parameter interface* (every other workload's interface is a single RWStructuredBuffer), so it is the one stressor for the parameter binding / layout-assignment engine and — with `-reflection-json` (see the spec's reflection_json flag) — the reflection serializer, the layout/reflection path no other workload covers. Scales by breadth = number of parameter blocks the layout engine must place and reflect. Note: layout is computed during compileInner regardless of the flag (so compileInner is the holistic signal); -reflection-json additionally runs the serializer, which is cheap today but tracked here for regression coverage. Scaling null: n scales parameters; ideal layout cost is O(n).
bucket: reflection_layout · compile mode: target · flags: -target spirv -emit-spirv-directly · default N: 120
Full sub-counter decomposition of compileInner — named leaf timers plus (self) residuals (a parent's time not covered by a named child, e.g. the autodiff transform in linkAndOptimizeIR (self)). Topmost band traces compileInner; hover a band for its phase.
Overall compileInner: 192.2 → 181.2 ms -5.7% (2026-07-30 7c58a326b → 2026-08-29 28c755b09)
Contributors — the mutually-exclusive phase buckets (named leaves + (self) residuals) that tile compileInner; the pp column sums to the overall %. Buckets moving the total by ≥0.2% are listed, the rest fold into the remainder row. Below them, every other reported counter (nested/overlapping, e.g. serialized-module reads — own change only):
| counter | Δ | own % | of total |
|---|---|---|---|
| legalizeExistentialTypeLayout | -7.0 ms | -82.4% | -3.6pp |
| linkAndOptimizeIR (self) | -3.3 ms | -14.1% | -1.7pp |
| generateOutput (self) | -2.1 ms | -9.6% | -1.1pp |
| legalizeResourceTypes | -0.7 ms | -35.1% | -0.4pp |
| frontEndExecute (self) | +0.7 ms | +10.8% | +0.4pp |
| SemanticChecking | +0.7 ms | +0.9% | +0.4pp |
| compileInner (self) | +0.7 ms | +9.5% | +0.3pp |
| specializeModule | +0.4 ms | +10.2% | +0.2pp |
| (remaining 7 buckets) | -0.5 ms | – | -0.3pp |
| readSerializedModuleIR | -4.0 ms | -7.4% | – |
| readSerializedModuleAST | +3.0 ms | +9.6% | – |
Largest day steps (≥5% of the previous day, both directions; bisect with git log <c0>..<c1> -- source/):
| boundary | % vs prev day | commits | top buckets (own %) |
|---|---|---|---|
| 2026-08-04 → 2026-08-05 | -6.9% | 0864e60e6..ff45b15ed | legalizeExistentialTypeLayout -82%, linkAndOptimizeIR (self) -11%, generateOutput (self) -10% |
| 2026-08-06 → 2026-08-07 | -6.2% | 9eb90c50a..88fa1206d | SemanticChecking -10%, generateIR -14% |
| 2026-08-05 → 2026-08-06 | +5.2% | ff45b15ed..9eb90c50a | SemanticChecking +8%, generateIR +14% |
Run from the slang repo root. This regenerates the sources below and re-runs this workload's measurement; --gen-dir keeps the generated files (they go to a tempdir and are deleted otherwise).
python3 tools/compile-perf/bench.py --slangc /path/to/slangc --only reflection_layout --label repro --gen-dir repro-reflection_layout
the complete compiled source (N = 120), shown in full
// AUTO-GENERATED by perf-suite/workloads.py - do not edit by hand.
struct Light { float3 pos; float3 color; float intensity; float4x4 shadow; }
struct Material { float4 base; float metal; float rough; float2 uvScale; float3x3 tangent; }
cbuffer Params0 : register(b0)
{
float4 tint0;
float4x4 xform0;
Light lights0[4];
Material mat0;
float weights0[8];
}
cbuffer Params1 : register(b1)
{
float4 tint1;
float4x4 xform1;
Light lights1[4];
Material mat1;
float weights1[8];
}
cbuffer Params2 : register(b2)
{
float4 tint2;
float4x4 xform2;
Light lights2[4];
Material mat2;
float weights2[8];
}
cbuffer Params3 : register(b3)
{
float4 tint3;
float4x4 xform3;
Light lights3[4];
Material mat3;
float weights3[8];
}
cbuffer Params4 : register(b4)
{
float4 tint4;
float4x4 xform4;
Light lights4[4];
Material mat4;
float weights4[8];
}
cbuffer Params5 : register(b5)
{
float4 tint5;
float4x4 xform5;
Light lights5[4];
Material mat5;
float weights5[8];
}
cbuffer Params6 : register(b6)
{
float4 tint6;
float4x4 xform6;
Light lights6[4];
Material mat6;
float weights6[8];
}
cbuffer Params7 : register(b7)
{
float4 tint7;
float4x4 xform7;
Light lights7[4];
Material mat7;
float weights7[8];
}
cbuffer Params8 : register(b8)
{
float4 tint8;
float4x4 xform8;
Light lights8[4];
Material mat8;
float weights8[8];
}
cbuffer Params9 : register(b9)
{
float4 tint9;
float4x4 xform9;
Light lights9[4];
Material mat9;
float weights9[8];
}
cbuffer Params10 : register(b10)
{
float4 tint10;
float4x4 xform10;
Light lights10[4];
Material mat10;
float weights10[8];
}
cbuffer Params11 : register(b11)
{
float4 tint11;
float4x4 xform11;
Light lights11[4];
Material mat11;
float weights11[8];
}
cbuffer Params12 : register(b12)
{
float4 tint12;
float4x4 xform12;
Light lights12[4];
Material mat12;
float weights12[8];
}
cbuffer Params13 : register(b13)
{
float4 tint13;
float4x4 xform13;
Light lights13[4];
Material mat13;
float weights13[8];
}
cbuffer Params14 : register(b14)
{
float4 tint14;
float4x4 xform14;
Light lights14[4];
Material mat14;
float weights14[8];
}
cbuffer Params15 : register(b15)
{
float4 tint15;
float4x4 xform15;
Light lights15[4];
Material mat15;
float weights15[8];
}
cbuffer Params16 : register(b16)
{
float4 tint16;
float4x4 xform16;
Light lights16[4];
Material mat16;
float weights16[8];
}
cbuffer Params17 : register(b17)
{
float4 tint17;
float4x4 xform17;
Light lights17[4];
Material mat17;
float weights17[8];
}
cbuffer Params18 : register(b18)
{
float4 tint18;
float4x4 xform18;
Light lights18[4];
Material mat18;
float weights18[8];
}
cbuffer Params19 : register(b19)
{
float4 tint19;
float4x4 xform19;
Light lights19[4];
Material mat19;
float weights19[8];
}
cbuffer Params20 : register(b20)
{
float4 tint20;
float4x4 xform20;
Light lights20[4];
Material mat20;
float weights20[8];
}
cbuffer Params21 : register(b21)
{
float4 tint21;
float4x4 xform21;
Light lights21[4];
Material mat21;
float weights21[8];
}
cbuffer Params22 : register(b22)
{
float4 tint22;
float4x4 xform22;
Light lights22[4];
Material mat22;
float weights22[8];
}
cbuffer Params23 : register(b23)
{
float4 tint23;
float4x4 xform23;
Light lights23[4];
Material mat23;
float weights23[8];
}
cbuffer Params24 : register(b24)
{
float4 tint24;
float4x4 xform24;
Light lights24[4];
Material mat24;
float weights24[8];
}
cbuffer Params25 : register(b25)
{
float4 tint25;
float4x4 xform25;
Light lights25[4];
Material mat25;
float weights25[8];
}
cbuffer Params26 : register(b26)
{
float4 tint26;
float4x4 xform26;
Light lights26[4];
Material mat26;
float weights26[8];
}
cbuffer Params27 : register(b27)
{
float4 tint27;
float4x4 xform27;
Light lights27[4];
Material mat27;
float weights27[8];
}
cbuffer Params28 : register(b28)
{
float4 tint28;
float4x4 xform28;
Light lights28[4];
Material mat28;
float weights28[8];
}
cbuffer Params29 : register(b29)
{
float4 tint29;
float4x4 xform29;
Light lights29[4];
Material mat29;
float weights29[8];
}
cbuffer Params30 : register(b30)
{
float4 tint30;
float4x4 xform30;
Light lights30[4];
Material mat30;
float weights30[8];
}
cbuffer Params31 : register(b31)
{
float4 tint31;
float4x4 xform31;
Light lights31[4];
Material mat31;
float weights31[8];
}
cbuffer Params32 : register(b32)
{
float4 tint32;
float4x4 xform32;
Light lights32[4];
Material mat32;
float weights32[8];
}
cbuffer Params33 : register(b33)
{
float4 tint33;
float4x4 xform33;
Light lights33[4];
Material mat33;
float weights33[8];
}
cbuffer Params34 : register(b34)
{
float4 tint34;
float4x4 xform34;
Light lights34[4];
Material mat34;
float weights34[8];
}
cbuffer Params35 : register(b35)
{
float4 tint35;
float4x4 xform35;
Light lights35[4];
Material mat35;
float weights35[8];
}
cbuffer Params36 : register(b36)
{
float4 tint36;
float4x4 xform36;
Light lights36[4];
Material mat36;
float weights36[8];
}
cbuffer Params37 : register(b37)
{
float4 tint37;
float4x4 xform37;
Light lights37[4];
Material mat37;
float weights37[8];
}
cbuffer Params38 : register(b38)
{
float4 tint38;
float4x4 xform38;
Light lights38[4];
Material mat38;
float weights38[8];
}
cbuffer Params39 : register(b39)
{
float4 tint39;
float4x4 xform39;
Light lights39[4];
Material mat39;
float weights39[8];
}
cbuffer Params40 : register(b40)
{
float4 tint40;
float4x4 xform40;
Light lights40[4];
Material mat40;
float weights40[8];
}
cbuffer Params41 : register(b41)
{
float4 tint41;
float4x4 xform41;
Light lights41[4];
Material mat41;
float weights41[8];
}
cbuffer Params42 : register(b42)
{
float4 tint42;
float4x4 xform42;
Light lights42[4];
Material mat42;
float weights42[8];
}
cbuffer Params43 : register(b43)
{
float4 tint43;
float4x4 xform43;
Light lights43[4];
Material mat43;
float weights43[8];
}
cbuffer Params44 : register(b44)
{
float4 tint44;
float4x4 xform44;
Light lights44[4];
Material mat44;
float weights44[8];
}
cbuffer Params45 : register(b45)
{
float4 tint45;
float4x4 xform45;
Light lights45[4];
Material mat45;
float weights45[8];
}
cbuffer Params46 : register(b46)
{
float4 tint46;
float4x4 xform46;
Light lights46[4];
Material mat46;
float weights46[8];
}
cbuffer Params47 : register(b47)
{
float4 tint47;
float4x4 xform47;
Light lights47[4];
Material mat47;
float weights47[8];
}
cbuffer Params48 : register(b48)
{
float4 tint48;
float4x4 xform48;
Light lights48[4];
Material mat48;
float weights48[8];
}
cbuffer Params49 : register(b49)
{
float4 tint49;
float4x4 xform49;
Light lights49[4];
Material mat49;
float weights49[8];
}
cbuffer Params50 : register(b50)
{
float4 tint50;
float4x4 xform50;
Light lights50[4];
Material mat50;
float weights50[8];
}
cbuffer Params51 : register(b51)
{
float4 tint51;
float4x4 xform51;
Light lights51[4];
Material mat51;
float weights51[8];
}
cbuffer Params52 : register(b52)
{
float4 tint52;
float4x4 xform52;
Light lights52[4];
Material mat52;
float weights52[8];
}
cbuffer Params53 : register(b53)
{
float4 tint53;
float4x4 xform53;
Light lights53[4];
Material mat53;
float weights53[8];
}
cbuffer Params54 : register(b54)
{
float4 tint54;
float4x4 xform54;
Light lights54[4];
Material mat54;
float weights54[8];
}
cbuffer Params55 : register(b55)
{
float4 tint55;
float4x4 xform55;
Light lights55[4];
Material mat55;
float weights55[8];
}
cbuffer Params56 : register(b56)
{
float4 tint56;
float4x4 xform56;
Light lights56[4];
Material mat56;
float weights56[8];
}
cbuffer Params57 : register(b57)
{
float4 tint57;
float4x4 xform57;
Light lights57[4];
Material mat57;
float weights57[8];
}
cbuffer Params58 : register(b58)
{
float4 tint58;
float4x4 xform58;
Light lights58[4];
Material mat58;
float weights58[8];
}
cbuffer Params59 : register(b59)
{
float4 tint59;
float4x4 xform59;
Light lights59[4];
Material mat59;
float weights59[8];
}
cbuffer Params60 : register(b60)
{
float4 tint60;
float4x4 xform60;
Light lights60[4];
Material mat60;
float weights60[8];
}
cbuffer Params61 : register(b61)
{
float4 tint61;
float4x4 xform61;
Light lights61[4];
Material mat61;
float weights61[8];
}
cbuffer Params62 : register(b62)
{
float4 tint62;
float4x4 xform62;
Light lights62[4];
Material mat62;
float weights62[8];
}
cbuffer Params63 : register(b63)
{
float4 tint63;
float4x4 xform63;
Light lights63[4];
Material mat63;
float weights63[8];
}
cbuffer Params64 : register(b64)
{
float4 tint64;
float4x4 xform64;
Light lights64[4];
Material mat64;
float weights64[8];
}
cbuffer Params65 : register(b65)
{
float4 tint65;
float4x4 xform65;
Light lights65[4];
Material mat65;
float weights65[8];
}
cbuffer Params66 : register(b66)
{
float4 tint66;
float4x4 xform66;
Light lights66[4];
Material mat66;
float weights66[8];
}
cbuffer Params67 : register(b67)
{
float4 tint67;
float4x4 xform67;
Light lights67[4];
Material mat67;
float weights67[8];
}
cbuffer Params68 : register(b68)
{
float4 tint68;
float4x4 xform68;
Light lights68[4];
Material mat68;
float weights68[8];
}
cbuffer Params69 : register(b69)
{
float4 tint69;
float4x4 xform69;
Light lights69[4];
Material mat69;
float weights69[8];
}
cbuffer Params70 : register(b70)
{
float4 tint70;
float4x4 xform70;
Light lights70[4];
Material mat70;
float weights70[8];
}
cbuffer Params71 : register(b71)
{
float4 tint71;
float4x4 xform71;
Light lights71[4];
Material mat71;
float weights71[8];
}
cbuffer Params72 : register(b72)
{
float4 tint72;
float4x4 xform72;
Light lights72[4];
Material mat72;
float weights72[8];
}
cbuffer Params73 : register(b73)
{
float4 tint73;
float4x4 xform73;
Light lights73[4];
Material mat73;
float weights73[8];
}
cbuffer Params74 : register(b74)
{
float4 tint74;
float4x4 xform74;
Light lights74[4];
Material mat74;
float weights74[8];
}
cbuffer Params75 : register(b75)
{
float4 tint75;
float4x4 xform75;
Light lights75[4];
Material mat75;
float weights75[8];
}
cbuffer Params76 : register(b76)
{
float4 tint76;
float4x4 xform76;
Light lights76[4];
Material mat76;
float weights76[8];
}
cbuffer Params77 : register(b77)
{
float4 tint77;
float4x4 xform77;
Light lights77[4];
Material mat77;
float weights77[8];
}
cbuffer Params78 : register(b78)
{
float4 tint78;
float4x4 xform78;
Light lights78[4];
Material mat78;
float weights78[8];
}
cbuffer Params79 : register(b79)
{
float4 tint79;
float4x4 xform79;
Light lights79[4];
Material mat79;
float weights79[8];
}
cbuffer Params80 : register(b80)
{
float4 tint80;
float4x4 xform80;
Light lights80[4];
Material mat80;
float weights80[8];
}
cbuffer Params81 : register(b81)
{
float4 tint81;
float4x4 xform81;
Light lights81[4];
Material mat81;
float weights81[8];
}
cbuffer Params82 : register(b82)
{
float4 tint82;
float4x4 xform82;
Light lights82[4];
Material mat82;
float weights82[8];
}
cbuffer Params83 : register(b83)
{
float4 tint83;
float4x4 xform83;
Light lights83[4];
Material mat83;
float weights83[8];
}
cbuffer Params84 : register(b84)
{
float4 tint84;
float4x4 xform84;
Light lights84[4];
Material mat84;
float weights84[8];
}
cbuffer Params85 : register(b85)
{
float4 tint85;
float4x4 xform85;
Light lights85[4];
Material mat85;
float weights85[8];
}
cbuffer Params86 : register(b86)
{
float4 tint86;
float4x4 xform86;
Light lights86[4];
Material mat86;
float weights86[8];
}
cbuffer Params87 : register(b87)
{
float4 tint87;
float4x4 xform87;
Light lights87[4];
Material mat87;
float weights87[8];
}
cbuffer Params88 : register(b88)
{
float4 tint88;
float4x4 xform88;
Light lights88[4];
Material mat88;
float weights88[8];
}
cbuffer Params89 : register(b89)
{
float4 tint89;
float4x4 xform89;
Light lights89[4];
Material mat89;
float weights89[8];
}
cbuffer Params90 : register(b90)
{
float4 tint90;
float4x4 xform90;
Light lights90[4];
Material mat90;
float weights90[8];
}
cbuffer Params91 : register(b91)
{
float4 tint91;
float4x4 xform91;
Light lights91[4];
Material mat91;
float weights91[8];
}
cbuffer Params92 : register(b92)
{
float4 tint92;
float4x4 xform92;
Light lights92[4];
Material mat92;
float weights92[8];
}
cbuffer Params93 : register(b93)
{
float4 tint93;
float4x4 xform93;
Light lights93[4];
Material mat93;
float weights93[8];
}
cbuffer Params94 : register(b94)
{
float4 tint94;
float4x4 xform94;
Light lights94[4];
Material mat94;
float weights94[8];
}
cbuffer Params95 : register(b95)
{
float4 tint95;
float4x4 xform95;
Light lights95[4];
Material mat95;
float weights95[8];
}
cbuffer Params96 : register(b96)
{
float4 tint96;
float4x4 xform96;
Light lights96[4];
Material mat96;
float weights96[8];
}
cbuffer Params97 : register(b97)
{
float4 tint97;
float4x4 xform97;
Light lights97[4];
Material mat97;
float weights97[8];
}
cbuffer Params98 : register(b98)
{
float4 tint98;
float4x4 xform98;
Light lights98[4];
Material mat98;
float weights98[8];
}
cbuffer Params99 : register(b99)
{
float4 tint99;
float4x4 xform99;
Light lights99[4];
Material mat99;
float weights99[8];
}
cbuffer Params100 : register(b100)
{
float4 tint100;
float4x4 xform100;
Light lights100[4];
Material mat100;
float weights100[8];
}
cbuffer Params101 : register(b101)
{
float4 tint101;
float4x4 xform101;
Light lights101[4];
Material mat101;
float weights101[8];
}
cbuffer Params102 : register(b102)
{
float4 tint102;
float4x4 xform102;
Light lights102[4];
Material mat102;
float weights102[8];
}
cbuffer Params103 : register(b103)
{
float4 tint103;
float4x4 xform103;
Light lights103[4];
Material mat103;
float weights103[8];
}
cbuffer Params104 : register(b104)
{
float4 tint104;
float4x4 xform104;
Light lights104[4];
Material mat104;
float weights104[8];
}
cbuffer Params105 : register(b105)
{
float4 tint105;
float4x4 xform105;
Light lights105[4];
Material mat105;
float weights105[8];
}
cbuffer Params106 : register(b106)
{
float4 tint106;
float4x4 xform106;
Light lights106[4];
Material mat106;
float weights106[8];
}
cbuffer Params107 : register(b107)
{
float4 tint107;
float4x4 xform107;
Light lights107[4];
Material mat107;
float weights107[8];
}
cbuffer Params108 : register(b108)
{
float4 tint108;
float4x4 xform108;
Light lights108[4];
Material mat108;
float weights108[8];
}
cbuffer Params109 : register(b109)
{
float4 tint109;
float4x4 xform109;
Light lights109[4];
Material mat109;
float weights109[8];
}
cbuffer Params110 : register(b110)
{
float4 tint110;
float4x4 xform110;
Light lights110[4];
Material mat110;
float weights110[8];
}
cbuffer Params111 : register(b111)
{
float4 tint111;
float4x4 xform111;
Light lights111[4];
Material mat111;
float weights111[8];
}
cbuffer Params112 : register(b112)
{
float4 tint112;
float4x4 xform112;
Light lights112[4];
Material mat112;
float weights112[8];
}
cbuffer Params113 : register(b113)
{
float4 tint113;
float4x4 xform113;
Light lights113[4];
Material mat113;
float weights113[8];
}
cbuffer Params114 : register(b114)
{
float4 tint114;
float4x4 xform114;
Light lights114[4];
Material mat114;
float weights114[8];
}
cbuffer Params115 : register(b115)
{
float4 tint115;
float4x4 xform115;
Light lights115[4];
Material mat115;
float weights115[8];
}
cbuffer Params116 : register(b116)
{
float4 tint116;
float4x4 xform116;
Light lights116[4];
Material mat116;
float weights116[8];
}
cbuffer Params117 : register(b117)
{
float4 tint117;
float4x4 xform117;
Light lights117[4];
Material mat117;
float weights117[8];
}
cbuffer Params118 : register(b118)
{
float4 tint118;
float4x4 xform118;
Light lights118[4];
Material mat118;
float weights118[8];
}
cbuffer Params119 : register(b119)
{
float4 tint119;
float4x4 xform119;
Light lights119[4];
Material mat119;
float weights119[8];
}
RWStructuredBuffer<float> outBuf;
[shader("compute")]
[numthreads(1,1,1)]
void computeMain()
{
float acc = 0.0;
acc += tint0.x + xform0[0][0] + lights0[0].intensity + mat0.metal + weights0[0];
acc += tint1.x + xform1[0][0] + lights1[0].intensity + mat1.metal + weights1[0];
acc += tint2.x + xform2[0][0] + lights2[0].intensity + mat2.metal + weights2[0];
acc += tint3.x + xform3[0][0] + lights3[0].intensity + mat3.metal + weights3[0];
acc += tint4.x + xform4[0][0] + lights4[0].intensity + mat4.metal + weights4[0];
acc += tint5.x + xform5[0][0] + lights5[0].intensity + mat5.metal + weights5[0];
acc += tint6.x + xform6[0][0] + lights6[0].intensity + mat6.metal + weights6[0];
acc += tint7.x + xform7[0][0] + lights7[0].intensity + mat7.metal + weights7[0];
acc += tint8.x + xform8[0][0] + lights8[0].intensity + mat8.metal + weights8[0];
acc += tint9.x + xform9[0][0] + lights9[0].intensity + mat9.metal + weights9[0];
acc += tint10.x + xform10[0][0] + lights10[0].intensity + mat10.metal + weights10[0];
acc += tint11.x + xform11[0][0] + lights11[0].intensity + mat11.metal + weights11[0];
acc += tint12.x + xform12[0][0] + lights12[0].intensity + mat12.metal + weights12[0];
acc += tint13.x + xform13[0][0] + lights13[0].intensity + mat13.metal + weights13[0];
acc += tint14.x + xform14[0][0] + lights14[0].intensity + mat14.metal + weights14[0];
acc += tint15.x + xform15[0][0] + lights15[0].intensity + mat15.metal + weights15[0];
acc += tint16.x + xform16[0][0] + lights16[0].intensity + mat16.metal + weights16[0];
acc += tint17.x + xform17[0][0] + lights17[0].intensity + mat17.metal + weights17[0];
acc += tint18.x + xform18[0][0] + lights18[0].intensity + mat18.metal + weights18[0];
acc += tint19.x + xform19[0][0] + lights19[0].intensity + mat19.metal + weights19[0];
acc += tint20.x + xform20[0][0] + lights20[0].intensity + mat20.metal + weights20[0];
acc += tint21.x + xform21[0][0] + lights21[0].intensity + mat21.metal + weights21[0];
acc += tint22.x + xform22[0][0] + lights22[0].intensity + mat22.metal + weights22[0];
acc += tint23.x + xform23[0][0] + lights23[0].intensity + mat23.metal + weights23[0];
acc += tint24.x + xform24[0][0] + lights24[0].intensity + mat24.metal + weights24[0];
acc += tint25.x + xform25[0][0] + lights25[0].intensity + mat25.metal + weights25[0];
acc += tint26.x + xform26[0][0] + lights26[0].intensity + mat26.metal + weights26[0];
acc += tint27.x + xform27[0][0] + lights27[0].intensity + mat27.metal + weights27[0];
acc += tint28.x + xform28[0][0] + lights28[0].intensity + mat28.metal + weights28[0];
acc += tint29.x + xform29[0][0] + lights29[0].intensity + mat29.metal + weights29[0];
acc += tint30.x + xform30[0][0] + lights30[0].intensity + mat30.metal + weights30[0];
acc += tint31.x + xform31[0][0] + lights31[0].intensity + mat31.metal + weights31[0];
acc += tint32.x + xform32[0][0] + lights32[0].intensity + mat32.metal + weights32[0];
acc += tint33.x + xform33[0][0] + lights33[0].intensity + mat33.metal + weights33[0];
acc += tint34.x + xform34[0][0] + lights34[0].intensity + mat34.metal + weights34[0];
acc += tint35.x + xform35[0][0] + lights35[0].intensity + mat35.metal + weights35[0];
acc += tint36.x + xform36[0][0] + lights36[0].intensity + mat36.metal + weights36[0];
acc += tint37.x + xform37[0][0] + lights37[0].intensity + mat37.metal + weights37[0];
acc += tint38.x + xform38[0][0] + lights38[0].intensity + mat38.metal + weights38[0];
acc += tint39.x + xform39[0][0] + lights39[0].intensity + mat39.metal + weights39[0];
acc += tint40.x + xform40[0][0] + lights40[0].intensity + mat40.metal + weights40[0];
acc += tint41.x + xform41[0][0] + lights41[0].intensity + mat41.metal + weights41[0];
acc += tint42.x + xform42[0][0] + lights42[0].intensity + mat42.metal + weights42[0];
acc += tint43.x + xform43[0][0] + lights43[0].intensity + mat43.metal + weights43[0];
acc += tint44.x + xform44[0][0] + lights44[0].intensity + mat44.metal + weights44[0];
acc += tint45.x + xform45[0][0] + lights45[0].intensity + mat45.metal + weights45[0];
acc += tint46.x + xform46[0][0] + lights46[0].intensity + mat46.metal + weights46[0];
acc += tint47.x + xform47[0][0] + lights47[0].intensity + mat47.metal + weights47[0];
acc += tint48.x + xform48[0][0] + lights48[0].intensity + mat48.metal + weights48[0];
acc += tint49.x + xform49[0][0] + lights49[0].intensity + mat49.metal + weights49[0];
acc += tint50.x + xform50[0][0] + lights50[0].intensity + mat50.metal + weights50[0];
acc += tint51.x + xform51[0][0] + lights51[0].intensity + mat51.metal + weights51[0];
acc += tint52.x + xform52[0][0] + lights52[0].intensity + mat52.metal + weights52[0];
acc += tint53.x + xform53[0][0] + lights53[0].intensity + mat53.metal + weights53[0];
acc += tint54.x + xform54[0][0] + lights54[0].intensity + mat54.metal + weights54[0];
acc += tint55.x + xform55[0][0] + lights55[0].intensity + mat55.metal + weights55[0];
acc += tint56.x + xform56[0][0] + lights56[0].intensity + mat56.metal + weights56[0];
acc += tint57.x + xform57[0][0] + lights57[0].intensity + mat57.metal + weights57[0];
acc += tint58.x + xform58[0][0] + lights58[0].intensity + mat58.metal + weights58[0];
acc += tint59.x + xform59[0][0] + lights59[0].intensity + mat59.metal + weights59[0];
acc += tint60.x + xform60[0][0] + lights60[0].intensity + mat60.metal + weights60[0];
acc += tint61.x + xform61[0][0] + lights61[0].intensity + mat61.metal + weights61[0];
acc += tint62.x + xform62[0][0] + lights62[0].intensity + mat62.metal + weights62[0];
acc += tint63.x + xform63[0][0] + lights63[0].intensity + mat63.metal + weights63[0];
acc += tint64.x + xform64[0][0] + lights64[0].intensity + mat64.metal + weights64[0];
acc += tint65.x + xform65[0][0] + lights65[0].intensity + mat65.metal + weights65[0];
acc += tint66.x + xform66[0][0] + lights66[0].intensity + mat66.metal + weights66[0];
acc += tint67.x + xform67[0][0] + lights67[0].intensity + mat67.metal + weights67[0];
acc += tint68.x + xform68[0][0] + lights68[0].intensity + mat68.metal + weights68[0];
acc += tint69.x + xform69[0][0] + lights69[0].intensity + mat69.metal + weights69[0];
acc += tint70.x + xform70[0][0] + lights70[0].intensity + mat70.metal + weights70[0];
acc += tint71.x + xform71[0][0] + lights71[0].intensity + mat71.metal + weights71[0];
acc += tint72.x + xform72[0][0] + lights72[0].intensity + mat72.metal + weights72[0];
acc += tint73.x + xform73[0][0] + lights73[0].intensity + mat73.metal + weights73[0];
acc += tint74.x + xform74[0][0] + lights74[0].intensity + mat74.metal + weights74[0];
acc += tint75.x + xform75[0][0] + lights75[0].intensity + mat75.metal + weights75[0];
acc += tint76.x + xform76[0][0] + lights76[0].intensity + mat76.metal + weights76[0];
acc += tint77.x + xform77[0][0] + lights77[0].intensity + mat77.metal + weights77[0];
acc += tint78.x + xform78[0][0] + lights78[0].intensity + mat78.metal + weights78[0];
acc += tint79.x + xform79[0][0] + lights79[0].intensity + mat79.metal + weights79[0];
acc += tint80.x + xform80[0][0] + lights80[0].intensity + mat80.metal + weights80[0];
acc += tint81.x + xform81[0][0] + lights81[0].intensity + mat81.metal + weights81[0];
acc += tint82.x + xform82[0][0] + lights82[0].intensity + mat82.metal + weights82[0];
acc += tint83.x + xform83[0][0] + lights83[0].intensity + mat83.metal + weights83[0];
acc += tint84.x + xform84[0][0] + lights84[0].intensity + mat84.metal + weights84[0];
acc += tint85.x + xform85[0][0] + lights85[0].intensity + mat85.metal + weights85[0];
acc += tint86.x + xform86[0][0] + lights86[0].intensity + mat86.metal + weights86[0];
acc += tint87.x + xform87[0][0] + lights87[0].intensity + mat87.metal + weights87[0];
acc += tint88.x + xform88[0][0] + lights88[0].intensity + mat88.metal + weights88[0];
acc += tint89.x + xform89[0][0] + lights89[0].intensity + mat89.metal + weights89[0];
acc += tint90.x + xform90[0][0] + lights90[0].intensity + mat90.metal + weights90[0];
acc += tint91.x + xform91[0][0] + lights91[0].intensity + mat91.metal + weights91[0];
acc += tint92.x + xform92[0][0] + lights92[0].intensity + mat92.metal + weights92[0];
acc += tint93.x + xform93[0][0] + lights93[0].intensity + mat93.metal + weights93[0];
acc += tint94.x + xform94[0][0] + lights94[0].intensity + mat94.metal + weights94[0];
acc += tint95.x + xform95[0][0] + lights95[0].intensity + mat95.metal + weights95[0];
acc += tint96.x + xform96[0][0] + lights96[0].intensity + mat96.metal + weights96[0];
acc += tint97.x + xform97[0][0] + lights97[0].intensity + mat97.metal + weights97[0];
acc += tint98.x + xform98[0][0] + lights98[0].intensity + mat98.metal + weights98[0];
acc += tint99.x + xform99[0][0] + lights99[0].intensity + mat99.metal + weights99[0];
acc += tint100.x + xform100[0][0] + lights100[0].intensity + mat100.metal + weights100[0];
acc += tint101.x + xform101[0][0] + lights101[0].intensity + mat101.metal + weights101[0];
acc += tint102.x + xform102[0][0] + lights102[0].intensity + mat102.metal + weights102[0];
acc += tint103.x + xform103[0][0] + lights103[0].intensity + mat103.metal + weights103[0];
acc += tint104.x + xform104[0][0] + lights104[0].intensity + mat104.metal + weights104[0];
acc += tint105.x + xform105[0][0] + lights105[0].intensity + mat105.metal + weights105[0];
acc += tint106.x + xform106[0][0] + lights106[0].intensity + mat106.metal + weights106[0];
acc += tint107.x + xform107[0][0] + lights107[0].intensity + mat107.metal + weights107[0];
acc += tint108.x + xform108[0][0] + lights108[0].intensity + mat108.metal + weights108[0];
acc += tint109.x + xform109[0][0] + lights109[0].intensity + mat109.metal + weights109[0];
acc += tint110.x + xform110[0][0] + lights110[0].intensity + mat110.metal + weights110[0];
acc += tint111.x + xform111[0][0] + lights111[0].intensity + mat111.metal + weights111[0];
acc += tint112.x + xform112[0][0] + lights112[0].intensity + mat112.metal + weights112[0];
acc += tint113.x + xform113[0][0] + lights113[0].intensity + mat113.metal + weights113[0];
acc += tint114.x + xform114[0][0] + lights114[0].intensity + mat114.metal + weights114[0];
acc += tint115.x + xform115[0][0] + lights115[0].intensity + mat115.metal + weights115[0];
acc += tint116.x + xform116[0][0] + lights116[0].intensity + mat116.metal + weights116[0];
acc += tint117.x + xform117[0][0] + lights117[0].intensity + mat117.metal + weights117[0];
acc += tint118.x + xform118[0][0] + lights118[0].intensity + mat118.metal + weights118[0];
acc += tint119.x + xform119[0][0] + lights119[0].intensity + mat119.metal + weights119[0];
outBuf[0] = acc;
}