fix: return UINT32_MAX from findMemType on failure, add [[nodiscard]]

The findMemType/findMemoryType helper in auth_screen, loading_screen,
and vk_context returned 0 on failure — a valid memory type index.
Changed to return UINT32_MAX and log an error, so vkAllocateMemory
receives an invalid index and fails cleanly rather than silently
using the wrong memory type.

Add [[nodiscard]] to VkBuffer::uploadToGPU/createMapped and
VkContext::initialize/recreateSwapchain so callers that ignore
failure are flagged at compile time. Suppress with (void) cast at
3 call sites where failure is non-actionable (resize best-effort).
This commit is contained in:
Kelsi 2026-03-27 14:53:29 -07:00
parent 7028dd64c1
commit 5b91ef398e
6 changed files with 13 additions and 10 deletions

View file

@ -786,7 +786,8 @@ static uint32_t findMemType(VkPhysicalDevice pd, uint32_t filter, VkMemoryProper
for (uint32_t i = 0; i < mp.memoryTypeCount; i++) {
if ((filter & (1 << i)) && (mp.memoryTypes[i].propertyFlags & props) == props) return i;
}
return 0;
LOG_ERROR("AuthScreen: no suitable memory type found");
return UINT32_MAX;
}
bool AuthScreen::loadBackgroundImage() {