Lines Matching refs:src

174 	std::ostringstream src;
176 src
186 src << "layout(binding=10000";
199 src << "layout(binding=0, ";
201 src << ", ";
203 src << "offset=4";
211 src << "layout(binding=0, ";
213 src << ", ";
215 src << "offset=" << (4 * spec.atomicCounterCount/2);
221 src << "layout(binding=0, ";
223 src << ", ";
225 src << "offset=1";
235 src << ") uniform atomic_uint;\n";
238 src
242 src << " uint preGet[" << spec.threadCount * spec.atomicCounterCount * spec.callCount << "];\n";
245 src << " uint increment[" << spec.threadCount * spec.atomicCounterCount * spec.callCount << "];\n";
248 src << " uint decrement[" << spec.threadCount * spec.atomicCounterCount * spec.callCount << "];\n";
251 src << " uint postGet[" << spec.threadCount * spec.atomicCounterCount * spec.callCount << "];\n";
254 src << " uint get[" << spec.threadCount * spec.atomicCounterCount * spec.callCount << "];\n";
256 src << "} sb_in;\n\n";
263 src << "layout(binding=0, offset=0) uniform atomic_uint;\n";
269 src << "layout(binding=0";
274 src << "layout(binding=10000";
289 src << ") ";
291 src << "uniform atomic_uint counter" << counterNdx << ";\n";
297 src << "layout(";
299 src << ", ";
301 src << "offset=" << (counterNdx * 4) << ") uniform atomic_uint counter" << counterNdx << ";\n";
307 src << ") ";
309 src << "uniform atomic_uint counter" << counterNdx << ";\n";
315 src << "layout(";
317 src << ", ";
319 src << "offset=" << (1 + counterNdx * 2) << ") uniform atomic_uint counter" << counterNdx << ";\n";
325 src << "layout(";
327 src << ", ";
329 src << "offset=0) uniform atomic_uint counter" << counterNdx << ";\n";
335 src << "layout(";
337 src << ", ";
339 src << "offset=" << (spec.atomicCounterCount - counterNdx - 1) * 4 << ") uniform atomic_uint counter" << (spec.atomicCounterCount - counterNdx - 1) << ";\n";
349 src << "layout(";
351 src << ", ";
353 src << "offset=0) uniform atomic_uint counter0;\n";
358 src << "layout(";
360 src << ", ";
362 src << "offset=4) uniform atomic_uint counter1;\n";
367 src << ") ";
369 src << "uniform atomic_uint counter" << (counterNdx + 1) << ";\n";
378 src << "layout(";
380 src << ", ";
382 src << "offset=0) uniform atomic_uint counter0;\n";
387 src << ") ";
389 src << "uniform atomic_uint counter" << (counterNdx + 1) << ";\n";
396 src << ") ";
399 src << "uniform atomic_uint counter" << (counterNdx + spec.atomicCounterCount/2) << ";\n";
401 src << "uniform atomic_uint counter" << (counterNdx - spec.atomicCounterCount/2) << ";\n";
410 src
416 src << "\tfor (uint i = 0u; i < " << spec.callCount << "u; i++)\n";
418 src
423 src << " * "<< spec.callCount << "u";
426 src << " + i)";
428 src << ")";
431 src << " * " << spec.atomicCounterCount << "u";
433 src << ";\n";
438 src << "\t\tsb_in.preGet[id + " << counterNdx << "u] = atomicCounter(counter" << counterNdx << ");\n";
442 src
460 src
472 src << "\t\tsb_in.increment[id + " << counterNdx << "u] = atomicCounterIncrement(counter" << counterNdx << ");\n";
479 src
491 src << "\t\tsb_in.decrement[id + " << counterNdx << "u] = atomicCounterDecrement(counter" << counterNdx << ") + 1u;\n";
496 src << "\t\tsb_in.postGet[id + " << counterNdx << "u] = atomicCounter(counter" << counterNdx << ");\n";
502 src
513 src << "\t\tsb_in.get[id + " << counterNdx << "u] = atomicCounter(counter" << counterNdx << ");\n";
517 src
521 return src.str();