nak: Add a simple greedy instruction scheduler
To get us started, this is designed to be pretty much the simplest thing possible. It runs post-RA so we don't need to worry about hurting occupancy and it uses the classic textbook algorithm for local (single block) scheduling with the usual latency-weighted-depth heuristic.
Totals:
Static cycle count: 6950254 -> 5943678 (-14.48%); split: -14.48%, +0.00%
Totals from 6386 (97.23% of 6568) affected shaders:
Static cycle count: 6945475 -> 5938899 (-14.49%); split: -14.49%, +0.00%
PERCENTAGE DELTAS Shaders Static cycle count
../nvk-fossils-foss/fossils/gtk4/fossilize 736 -12.82%
../nvk-fossils-foss/fossils/pytorch/mobilenetv2 17 -11.30%
../nvk-fossils-foss/fossils/skia/skia-viewer 4806 -15.35%
fossils/google-meet-clvk/BgBlur 49 -12.83%
fossils/google-meet-clvk/Relight 32 -16.23%
fossils/parallel-rdp/small_subgroup 246 -24.33%
fossils/parallel-rdp/small_uber_subgroup 7 -8.96%
fossils/parallel-rdp/subgroup 279 -23.45%
fossils/parallel-rdp/uber_subgroup 7 -5.95%
fossils/q2rtx/q2rtx-rt-pipeline 42 -20.12%
fossils/sascha-willems/bloom 12 -16.35%
fossils/sascha-willems/computecloth 7 -15.94%
fossils/sascha-willems/computecullandlod 3 -12.76%
fossils/sascha-willems/computeheadless 1 -1.11%
fossils/sascha-willems/computenbody 4 -10.41%
fossils/sascha-willems/computeparticles 3 -11.88%
fossils/sascha-willems/computeraytracing 3 -13.69%
fossils/sascha-willems/computeshader 5 -15.43%
fossils/sascha-willems/conditionalrender 2 -20.31%
fossils/sascha-willems/debugmarker 8 -16.10%
fossils/sascha-willems/deferred 4 -17.49%
PERCENTAGE DELTAS Shaders Static cycle count
fossils/sascha-willems/deferredmultisampling 8 -18.37%
fossils/sascha-willems/deferredshadows 6 -8.95%
fossils/sascha-willems/descriptorsets 2 -13.93%
fossils/sascha-willems/displacement 8 -15.31%
fossils/sascha-willems/distancefieldfonts 4 -13.44%
fossils/sascha-willems/dynamicuniformbuffer 2 -12.67%
fossils/sascha-willems/gears 2 -17.57%
fossils/sascha-willems/geometryshader 5 -18.56%
fossils/sascha-willems/gltfloading 4 -22.32%
fossils/sascha-willems/gltfscenerendering 4 -20.39%
fossils/sascha-willems/gltfskinning 4 -20.95%
fossils/sascha-willems/hdr 10 -18.88%
fossils/sascha-willems/imgui 4 -22.16%
fossils/sascha-willems/indirectdraw 6 -17.01%
fossils/sascha-willems/inlineuniformblocks 2 -20.95%
fossils/sascha-willems/inputattachments 6 -15.32%
fossils/sascha-willems/instancing 6 -23.57%
fossils/sascha-willems/mesh 4 -24.17%
fossils/sascha-willems/multisampling 6 -24.64%
fossils/sascha-willems/multithreading 4 -22.22%
fossils/sascha-willems/multiview 6 -13.13%
PERCENTAGE DELTAS Shaders Static cycle count
fossils/sascha-willems/negativeviewportheight 2 -7.50%
fossils/sascha-willems/occlusionquery 6 -17.47%
fossils/sascha-willems/offscreen 8 -17.87%
fossils/sascha-willems/oit 4 -11.26%
fossils/sascha-willems/parallaxmapping 2 -12.57%
fossils/sascha-willems/particlefire 4 -17.05%
fossils/sascha-willems/pbrbasic 2 -19.55%
fossils/sascha-willems/pbribl 10 -19.54%
fossils/sascha-willems/pbrtexture 4 -21.12%
fossils/sascha-willems/pipelines 6 -17.57%
fossils/sascha-willems/pipelinestatistics 2 -30.58%
fossils/sascha-willems/pushconstants 2 -15.30%
fossils/sascha-willems/pushdescriptors 2 -13.93%
fossils/sascha-willems/radialblur 8 -16.23%
fossils/sascha-willems/renderheadless 2 -28.18%
fossils/sascha-willems/scenerendering 6 -17.50%
fossils/sascha-willems/screenshot 2 -17.46%
fossils/sascha-willems/shadowmapping 7 -25.90%
fossils/sascha-willems/shadowmappingcascade 8 -11.16%
fossils/sascha-willems/shadowmappingomni 6 -18.09%
fossils/sascha-willems/skeletalanimation 4 -23.54%
PERCENTAGE DELTAS Shaders Static cycle count
fossils/sascha-willems/specializationconstans 6 -20.99%
fossils/sascha-willems/specializationconstants 6 -20.99%
fossils/sascha-willems/sphericalenvmapping 2 -13.16%
fossils/sascha-willems/ssao 8 -18.62%
fossils/sascha-willems/stencilbuffer 4 -15.18%
fossils/sascha-willems/subpasses 8 -14.19%
fossils/sascha-willems/terraintessellation 10 -19.29%
fossils/sascha-willems/tessellation 16 -18.14%
fossils/sascha-willems/textoverlay 4 -25.46%
fossils/sascha-willems/texture 2 -27.28%
fossils/sascha-willems/texture3d 2 -26.10%
fossils/sascha-willems/texturearray 2 -4.02%
fossils/sascha-willems/texturecubemap 4 -18.07%
fossils/sascha-willems/texturecubemaparray 4 -17.92%
fossils/sascha-willems/texturemipmapgen 2 -24.72%
fossils/sascha-willems/triangle 2 -14.75%
fossils/sascha-willems/vertexattributes 4 -19.30%
fossils/sascha-willems/viewportarray 3 -19.87%
fossils/sascha-willems/vulkanscene 6 -17.33%
----------------------------------------------------------------------------
All affected 6386 -14.49%
----------------------------------------------------------------------------
Total 6568 -14.48%