Files
korenkonder_ReDIVA/src/CRE/Vulkan/Semaphore.cpp
T

36 lines
809 B
C++

/*
by korenkonder
GitHub/GitLab: korenkonder
*/
#pragma once
#include "Semaphore.hpp"
namespace Vulkan {
bool Semaphore::Create(VkDevice device, VkSemaphoreCreateFlags flags) {
Destroy();
VkSemaphoreCreateInfo semaphore_create_info;
semaphore_create_info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
semaphore_create_info.pNext = 0;
semaphore_create_info.flags = flags;
this->device = device;
if (vkCreateSemaphore(device, &semaphore_create_info, 0, &data) == VK_SUCCESS)
return true;
this->device = 0;
data = 0;
return false;
}
void Semaphore::Destroy() {
if (data) {
vkDestroySemaphore(device, data, 0);
data = 0;
}
device = 0;
}
}