Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

RGBA8/BGRA8 转码下游复现与行 stride、透明 alpha 回归补充(Mirage EUI-20261013-001)

Aperta
#106 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
32/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
cpp
Ambito
desktop, testing

Direzione di ricerca

Read the existing image_stream unit tests and core/render/image_stream.cpp, then follow CONTRIBUTING.md for the four frontend/backend Release build and test combinations. Add full output comparisons for multirow frames, noncompact stride, alpha variants, and RGBA/BGRA, including ImageStream submit/consumeLatest. Done means the tests fail without the pointer advancement fix and pass on dev; the issue says PR #97 already contains that fix.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

下游反馈

Mirage 反馈编号:EUI-20261013-001,关联桌宠资源/播放器 M8-02/03。

Mirage 当前锁定的 a7e625fecc1db1c1acb4850a14fb785e20600041 上,公开 ImageFrame::convertToRgba8() 的 RGBA8/BGRA8 路径只反复写每行首像素。最新 dev 的 PR #97(修复提交 f8caff1)已修复目标指针推进;本 issue 记录下游复现、尚需补充的回归边界和版本迁移,避免再次提交重复的根因修复。

最小复现

构造宽 2、高 1、stride 8 的 RGBA8 ImageFrame,输入:

[255,0,0,255, 0,255,0,255]

调用 convertToRgba8(output):预期返回 true 且逐字节保持输入;旧 pin 实际返回 true,但输出为:

[0,255,0,255, 0,0,0,0]

Linux x86_64 / GCC 13.3.0,通过公开头和 core/render/image_stream.cpp 可独立复现,无须窗口、WebP 或模型。

影响与根因

内层逐列循环没有推进目标指针,最后一列覆盖行首,其余列为零。对右边缘透明的角色素材,整幅角色消失;文字仍然可见。该问题属于通用 RGBA/BGRA CPU fallback,不能通过只检查转换返回值或单像素测试发现。

处理计划与验收

  • 复用已合入 dev 的 PR #97 根因修复;不重复改写该行。
  • 在现有 image_stream 单测补充多行、非紧凑 stride、透明/半透明/不透明 alpha 和 RGBA/BGRA 完整输出比较;通过 ImageStream 的 submit/consumeLatest 再验证一次。
  • 新增测试在删除目标指针推进的故障版本上必须失败,在当前 dev 上通过。
  • 按 CONTRIBUTING.md 在本机四种前后端组合完成 Release 配置、构建和测试,结果写入 PR;PR 目标为 dev。
  • Mirage 升级受控 pin,并复跑真实角色像素、透明背景、帧推进和关闭;移除应用侧临时 GPU 转码绕行。

不增加依赖、资源、生成文件或新公共 API;测试预计仅修改现有单测文件,远低于 500 行/100 KiB 预审门槛。

Lingua principale
C++
Stelle
2k
Fork
177
Merge medio
19h 58m
PR unite (30g)
9

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sudoevolve/EUI-NEO

Tutte le issue di sudoevolve/EUI-NEO

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.