提交修補程式
請參閱「貢獻」一文。
原始碼
核心 Magma 程式碼位於以下位置:
Magma 服務驅動程式位於以下位置:
Magma 用戶端驅動程式是第三方程式碼集。開放原始碼用戶端驅動程式位於 third_party/mesa。
程式設計慣例和格式
- 請使用Google 樣式指南的原始碼。
- 對變更內容執行 clang-format,以維持一致的格式。
用於測試的版本設定
L0 測試專用產品
core
L0 測試套件
src/graphics/lib/magma/tests:l0
適用於 L1 測試的產品
workbench_eng
L1 測試套件
src/graphics/examples:vkcube-on-scenic
提交前測試
如要進一步瞭解 Magma 的測試策略,請參閱「測試策略」。
熔岩 TPS 有幾個層級。每個層級都包含所有先前層級。
提交變更時,請指出測試的 TPS 等級,並在前面加上測試硬體的名稱:
測試: nuc,vim3:go/magma-tps#L1 nuc,vim3:go/magma-tps#S1 nuc,vim3:go/magma-tps#C0 nuc,vim3:go/magma-tps#P0
L0
建構 Fuchsia:
fx build
執行測試指令碼 src/graphics/lib/magma/scripts/test.sh:
./src/graphics/lib/magma/scripts/test.sh
L1
如果您有已連結的螢幕,請執行旋轉 vkcube。這項測試會使用圖片管道交換鏈,將影格傳遞至系統合成器。使用 --with-test src/graphics/examples:vkcube-on-scenic
建構。
透過 Scenic 測試現況:
ffx session add fuchsia-pkg://fuchsia.com/vkcube-on-scenic#meta/vkcube-on-scenic.cm`
S0
執行 vkcube-on-scenic 一整晚 (12 到 24 小時)。
S1
完整的 UI 壓力測試。啟動兩個 spinning_cube
flutter 範例的例項,並讓它們在隔天早上執行。
C0
對於某些變更,建議您在提交前執行 Vulkan 相容性測試套件。請參閱「相容性」一節。
P0
對於某些變更,執行基準測試來驗證效能指標是適當的做法。請參閱「基準測試」。
符合性
如要進一步瞭解 Vulkan 符合性測試套件,請參閱: