Skip to content

rendering: fix MSVC/clang-cl /WX conformance in the Vulkan renderer - #8

Merged
brianmk merged 1 commit into
perf/coown-ir-geometry-mergedfrom
fix/vulkan-renderer-windows-conformance
Sep 6, 2026
Merged

brianmk merged 1 commit into
perf/coown-ir-geometry-mergedfrom
fix/vulkan-renderer-windows-conformance

Conversation

@brianmk

@brianmk brianmk commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Bundled Coin builds with COIN_STRICT_WARNINGS=OFF, so these only surface on Windows /WX. Fix the class clang-cl /W4 /WX turns into errors so the fork's Windows CI doesn't fail at the Coin compile step:

  • CMake: add -DNOMINMAX (min/max macros leak via windows.h through the Vulkan WSI headers)
  • mark unused allocator param / mapped lambda capture / debug vkRenderBreadcrumb, drop unused [this] capture, mark diagnostic vars maybe_unused
  • getenv C4996 already handled by the existing _CRT_SECURE_NO_WARNINGS
    Verified with a Linux clang -Wall -Wextra -Werror scan of the Vulkan/RTX renderer (0 -Wunused-*) and a clang -Werror bundled build.

The bundled Coin is built with COIN_STRICT_WARNINGS=OFF, so these warnings only
surface on a Windows /WX build.  Fix the class of issue clang-cl /W4 /WX turns
into errors so the fork's Windows CI does not fail at the Coin compile step.

- CMake: add -DNOMINMAX to the MSVC define block (windows.h leaks the min/max
  macros, breaking std::min/std::max via the Vulkan WSI headers)
- SoVulkanShared: mark the unused VkAllocationCallbacks* param unused
- RTX geometry: drop the unused 'mapped' lambda capture
- RTX denoise: []() instead of [this]()  + mark the diagnostic nrmR maybe_unused
- RTX path tracing: mark the unused drawlist param unnamed
- Vulkan frame: mark the unused raster reference maybe_unused
- Render manager: mark the debug vkRenderBreadcrumb helper maybe_unused

getenv C4996 needs nothing: the coin CMake if(MSVC) block already defines
_CRT_SECURE_NO_WARNINGS.  Verified with a Linux clang -Wall -Wextra -Werror scan
of the Vulkan/RTX renderer (0 -Wunused-*) and a clang -Werror bundled build.
@brianmk
brianmk changed the base branch from fix/rt-light-transparency to perf/coown-ir-geometry-merged September 6, 2026 05:00
@brianmk
brianmk force-pushed the fix/vulkan-renderer-windows-conformance branch from 75e207f to dcf6b4a Compare September 6, 2026 05:01
@brianmk
brianmk merged commit 6d5a635 into perf/coown-ir-geometry-merged Sep 6, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant