Commit 8635f53
committed
examples/10-graphics: 依赖不能被 layer 条件化,反向腿改成比较像素
这个示例最初把 Vulkan loader、运行时适配器与软件设备三条都门控在
`cfg(accelerator = "vulkan")` 上。**这条做不到,而且它失败的方式是安静的一半**:
`accelerator` 是从依赖图里解出来的,所以一个由它选出的依赖会决定它自己正在问的那个
答案 —— mcpp 忽略这个谓词并给出警告,而同一个谓词下的 `[build]` 源照常生效。于是包
被丢掉、包含它的源被留下:
src/vulkan/render.cpp:20:10: fatal error: vulkan/vulkan.h: No such file or directory
谓词改成按平台写(只有 Linux 有的两项用 `cfg(linux)`),包无条件,accelerator 只选
`[build]` 源 —— 既有的 examples/09-heterogeneous/vulkan 一直是这个形状。示例 README
把这条写成正文,因为它是使用者会撞上的规则。
反向腿加强:实测两条腿的中心像素逐字节相同(`(124, 70, 62, 255)`),所以 CI 从
「CPU 腿跑起来了」改成「两条腿报出同一个像素、不同的设备名」—— 这才是这个示例声称
的那个契约。
本地实测:lavapipe 腿 `device: llvmpipe (LLVM 22.1.8, 256 bits)`,CPU 腿
`device: cpu rasteriser`,两者 `centre pixel: (124, 70, 62, 255)`。1 parent c319c1b commit 8635f53
4 files changed
Lines changed: 61 additions & 15 deletions
File tree
- .agents/docs
- .github/workflows
- examples/10-graphics
- offscreen
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
329 | 329 | | |
330 | 330 | | |
331 | 331 | | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
332 | 349 | | |
333 | 350 | | |
334 | 351 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
312 | 312 | | |
313 | 313 | | |
314 | 314 | | |
315 | | - | |
316 | | - | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
317 | 322 | | |
318 | 323 | | |
319 | 324 | | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
320 | 332 | | |
321 | 333 | | |
322 | 334 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
74 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
75 | 82 | | |
76 | 83 | | |
77 | 84 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
26 | 31 | | |
27 | 32 | | |
28 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
29 | 38 | | |
30 | 39 | | |
31 | 40 | | |
32 | 41 | | |
33 | | - | |
34 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
35 | 45 | | |
36 | 46 | | |
37 | 47 | | |
| |||
0 commit comments