Address ChatGPT Vulkan review items

- Add PickRenderableFormat / IsColorAttachmentSupported so 3-channel
  Vulkan formats fall back to 4-channel when unsupported.
- Make oakvulkan target and C ABI check conditional on Vulkan_FOUND;
  skip liboakvulkan build/dependencies when Vulkan headers/libs are
  absent.
- Update Preferences tooltip to reflect Vulkan is an experimental
  prototype that may fall back to OpenGL.
- Revise dynamic backend plan doc: phase 3/4/5 described as prototype
  frameworks with runtime validation pending, and list recent Vulkan
  fixes (init idempotency, descriptor/sampler lifetime, dynamic
  viewport/scissor, render pass clear, format probing).

Both OAK_ENABLE_DYNAMIC_RENDER_BACKEND=ON and OFF configurations
build and pass ctest (4/4).
This commit is contained in:
2026-07-13 10:19:29 +08:00
parent 225f8505c2
commit b4e39e5bcd
6 changed files with 201 additions and 101 deletions
@@ -104,8 +104,8 @@ PreferencesBehaviorTab::PreferencesBehaviorTab()
new QTreeWidgetItem({ tr("Graphics Backend") });
graphics_backend_item->setToolTip(
0, tr("Selects the graphics API Oak should request on next launch. "
"Vulkan is experimental and currently falls back to the OpenGL "
"renderer for timeline/viewer rendering."));
"Vulkan is experimental: on most systems it will fall back to "
"OpenGL or use a prototype Vulkan path that is not yet fully validated."));
rendering_group->addChild(graphics_backend_item);
graphics_backend_combobox_ = new QComboBox();
graphics_backend_combobox_->addItem(tr("OpenGL"), QStringLiteral("opengl"));