size-baseline: pageflip вырос от новых проверок теста (не регрессия libbgi)

This commit is contained in:
2026-08-12 17:36:19 +03:00
parent 3f45430454
commit 5c015739fa
2 changed files with 17 additions and 2 deletions
+16 -1
View File
@@ -103,7 +103,22 @@
в окне EI между чанками CBL-ISR армирует акселератор своим размером,
см. `docs/accel-fill-budget.md`).
## I.2 Публичные vflip-блиты для row-major
## I.2 Публичные vflip-блиты для row-major — СДЕЛАНО 2026-08-12
Ассемблера не потребовалось вовсе: у row-major картинки вертикальное
зеркало — это порядок строк, а он задаётся ЗНАКОМ src-страйда, который
`_bgi_blit_rows_raw` и так принимает знаковым (`int sstride`) и патчит SMC
в adc-цепочку. Обёртки просто дают адрес ПОСЛЕДНЕЙ строки и `-stride`,
цена кадра та же, что у обычного блита.
Написаны `gfx_blit_noclip_vflip`, `gfx_blit_part_noclip_vflip`,
`gfx_blit_part_vflip`; `tests/pageflip` расширен до 8 проверок, все PASS.
Грабли, которые поймал тест: у клипающего варианта первая строка источника
обязана считаться от высоты ДО клипа (`h0`), иначе обрезка сверху экрана
сдвигает картинку — сначала формула брала уже укороченную `h`.
### Контракт (исходное описание)
Все row-major блиты приложения идут ровно через три функции (`pop_tile.c:281`,
`:283`, `:286`, `:325`, `:327`):
+1 -1
View File
@@ -41,7 +41,7 @@ malloc 4461
mem_test 4555
mouse 4382
openenv 6124
pageflip 4960
pageflip 6334
palfile 5406
ptime 5744
rt_test 5187
1 # Эталон размеров _CODE (байт); обновление: python3 toolchain/size_check.py --update
41 mem_test
42 mouse
43 openenv
44 pageflip
45 palfile
46 ptime
47 rt_test