fix(build): the iGPU texture budget's caps build on Linux #2634

Merged
hckrman101 merged 1 commit from fix/texture-budget-linux-build into main 2026-11-12 03:36:50 +00:00
hckrman101 commented 2026-11-12 03:36:02 +00:00 (Migrated from github.com)

main does not build on Linux since #2603: the renderer stops at gpu/vk/vk_texture.cpp (the iGPU texture budget's caps).

Cause

On Linux, uint64_t is unsigned long, while 1536ull << 20 is unsigned long long. So std::min(budget, 1536ull << 20) has two different argument types and does not compile. On Windows (llvm-mingw) uint64_t is unsigned long long, which is why Windows builds.

Fix

The seven std::min / std::max calls name the type: std::min<uint64_t>(budget, 1536ull << 20). Nothing else changes: the values and the logic are the same.

Tested

  • hookshot-build --vk-only on Linux: hookshot_vk.so builds and the ABI check passes. Before this change it failed on these lines.
  • Not run in the game; the change only affects how the code compiles.
`main` does not build on Linux since #2603: the renderer stops at `gpu/vk/vk_texture.cpp` (the iGPU texture budget's caps). ## Cause On Linux, `uint64_t` is `unsigned long`, while `1536ull << 20` is `unsigned long long`. So `std::min(budget, 1536ull << 20)` has two different argument types and does not compile. On Windows (llvm-mingw) `uint64_t` is `unsigned long long`, which is why Windows builds. ## Fix The seven `std::min` / `std::max` calls name the type: `std::min<uint64_t>(budget, 1536ull << 20)`. Nothing else changes: the values and the logic are the same. ## Tested - `hookshot-build --vk-only` on Linux: `hookshot_vk.so` builds and the ABI check passes. Before this change it failed on these lines. - Not run in the game; the change only affects how the code compiles.
Commenting is not possible because the repository is archived.
No description provided.