Commit 56d0f50
committed
fix: avoid double alpha multiplication in rounded popup mask
Keep premultiplied alpha output in the Qt 6 ItemViewport rounded mask shaders.
The popup panel texture is already premultiplied when captured from QSGLayer.
Multiplying by tex.a again darkens partially covered corner pixels and makes
black dots visible on transparent popup corners under fractional scaling such
as 125%.
Log: Fix black dots at popup rounded corners under fractional scaling
fix: 修复弹窗圆角遮罩重复乘 alpha 问题
在 Qt 6 的 ItemViewport 圆角遮罩 shader 中保持正确的 premultiplied alpha
输出。弹窗面板纹理在从 QSGLayer 抓取后已经是 premultiplied,再乘一次 tex.a
会把圆角边缘的半覆盖像素压暗,导致 125% 等分数缩放下透明弹窗圆角出现黑点。
Log: 修复分数缩放下弹窗圆角黑点问题
PMS: BUG-3068471 parent 1aa2c93 commit 56d0f50
2 files changed
Lines changed: 10 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
48 | 50 | | |
49 | | - | |
| 51 | + | |
50 | 52 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
50 | 52 | | |
51 | | - | |
| 53 | + | |
52 | 54 | | |
0 commit comments