mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2026-04-22 02:11:43 +00:00
fix: change various definitions for x86 support
This commit is contained in:
parent
b2928e4ce6
commit
ceff118e8a
17 changed files with 68 additions and 71 deletions
|
|
@ -3,6 +3,7 @@
|
|||
#include "dll_reader.hpp"
|
||||
#include "lsfg-vk-common/helpers/errors.hpp"
|
||||
|
||||
#include <ios>
|
||||
#include <unordered_map>
|
||||
#include <filesystem>
|
||||
#include <algorithm>
|
||||
|
|
@ -103,7 +104,7 @@ std::unordered_map<uint32_t, std::vector<uint8_t>> backend::extractResourcesFrom
|
|||
if (!file.is_open())
|
||||
throw ls::error("failed to open dll file");
|
||||
|
||||
const auto size = file.tellg();
|
||||
const std::streamsize size = static_cast<std::streamsize>(file.tellg());
|
||||
file.seekg(0, std::ios::beg);
|
||||
|
||||
std::vector<uint8_t> data(static_cast<size_t>(size));
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ Instance::Instance(
|
|||
for (const auto& device : devices) {
|
||||
// check if the physical device supports VK_EXT_pci_bus_info
|
||||
uint32_t ext_count{};
|
||||
funcs.EnumerateDeviceExtensionProperties(device, nullptr, &ext_count, nullptr);
|
||||
funcs.EnumerateDeviceExtensionProperties(device, nullptr, &ext_count, VK_NULL_HANDLE);
|
||||
|
||||
std::vector<VkExtensionProperties> extensions(ext_count);
|
||||
funcs.EnumerateDeviceExtensionProperties(device, nullptr, &ext_count, extensions.data());
|
||||
|
|
@ -610,7 +610,7 @@ void Context::scheduleFrames() {
|
|||
cmdbuf.submit(this->ctx.vk,
|
||||
{}, this->prepassSemaphore.handle(), this->idx - 1,
|
||||
{}, this->syncSemaphore.handle(), this->idx + i,
|
||||
i == this->destImages.size() - 1 ? this->cmdbufFence.handle() : nullptr
|
||||
i == this->destImages.size() - 1 ? this->cmdbufFence.handle() : VK_NULL_HANDLE
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ namespace {
|
|||
if (!file.is_open())
|
||||
throw ls::error("ifstream::ifstream() failed");
|
||||
|
||||
std::streamsize size = file.tellg();
|
||||
std::streamsize size = static_cast<std::streamsize>(file.tellg());
|
||||
size -= 124 + 4; // dds header and magic bytes
|
||||
|
||||
std::vector<char> code(static_cast<size_t>(size));
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ namespace vk {
|
|||
VkSemaphore waitTimelineSemaphore, uint64_t waitValue,
|
||||
std::vector<VkSemaphore> signalSemaphores,
|
||||
VkSemaphore signalTimelineSemaphore, uint64_t signalValue,
|
||||
VkFence fence = nullptr) const;
|
||||
VkFence fence = VK_NULL_HANDLE) const;
|
||||
|
||||
/// submit the command buffer instantly
|
||||
/// @param vk the vulkan instance
|
||||
|
|
|
|||
|
|
@ -27,14 +27,14 @@ namespace {
|
|||
.usage = usage,
|
||||
.sharingMode = VK_SHARING_MODE_EXCLUSIVE
|
||||
};
|
||||
auto res = vk.df().CreateBuffer(vk.dev(), &bufferInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateBuffer(vk.dev(), &bufferInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateBuffer() failed");
|
||||
|
||||
return ls::owned_ptr<VkBuffer>(
|
||||
new VkBuffer(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroyBuffer](VkBuffer& buffer) {
|
||||
defunc(dev, buffer, nullptr);
|
||||
defunc(dev, buffer, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -57,7 +57,7 @@ namespace {
|
|||
.allocationSize = reqs.size,
|
||||
.memoryTypeIndex = *mti
|
||||
};
|
||||
auto res = vk.df().AllocateMemory(vk.dev(), &memoryInfo, nullptr, &handle);
|
||||
auto res = vk.df().AllocateMemory(vk.dev(), &memoryInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkAllocateMemory() failed");
|
||||
|
||||
|
|
@ -68,7 +68,7 @@ namespace {
|
|||
return ls::owned_ptr<VkDeviceMemory>(
|
||||
new VkDeviceMemory(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().FreeMemory](VkDeviceMemory& memory) {
|
||||
defunc(dev, memory, nullptr);
|
||||
defunc(dev, memory, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,8 +70,8 @@ void CommandBuffer::insertBarriers(const vk::Vulkan& vk,
|
|||
vk.df().CmdPipelineBarrier(*this->commandBuffer,
|
||||
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
|
||||
0,
|
||||
0, nullptr,
|
||||
0, nullptr,
|
||||
0, VK_NULL_HANDLE,
|
||||
0, VK_NULL_HANDLE,
|
||||
static_cast<uint32_t>(barriers.size()), barriers.data()
|
||||
);
|
||||
}
|
||||
|
|
@ -85,8 +85,8 @@ void CommandBuffer::dispatch(const vk::Vulkan& vk,
|
|||
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
|
||||
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
|
||||
0,
|
||||
0, nullptr,
|
||||
0, nullptr,
|
||||
0, VK_NULL_HANDLE,
|
||||
0, VK_NULL_HANDLE,
|
||||
static_cast<uint32_t>(barriers.size()), barriers.data()
|
||||
);
|
||||
vk.df().CmdBindPipeline(*this->commandBuffer,
|
||||
|
|
@ -97,7 +97,7 @@ void CommandBuffer::dispatch(const vk::Vulkan& vk,
|
|||
VK_PIPELINE_BIND_POINT_COMPUTE,
|
||||
shader.pipelinelayout(),
|
||||
0, 1, &set.handle(),
|
||||
0, nullptr
|
||||
0, VK_NULL_HANDLE
|
||||
);
|
||||
vk.df().CmdDispatch(*this->commandBuffer, x, y, z);
|
||||
}
|
||||
|
|
@ -109,8 +109,8 @@ void CommandBuffer::blitImage(const vk::Vulkan& vk,
|
|||
vk.df().CmdPipelineBarrier(*this->commandBuffer,
|
||||
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||
0,
|
||||
0, nullptr,
|
||||
0, nullptr,
|
||||
0, VK_NULL_HANDLE,
|
||||
0, VK_NULL_HANDLE,
|
||||
static_cast<uint32_t>(preBarriers.size()), preBarriers.data()
|
||||
);
|
||||
|
||||
|
|
@ -144,8 +144,8 @@ void CommandBuffer::blitImage(const vk::Vulkan& vk,
|
|||
vk.df().CmdPipelineBarrier(*this->commandBuffer,
|
||||
VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
|
||||
0,
|
||||
0, nullptr,
|
||||
0, nullptr,
|
||||
0, VK_NULL_HANDLE,
|
||||
0, VK_NULL_HANDLE,
|
||||
static_cast<uint32_t>(postBarriers.size()), postBarriers.data()
|
||||
);
|
||||
}
|
||||
|
|
@ -168,8 +168,8 @@ void CommandBuffer::copyBufferToImage(const vk::Vulkan& vk,
|
|||
vk.df().CmdPipelineBarrier(*this->commandBuffer,
|
||||
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||
0,
|
||||
0, nullptr,
|
||||
0, nullptr,
|
||||
0, VK_NULL_HANDLE,
|
||||
0, VK_NULL_HANDLE,
|
||||
1, &barrier
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -43,14 +43,14 @@ namespace {
|
|||
.poolSizeCount = static_cast<uint32_t>(poolCounts.size()),
|
||||
.pPoolSizes = poolCounts.data()
|
||||
};
|
||||
auto res = vk.df().CreateDescriptorPool(vk.dev(), &descpoolInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateDescriptorPool(vk.dev(), &descpoolInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateDescriptorPool() failed");
|
||||
|
||||
return ls::owned_ptr<VkDescriptorPool>(
|
||||
new VkDescriptorPool(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroyDescriptorPool](VkDescriptorPool& pool) {
|
||||
defunc(dev, pool, nullptr);
|
||||
defunc(dev, pool, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,12 +24,11 @@ namespace {
|
|||
const vk::DescriptorPool& pool, const vk::Shader& shader) {
|
||||
VkDescriptorSet handle{};
|
||||
|
||||
auto* layout = shader.descriptorlayout();
|
||||
const VkDescriptorSetAllocateInfo setInfo{
|
||||
.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
|
||||
.descriptorPool = pool.handle(),
|
||||
.descriptorSetCount = 1,
|
||||
.pSetLayouts = &layout
|
||||
.pSetLayouts = &shader.descriptorlayout()
|
||||
};
|
||||
auto res = vk.df().AllocateDescriptorSets(vk.dev(), &setInfo, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
|
|
@ -126,5 +125,5 @@ DescriptorSet::DescriptorSet(const vk::Vulkan& vk,
|
|||
});
|
||||
|
||||
vk.df().UpdateDescriptorSets(vk.dev(),
|
||||
static_cast<uint32_t>(entries.size()), entries.data(), 0, nullptr);
|
||||
static_cast<uint32_t>(entries.size()), entries.data(), 0, VK_NULL_HANDLE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@ namespace {
|
|||
const VkFenceCreateInfo fenceInfo{
|
||||
.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO
|
||||
};
|
||||
auto res = vk.df().CreateFence(vk.dev(), &fenceInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateFence(vk.dev(), &fenceInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateFence() failed");
|
||||
|
||||
return ls::owned_ptr<VkFence>(
|
||||
new VkFence(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroyFence](VkFence& fence) {
|
||||
defunc(dev, fence, nullptr);
|
||||
defunc(dev, fence, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -36,15 +36,13 @@ Fence::Fence(const vk::Vulkan& vk)
|
|||
: fence(createFence(vk)) {}
|
||||
|
||||
void Fence::reset(const vk::Vulkan& vk) const {
|
||||
VkFence fence = *this->fence;
|
||||
auto res = vk.df().ResetFences(vk.dev(), 1, &fence);
|
||||
auto res = vk.df().ResetFences(vk.dev(), 1, &*this->fence);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkResetFences() failed");
|
||||
}
|
||||
|
||||
bool Fence::wait(const vk::Vulkan& vk, uint64_t timeout) const {
|
||||
VkFence fence = *this->fence;
|
||||
auto res = vk.df().WaitForFences(vk.dev(), 1, &fence, VK_TRUE, timeout);
|
||||
auto res = vk.df().WaitForFences(vk.dev(), 1, &*this->fence, VK_TRUE, timeout);
|
||||
if (res != VK_SUCCESS && res != VK_TIMEOUT)
|
||||
throw ls::vulkan_error(res, "vkWaitForFences() failed");
|
||||
|
||||
|
|
|
|||
|
|
@ -39,14 +39,14 @@ namespace {
|
|||
.usage = usage,
|
||||
.sharingMode = VK_SHARING_MODE_EXCLUSIVE
|
||||
};
|
||||
auto res = vk.df().CreateImage(vk.dev(), &imageInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateImage(vk.dev(), &imageInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateImage() failed");
|
||||
|
||||
return ls::owned_ptr<VkImage>(
|
||||
new VkImage(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroyImage](VkImage& image) {
|
||||
defunc(dev, image, nullptr);
|
||||
defunc(dev, image, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -91,7 +91,7 @@ namespace {
|
|||
.allocationSize = reqs.size,
|
||||
.memoryTypeIndex = *mti
|
||||
};
|
||||
auto res = vk.df().AllocateMemory(vk.dev(), &memoryInfo, nullptr, &handle);
|
||||
auto res = vk.df().AllocateMemory(vk.dev(), &memoryInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkAllocateMemory() failed");
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ namespace {
|
|||
return ls::owned_ptr<VkDeviceMemory>(
|
||||
new VkDeviceMemory(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().FreeMemory](VkDeviceMemory& memory) {
|
||||
defunc(dev, memory, nullptr);
|
||||
defunc(dev, memory, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -137,14 +137,14 @@ namespace {
|
|||
.layerCount = 1
|
||||
}
|
||||
};
|
||||
auto res = vk.df().CreateImageView(vk.dev(), &viewInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateImageView(vk.dev(), &viewInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateImageView() failed");
|
||||
|
||||
return ls::owned_ptr<VkImageView>(
|
||||
new VkImageView(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroyImageView](VkImageView& view) {
|
||||
defunc(dev, view, nullptr);
|
||||
defunc(dev, view, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,14 +29,14 @@ namespace {
|
|||
white ? VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE
|
||||
: VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK
|
||||
};
|
||||
auto res = vk.df().CreateSampler(vk.dev(), &samplerInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateSampler(vk.dev(), &samplerInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateSampler() failed");
|
||||
|
||||
return ls::owned_ptr<VkSampler>(
|
||||
new VkSampler(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroySampler](VkSampler& sampler) {
|
||||
defunc(dev, sampler, nullptr);
|
||||
defunc(dev, sampler, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ namespace {
|
|||
.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
|
||||
.pNext = fd.has_value() ? &exportInfo : nullptr
|
||||
};
|
||||
auto res = vk.df().CreateSemaphore(vk.dev(), &semaphoreInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateSemaphore(vk.dev(), &semaphoreInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateSemaphore() failed");
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ namespace {
|
|||
return ls::owned_ptr<VkSemaphore>(
|
||||
new VkSemaphore(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroySemaphore](VkSemaphore& semaphore) {
|
||||
defunc(dev, semaphore, nullptr);
|
||||
defunc(dev, semaphore, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,14 +25,14 @@ namespace {
|
|||
.codeSize = data_len,
|
||||
.pCode = reinterpret_cast<const uint32_t*>(data)
|
||||
};
|
||||
auto res = vk.df().CreateShaderModule(vk.dev(), &shaderModuleInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateShaderModule(vk.dev(), &shaderModuleInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateShaderModule() failed");
|
||||
|
||||
return ls::owned_ptr<VkShaderModule>(
|
||||
new VkShaderModule(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroyShaderModule](VkShaderModule& shaderModule) {
|
||||
defunc(dev, shaderModule, nullptr);
|
||||
defunc(dev, shaderModule, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -80,7 +80,7 @@ namespace {
|
|||
.bindingCount = static_cast<uint32_t>(bindings.size()),
|
||||
.pBindings = bindings.data()
|
||||
};
|
||||
auto res = vk.df().CreateDescriptorSetLayout(vk.dev(), &info, nullptr, &handle);
|
||||
auto res = vk.df().CreateDescriptorSetLayout(vk.dev(), &info, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateDescriptorSetLayout() failed");
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ namespace {
|
|||
[dev = vk.dev(), defunc = vk.df().DestroyDescriptorSetLayout](
|
||||
VkDescriptorSetLayout& layout
|
||||
) {
|
||||
defunc(dev, layout, nullptr);
|
||||
defunc(dev, layout, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -104,14 +104,14 @@ namespace {
|
|||
.setLayoutCount = 1,
|
||||
.pSetLayouts = &descriptorLayout
|
||||
};
|
||||
auto res = vk.df().CreatePipelineLayout(vk.dev(), &layoutInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreatePipelineLayout(vk.dev(), &layoutInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreatePipelineLayout() failed");
|
||||
|
||||
return ls::owned_ptr<VkPipelineLayout>(
|
||||
new VkPipelineLayout(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroyPipelineLayout](VkPipelineLayout& layout) {
|
||||
defunc(dev, layout, nullptr);
|
||||
defunc(dev, layout, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -134,14 +134,14 @@ namespace {
|
|||
.layout = pipelineLayout
|
||||
};
|
||||
auto res = vk.df().CreateComputePipelines(vk.dev(),
|
||||
vk.cache(), 1, &pipelineInfo, nullptr, &handle);
|
||||
vk.cache(), 1, &pipelineInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateComputePipelines() failed");
|
||||
|
||||
return ls::owned_ptr<VkPipeline>(
|
||||
new VkPipeline(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroyPipeline](VkPipeline& pipeline) {
|
||||
defunc(dev, pipeline, nullptr);
|
||||
defunc(dev, pipeline, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ namespace {
|
|||
.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
|
||||
.pNext = &typeInfo,
|
||||
};
|
||||
auto res = vk.df().CreateSemaphore(vk.dev(), &semaphoreInfo, nullptr, &handle);
|
||||
auto res = vk.df().CreateSemaphore(vk.dev(), &semaphoreInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateSemaphore() failed");
|
||||
|
||||
|
|
@ -67,7 +67,7 @@ namespace {
|
|||
return ls::owned_ptr<VkSemaphore>(
|
||||
new VkSemaphore(handle),
|
||||
[dev = vk.dev(), defunc = vk.df().DestroySemaphore](VkSemaphore& semaphore) {
|
||||
defunc(dev, semaphore, nullptr);
|
||||
defunc(dev, semaphore, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -89,11 +89,10 @@ void TimelineSemaphore::signal(const vk::Vulkan& vk, uint64_t value) const {
|
|||
}
|
||||
|
||||
bool TimelineSemaphore::wait(const vk::Vulkan& vk, uint64_t value, uint64_t timeout) const {
|
||||
VkSemaphore semaphore = *this->semaphore;
|
||||
const VkSemaphoreWaitInfo waitInfo{
|
||||
.sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
|
||||
.semaphoreCount = 1,
|
||||
.pSemaphores = &semaphore,
|
||||
.pSemaphores = &*this->semaphore,
|
||||
.pValues = &value
|
||||
};
|
||||
auto res = vk.df().WaitSemaphoresKHR(vk.dev(), &waitInfo, timeout);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ namespace {
|
|||
VkInstance handle{};
|
||||
|
||||
auto vkCreateInstance =
|
||||
ipa<PFN_vkCreateInstance>(get_mpa(), nullptr, "vkCreateInstance");
|
||||
ipa<PFN_vkCreateInstance>(get_mpa(), VK_NULL_HANDLE, "vkCreateInstance");
|
||||
if (!vkCreateInstance)
|
||||
throw ls::vulkan_error("failed to get vkCreateInstance symbol");
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ namespace {
|
|||
.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
|
||||
.pApplicationInfo = &appInfo
|
||||
};
|
||||
auto res = vkCreateInstance(&instanceInfo, nullptr, &handle);
|
||||
auto res = vkCreateInstance(&instanceInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateInstance() failed");
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ namespace {
|
|||
return ls::owned_ptr<VkInstance>(
|
||||
new VkInstance(handle),
|
||||
[defunc](VkInstance& instance) {
|
||||
defunc(instance, nullptr);
|
||||
defunc(instance, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -103,7 +103,7 @@ namespace {
|
|||
VkInstance instance,
|
||||
PhysicalDeviceSelector filter) {
|
||||
uint32_t phydevCount{};
|
||||
auto res = fi.EnumeratePhysicalDevices(instance, &phydevCount, nullptr);
|
||||
auto res = fi.EnumeratePhysicalDevices(instance, &phydevCount, VK_NULL_HANDLE);
|
||||
if (res != VK_SUCCESS || phydevCount == 0)
|
||||
throw ls::vulkan_error(res, "vkEnumeratePhysicalDevices() failed");
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ namespace {
|
|||
uint32_t findQFI(const VulkanInstanceFuncs& fi,
|
||||
VkPhysicalDevice physdev, VkQueueFlags flags) {
|
||||
uint32_t queueCount{};
|
||||
fi.GetPhysicalDeviceQueueFamilyProperties(physdev, &queueCount, nullptr);
|
||||
fi.GetPhysicalDeviceQueueFamilyProperties(physdev, &queueCount, VK_NULL_HANDLE);
|
||||
|
||||
std::vector<VkQueueFamilyProperties> queues(queueCount);
|
||||
fi.GetPhysicalDeviceQueueFamilyProperties(physdev, &queueCount, queues.data());
|
||||
|
|
@ -188,7 +188,7 @@ namespace {
|
|||
.enabledExtensionCount = static_cast<uint32_t>(requestedExtensions.size()),
|
||||
.ppEnabledExtensionNames = requestedExtensions.data()
|
||||
};
|
||||
auto res = fi.CreateDevice(physdev, &deviceInfo, nullptr, &handle);
|
||||
auto res = fi.CreateDevice(physdev, &deviceInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateDevice() failed");
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ namespace {
|
|||
return ls::owned_ptr<VkDevice>(
|
||||
new VkDevice(handle),
|
||||
[defunc](VkDevice& device) {
|
||||
defunc(device, nullptr);
|
||||
defunc(device, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -230,14 +230,14 @@ namespace {
|
|||
.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT,
|
||||
.queueFamilyIndex = cfi
|
||||
};
|
||||
auto res = fd.CreateCommandPool(device, &cmdpoolInfo, nullptr, &handle);
|
||||
auto res = fd.CreateCommandPool(device, &cmdpoolInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreateCommandPool() failed");
|
||||
|
||||
return ls::owned_ptr<VkCommandPool>(
|
||||
new VkCommandPool(handle),
|
||||
[dev = device, defunc = fd.DestroyCommandPool](VkCommandPool& pool) {
|
||||
defunc(dev, pool, nullptr);
|
||||
defunc(dev, pool, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -248,7 +248,7 @@ namespace {
|
|||
if (!file.is_open())
|
||||
return;
|
||||
|
||||
const std::streamsize size = file.tellg();
|
||||
const std::streamsize size = static_cast<std::streamsize>(file.tellg());
|
||||
data = std::vector<uint8_t>(static_cast<size_t>(size));
|
||||
|
||||
file.seekg(0, std::ios::beg);
|
||||
|
|
@ -271,14 +271,14 @@ namespace {
|
|||
.initialDataSize = cache.size(),
|
||||
.pInitialData = cache.data()
|
||||
};
|
||||
auto res = fd.CreatePipelineCache(device, &pipelineCacheInfo, nullptr, &handle);
|
||||
auto res = fd.CreatePipelineCache(device, &pipelineCacheInfo, VK_NULL_HANDLE, &handle);
|
||||
if (res != VK_SUCCESS)
|
||||
throw ls::vulkan_error(res, "vkCreatePipelineCache() failed");
|
||||
|
||||
return ls::owned_ptr<VkPipelineCache>(
|
||||
new VkPipelineCache(handle),
|
||||
[dev = device, defunc = fd.DestroyPipelineCache](VkPipelineCache& cache) {
|
||||
defunc(dev, cache, nullptr);
|
||||
defunc(dev, cache, VK_NULL_HANDLE);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ namespace {
|
|||
|
||||
// create instance
|
||||
auto* vkCreateInstance = reinterpret_cast<PFN_vkCreateInstance>(
|
||||
layer_info->GetInstanceProcAddr(nullptr, "vkCreateInstance"));
|
||||
layer_info->GetInstanceProcAddr(VK_NULL_HANDLE, "vkCreateInstance"));
|
||||
if (!vkCreateInstance) {
|
||||
std::cerr << "lsfg-vk: failed to get next layer's vkCreateInstance, "
|
||||
"the previous layer does not follow spec\n";
|
||||
|
|
@ -312,7 +312,7 @@ namespace {
|
|||
// get all swapchain images
|
||||
uint32_t imageCount{};
|
||||
auto res = it->second.df().GetSwapchainImagesKHR(device, *swapchain,
|
||||
&imageCount, nullptr);
|
||||
&imageCount, VK_NULL_HANDLE);
|
||||
if (res != VK_SUCCESS || imageCount == 0)
|
||||
throw ls::vulkan_error(res, "vkGetSwapchainImagesKHR() failed");
|
||||
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ VkResult Swapchain::present(const vk::Vulkan& vk,
|
|||
}
|
||||
|
||||
// wait for completion of previous frame
|
||||
if (this->fidx && !this->renderFence->wait(vk, 150UL * 1000 * 1000))
|
||||
if (this->fidx && !this->renderFence->wait(vk, 150ULL * 1000 * 1000))
|
||||
throw ls::vulkan_error(VK_TIMEOUT, "vkWaitForFences() failed");
|
||||
this->renderFence->reset(vk);
|
||||
|
||||
|
|
@ -196,7 +196,7 @@ VkResult Swapchain::present(const vk::Vulkan& vk,
|
|||
|
||||
cmdbuf.end(vk);
|
||||
cmdbuf.submit(vk,
|
||||
semaphores, nullptr, 0,
|
||||
semaphores, VK_NULL_HANDLE, 0,
|
||||
{}, this->syncSemaphore->handle(), this->idx++
|
||||
);
|
||||
|
||||
|
|
@ -262,8 +262,8 @@ VkResult Swapchain::present(const vk::Vulkan& vk,
|
|||
cmdbuf.end(vk);
|
||||
cmdbuf.submit(vk,
|
||||
waitSemaphores, this->syncSemaphore->handle(), this->idx,
|
||||
signalSemaphores, nullptr, 0,
|
||||
i == this->destinationImages.size() - 1 ? this->renderFence->handle() : nullptr
|
||||
signalSemaphores, VK_NULL_HANDLE, 0,
|
||||
i == this->destinationImages.size() - 1 ? this->renderFence->handle() : VK_NULL_HANDLE
|
||||
);
|
||||
|
||||
// present swapchain image
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue