mirror of
https://github.com/esphome/esphome.git
synced 2026-10-14 10:12:52 +00:00
for_each_pixel() holds the loop order once; the per format bodies are always-inline lambdas, which keeps the inner loop identical to dev (GCC at -Os otherwise leaves them out of line and calls per pixel). Members read in the loop are copied to locals so the opaque virtual draw_pixel_at() does not force a reload per pixel. The hub75 override goes, its rotation is forced to 0 at codegen. The host benchmark's frame is square so the rotated case stays in bounds.