P3: -gr_sync_validation reports itself enabled but never turns on synchronization validation
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- cpp
調査の方向性
VulkanRenderer::initializeInstance から始めてください。ここでは OpenXR 以外の経路が、そのままの createInfo を vk::createInstanceUnique に渡しています。これを、createInstanceChain の先頭を渡す OpenXR 分岐と比較してください。Vulkan を有効にして Debug ビルドし、-gr_sync_validation を付けて起動し、fs2_open.log で SYNC-HAZARD の行を確認してください。フラグだけで、VK_KHRONOS_VALIDATION_VALIDATE_SYNC=true が報告するのと同じハザードが報告されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
-gr_sync_validation does not turn on Vulkan synchronization validation. The log says "Vulkan: Synchronization validation enabled (-gr_sync_validation)", but no synchronization hazards are ever reported, so a clean run with the flag proves nothing. Outside OpenXR, vk::createInstanceUnique is passed the bare createInfo instead of the head of the structure chain, so the validation-features struct (and the debug messenger meant to catch messages during instance creation) never reaches the driver. The OpenXR branch passes the chain correctly.
Steps to reproduce
- Build current master (tested on 8afa31842) in Debug with Vulkan, MediaVPs 5.0.2, no other mods.
- Run SM1-01 with
-vulkan -gr_sync_validationfor about 20 seconds of gameplay.fs2_open.log: the "Synchronization validation enabled" line, 0 lines containingSYNC-HAZARD. - Run the same thing again with the environment variable
VK_KHRONOS_VALIDATION_VALIDATE_SYNC=true(which turns the same check on from the validation layer's side).fs2_open.log: 10SYNC-HAZARD-WRITE-AFTER-WRITElines fromvkCmdClearAttachmentsin the same 20 seconds.
Expected vs. actual behavior
- Expected: the flag alone reports the same hazards as step 3.
- Actual: the flag alone reports none, while the log claims it is on.
Proposed fixes
- In
VulkanRenderer::initializeInstance, passcreateInstanceChain.get<vk::InstanceCreateInfo>()tovk::createInstanceUnique, as the OpenXR branch already does. - Same change, plus a one-time check after instance creation that logs whether the layer accepted synchronization validation, so the log line reflects what actually happened.
- Same change, plus a note in the flag's help text that
VK_KHRONOS_VALIDATION_VALIDATE_SYNC=trueworks as a fallback on older builds.
The hazards in step 3 are reported as observed; I have not looked into whether each is a real problem.
- 主要言語
- C++
- スター
- 488
- フォーク
- 184
- 平均マージ
- 2日 1分
- マージ済み PR(30日)
- 26
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
scp-fs2open/fs2open.github.com のほかの issue
-
P4: The OpenGL ES option stays on when OpenGL is off ("OFF FORCE" without CACHE)対応中かも @Shivansps が 155 日前に担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 74/100
scp-fs2open/fs2open.github.com#7984 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
scp-fs2open/fs2open.github.com#7969 ·
メンテナーはふだん 1 日以内に返信
-
P4: Standalone web API can read past its request buffer on a large request body対応中かも @dustinspace217 が 2 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
scp-fs2open/fs2open.github.com#7965 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
scp-fs2open/fs2open.github.com#7956 ·
メンテナーはふだん 1 日以内に返信
-
bug HUD LLM-suggested
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
scp-fs2open/fs2open.github.com#7953 ·
メンテナーはふだん 1 日以内に返信
scp-fs2open/fs2open.github.com の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
bug needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
microsoft/microsoft-ui-xaml#12515 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
FujiNetWIFI/fujinet-firmware#2261 ·
メンテナーはふだん 1 日以内に返信
-
bug difficulty: easy good first issue help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
nagisa-kamishiro/rosehip#73 ·
メンテナーはふだん 1 日以内に返信
-
bazel bug odb
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
The-OpenROAD-Project/OpenROAD#12095 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信