size-baseline: pageflip вырос от новых проверок теста (не регрессия libbgi)
This commit is contained in:
@@ -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`):
|
||||
|
||||
Reference in New Issue
Block a user