feat(bindless): Fix warnings in 32-bit build

This commit is contained in:
PancakeTAS 2026-05-09 19:54:59 +02:00
parent 7baf9ca74e
commit 4f4ebb88df
No known key found for this signature in database
3 changed files with 8 additions and 7 deletions

View file

@ -110,7 +110,7 @@ Pipeline::Pipeline(
}; };
// Create the Vulkan images // Create the Vulkan images
size_t alignment{}; vk::DeviceSize alignment{};
uint32_t types{~0U}; uint32_t types{~0U};
const vk::Extent2D flowExtent{ const vk::Extent2D flowExtent{
@ -643,7 +643,7 @@ Pipeline::Pipeline(
for (const auto& sampledImage : stage.sampledImages) { for (const auto& sampledImage : stage.sampledImages) {
const auto& image = this->m_images.at(sampledImage); const auto& image = this->m_images.at(sampledImage);
for (const auto& subimage : image.subimages) { for (const auto& subimage : image.subimages) {
const vk::Image& imageHandle{*subimage.image}; auto imageHandle{static_cast<const VkImage>(*subimage.image)}; // NOLINT (32-bit)
if (stageBarriers.contains(imageHandle)) { if (stageBarriers.contains(imageHandle)) {
stageBarriers[imageHandle].dstAccessMask = vk::AccessFlagBits2::eShaderRead; stageBarriers[imageHandle].dstAccessMask = vk::AccessFlagBits2::eShaderRead;
continue; continue;
@ -666,7 +666,7 @@ Pipeline::Pipeline(
for (const auto& storageImage : stage.storageImages) { for (const auto& storageImage : stage.storageImages) {
const auto& image = this->m_images.at(storageImage); const auto& image = this->m_images.at(storageImage);
for (const auto& subimage : image.subimages) { for (const auto& subimage : image.subimages) {
const vk::Image& imageHandle{*subimage.image}; auto imageHandle{static_cast<const VkImage>(*subimage.image)}; // NOLINT (32-bit)
if (stageBarriers.contains(imageHandle)) { if (stageBarriers.contains(imageHandle)) {
stageBarriers[imageHandle].dstAccessMask = vk::AccessFlagBits2::eShaderWrite; stageBarriers[imageHandle].dstAccessMask = vk::AccessFlagBits2::eShaderWrite;
continue; continue;
@ -726,7 +726,7 @@ Pipeline::Pipeline(
for (const auto& sampledImage : stage.sampledImages) { for (const auto& sampledImage : stage.sampledImages) {
const auto& image = this->m_images.at(sampledImage); const auto& image = this->m_images.at(sampledImage);
for (const auto& subimage : image.subimages) { for (const auto& subimage : image.subimages) {
stageBarriers[*subimage.image] = { stageBarriers[static_cast<VkImage>(*subimage.image)] = {
.srcStageMask = vk::PipelineStageFlagBits2::eComputeShader, .srcStageMask = vk::PipelineStageFlagBits2::eComputeShader,
.srcAccessMask = vk::AccessFlagBits2::eShaderRead, .srcAccessMask = vk::AccessFlagBits2::eShaderRead,
.dstStageMask = vk::PipelineStageFlagBits2::eComputeShader, .dstStageMask = vk::PipelineStageFlagBits2::eComputeShader,
@ -743,7 +743,7 @@ Pipeline::Pipeline(
for (const auto& storageImage : stage.storageImages) { for (const auto& storageImage : stage.storageImages) {
const auto& image = this->m_images.at(storageImage); const auto& image = this->m_images.at(storageImage);
for (const auto& subimage : image.subimages) { for (const auto& subimage : image.subimages) {
stageBarriers[*subimage.image] = { stageBarriers[static_cast<VkImage>(*subimage.image)] = {
.srcStageMask = vk::PipelineStageFlagBits2::eComputeShader, .srcStageMask = vk::PipelineStageFlagBits2::eComputeShader,
.srcAccessMask = vk::AccessFlagBits2::eShaderWrite, .srcAccessMask = vk::AccessFlagBits2::eShaderWrite,
.dstStageMask = vk::PipelineStageFlagBits2::eComputeShader, .dstStageMask = vk::PipelineStageFlagBits2::eComputeShader,

View file

@ -411,7 +411,7 @@ vk::UniqueDeviceMemory vkhelper::allocateMemory(
const vk::detail::DispatchLoaderDynamic& dld, const vk::detail::DispatchLoaderDynamic& dld,
const vk::Device& device, const vk::Device& device,
const vk::PhysicalDevice& physdev, const vk::PhysicalDevice& physdev,
size_t size, vk::DeviceSize size,
std::bitset<32> types, std::bitset<32> types,
bool hostVisible bool hostVisible
) { ) {

View file

@ -3,6 +3,7 @@
#pragma once #pragma once
#define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1 #define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
#define VULKAN_HPP_TYPESAFE_CONVERSION 0
#define VULKAN_HPP_NO_DEFAULT_DISPATCHER 1 #define VULKAN_HPP_NO_DEFAULT_DISPATCHER 1
#define VULKAN_HPP_NO_CONSTRUCTORS 1 #define VULKAN_HPP_NO_CONSTRUCTORS 1
#define VULKAN_HPP_NO_SETTERS 1 #define VULKAN_HPP_NO_SETTERS 1
@ -272,7 +273,7 @@ namespace vkhelper {
const vk::detail::DispatchLoaderDynamic& dld, const vk::detail::DispatchLoaderDynamic& dld,
const vk::Device& device, const vk::Device& device,
const vk::PhysicalDevice& physdev, const vk::PhysicalDevice& physdev,
size_t size, vk::DeviceSize size,
std::bitset<32> types, std::bitset<32> types,
bool hostVisible = false bool hostVisible = false
); );