|
|
|
@@ -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`):
|
|
|
|
|