object: rename id' as native'

This commit is contained in:
Danny Robson 2017-09-08 17:11:35 +10:00
parent 14f79cabb9
commit 54e1255f9d
12 changed files with 125 additions and 107 deletions

View File

@ -29,7 +29,7 @@ using cruft::vk::command_buffer;
void
command_buffer::reset (VkCommandBufferResetFlags flags)
{
auto err = vkResetCommandBuffer (id (), flags);
auto err = vkResetCommandBuffer (native (), flags);
error::try_code (err);
}
@ -38,7 +38,7 @@ command_buffer::reset (VkCommandBufferResetFlags flags)
void
command_buffer::begin (const VkCommandBufferBeginInfo &info)
{
auto err = vkBeginCommandBuffer (id (), &info);
auto err = vkBeginCommandBuffer (native (), &info);
error::try_code (err);
}
@ -47,7 +47,7 @@ command_buffer::begin (const VkCommandBufferBeginInfo &info)
void
command_buffer::begin (const VkRenderPassBeginInfo &info, VkSubpassContents contents)
{
vkCmdBeginRenderPass (id (), &info, contents);
vkCmdBeginRenderPass (native (), &info, contents);
}
@ -55,7 +55,7 @@ command_buffer::begin (const VkRenderPassBeginInfo &info, VkSubpassContents cont
void
command_buffer::end (void)
{
auto err = vkEndCommandBuffer (id ());
auto err = vkEndCommandBuffer (native ());
error::try_code (err);
}
@ -64,7 +64,7 @@ command_buffer::end (void)
void
command_buffer::end_pass (void)
{
vkCmdEndRenderPass (id ());
vkCmdEndRenderPass (native ());
}
@ -73,7 +73,7 @@ template <size_t N>
void
command_buffer::execute (const command_buffer (&buffers)[N])
{
vkCmdExecuteCOmmands (id (), N, buffers);
vkCmdExecuteCOmmands (native (), N, buffers);
}
@ -81,7 +81,7 @@ command_buffer::execute (const command_buffer (&buffers)[N])
void
command_buffer::next_subpass (const VkSubpassContents contents)
{
vkCmdNextSubpass (id (), contents);
vkCmdNextSubpass (native (), contents);
}
@ -89,7 +89,7 @@ command_buffer::next_subpass (const VkSubpassContents contents)
void
command_buffer::bind (VkPipelineBindPoint point, const pipeline &p)
{
vkCmdBindPipeline (id (), point, p.id ());
vkCmdBindPipeline (native (), point, p.native ());
}
@ -97,7 +97,7 @@ command_buffer::bind (VkPipelineBindPoint point, const pipeline &p)
void
command_buffer::set (const event &ev, VkPipelineStageFlags flags)
{
vkCmdSetEvent (id (), ev.id (), flags);
vkCmdSetEvent (native (), ev.native (), flags);
}
@ -105,7 +105,7 @@ command_buffer::set (const event &ev, VkPipelineStageFlags flags)
void
command_buffer::reset (const event &ev, VkPipelineStageFlags flags)
{
vkCmdResetEvent (id (), ev.id (), flags);
vkCmdResetEvent (native (), ev.native (), flags);
}
@ -118,8 +118,8 @@ command_buffer::wait (util::view<const event*> events,
util::view<const VkBufferMemoryBarrier*> VkBufferMemoryBarriers,
util::view<const VkImageMemoryBarrier*> VkImageMemoryBarriers)
{
vkCmdWaitEvents (id (),
trunc_cast<uint32_t> (events.size ()), &events.cbegin ()->id (),
vkCmdWaitEvents (native (),
trunc_cast<uint32_t> (events.size ()), &events.cbegin ()->native (),
src_mask, dst_mask,
trunc_cast<uint32_t> (VkMemoryBarriers.size ()), VkMemoryBarriers.cbegin (),
trunc_cast<uint32_t> (VkBufferMemoryBarriers.size ()), VkBufferMemoryBarriers.cbegin (),

View File

@ -26,6 +26,6 @@ using cruft::vk::command_pool;
void
command_pool::reset (const device &dev, VkCommandPoolResetFlags flags)
{
auto err = vkResetCommandPool (dev.id (), id (), flags);
auto err = vkResetCommandPool (dev.native (), native (), flags);
error::try_code (err);
}

View File

@ -48,7 +48,7 @@ device::flush (const VkMappedMemoryRange *first,
{
CHECK_LE (first, last);
auto err = vkFlushMappedMemoryRanges (id (), trunc_cast<uint32_t> (last - first), first);
auto err = vkFlushMappedMemoryRanges (native (), trunc_cast<uint32_t> (last - first), first);
error::try_code (err);
}
@ -60,7 +60,7 @@ device::invalidate (const VkMappedMemoryRange *first,
{
CHECK_LE (first, last);
auto err = vkInvalidateMappedMemoryRanges (id (), trunc_cast<uint32_t> (last - first), first);
auto err = vkInvalidateMappedMemoryRanges (native (), trunc_cast<uint32_t> (last - first), first);
error::try_code (err);
}

View File

@ -31,7 +31,7 @@ device_memory::map (const device &dev,
{
void *res;
auto err = vkMapMemory (dev.id (), id (), offset, size, flags, &res);
auto err = vkMapMemory (dev.native (), native (), offset, size, flags, &res);
error::try_code (err);
return res;
@ -42,7 +42,7 @@ device_memory::map (const device &dev,
void
device_memory::unmap (const device &dev)
{
vkUnmapMemory (dev.id (), id ());
vkUnmapMemory (dev.native (), native ());
}
@ -51,6 +51,6 @@ VkDeviceSize
device_memory::commitment (const device &dev) const
{
VkDeviceSize size;
vkGetDeviceMemoryCommitment (dev.id (), id (), &size);
vkGetDeviceMemoryCommitment (dev.native (), native (), &size);
return size;
}

View File

@ -26,7 +26,7 @@ using cruft::vk::event;
bool
event::is_set (const device &dev) const
{
auto res = vkGetEventStatus (dev.id (), id ());
auto res = vkGetEventStatus (dev.native (), native ());
error::try_code (res);
return res == VK_EVENT_SET;
}
@ -36,7 +36,7 @@ event::is_set (const device &dev) const
void
event::set (const device &dev)
{
auto err = vkSetEvent (dev.id (), id ());
auto err = vkSetEvent (dev.native (), native ());
error::try_code (err);
}
@ -45,6 +45,6 @@ event::set (const device &dev)
void
event::reset (const device &dev)
{
auto err = vkResetEvent (dev.id (), id ());
auto err = vkResetEvent (dev.native (), native ());
error::try_code (err);
}

View File

@ -29,7 +29,7 @@ using cruft::vk::fence;
bool
fence::is_ready (const device &dev)
{
auto res = vkGetFenceStatus (dev.id (), id ());
auto res = vkGetFenceStatus (dev.native (), native ());
error::try_code (res);
return res == VK_SUCCESS;
}
@ -42,7 +42,7 @@ fence::reset (const device &dev, fence *first, fence *last)
CHECK_LE (first, last);
cruft::vk::error::try_func (
vkResetFences, dev.id (), trunc_cast<uint32_t> (last - first), &first->id ()
vkResetFences, dev.native (), trunc_cast<uint32_t> (last - first), &first->native ()
);
}
@ -54,7 +54,8 @@ fence::wait (const device &d, fence *first, fence *last, uint64_t timeout)
CHECK_LE (first, last);
cruft::vk::error::try_func (
vkWaitForFences, d.id (), trunc_cast<uint32_t> (last - first), &first->id (), VK_FALSE, timeout
vkWaitForFences,
d.native (), trunc_cast<uint32_t> (last - first), &first->native (), VK_FALSE, timeout
);
}
@ -66,6 +67,7 @@ fence::wait_all (const device &d, fence *first, fence *last, uint64_t timeout)
CHECK_LE (first, last);
cruft::vk::error::try_func (
vkWaitForFences, d.id (), trunc_cast<uint32_t> (last - first), &first->id (), VK_TRUE, timeout
vkWaitForFences,
d.native (), trunc_cast<uint32_t> (last - first), &first->native (), VK_TRUE, timeout
);
}

View File

@ -50,7 +50,7 @@ namespace cruft::vk {
T
proc (const char *name)
{
auto ret = vkGetInstanceProcAddr (id (), name);
auto ret = vkGetInstanceProcAddr (native (), name);
if (!ret)
throw vk::invalid_argument ("invalid procedure name");

View File

@ -29,37 +29,37 @@ using cruft::vk::enumerated;
///////////////////////////////////////////////////////////////////////////////
template <typename T>
object<T>::object (id_t _id):
m_id (_id)
object<T>::object (native_t _native):
m_native (_native)
{
CHECK_NEQ (m_id, VK_NULL_HANDLE);
CHECK_NEQ (m_native, VK_NULL_HANDLE);
}
//-----------------------------------------------------------------------------
template <typename T>
object<T>::object (object &&rhs):
m_id (VK_NULL_HANDLE)
m_native (VK_NULL_HANDLE)
{
std::swap (m_id, rhs.m_id);
std::swap (m_native, rhs.m_native);
}
//-----------------------------------------------------------------------------
template <typename T>
const typename object<T>::id_t&
object<T>::id (void) const&
const typename object<T>::native_t&
object<T>::native (void) const&
{
return m_id;
return m_native;
}
//-----------------------------------------------------------------------------
template <typename T>
typename object<T>::id_t&
object<T>::id (void) &
typename object<T>::native_t&
object<T>::native (void) &
{
return m_id;
return m_native;
}
@ -79,12 +79,12 @@ std::vector<T>
cruft::vk::enumerated<T>::find (const instance &parent) {
// find the total number of objects
uint32_t expected = 0;
error::try_code (enum_traits<T>::enumerate (parent.id (), &expected, nullptr));
error::try_code (enum_traits<T>::enumerate (parent.native (), &expected, nullptr));
// allocate an array of handles and fetch them
uint32_t found = expected;
typename T::id_t handles[expected];
error::try_code (enum_traits<T>::enumerate (parent.id (), &found, handles));
typename T::native_t handles[expected];
error::try_code (enum_traits<T>::enumerate (parent.native (), &found, handles));
// return an collection of objects from the handles
return std::vector<T> (handles, handles + found);

View File

@ -29,23 +29,24 @@ namespace cruft::vk {
/// management.
template <typename T>
struct object {
using id_t = typename id_traits<T>::id_t;
using native_t = id_t<T>;
object (id_t);
object (native_t);
object (object&&);
object (const object&) = delete;
const id_t& id (void) const&;
id_t& id (void) &;
const native_t& native (void) const&;
native_t& native (void) &;
protected:
id_t m_id;
native_t m_native;
};
template <typename SelfT>
struct root : public object<SelfT> {
using id_t = typename object<SelfT>::id_t;
using native_t = typename object<SelfT>::native_t;
template <typename ...Args>
root (Args &&...args):
@ -54,15 +55,15 @@ namespace cruft::vk {
~root ()
{
life_traits<SelfT>::destroy (this->id (), nullptr);
life_traits<SelfT>::destroy (this->native (), nullptr);
}
private:
template <typename ...Args>
static id_t
static native_t
make (Args &&...args)
{
id_t id;
native_t id;
auto res = life_traits<SelfT>::create (std::forward<Args> (args)..., &id);
error::try_code (res);
return id;
@ -75,7 +76,7 @@ namespace cruft::vk {
/// another object.
template <typename T>
struct descendant : public object<T> {
using id_t = typename object<T>::id_t;
using native_t = typename object<T>::native_t;
template <typename ...Args>
descendant (Args &&...args):
@ -84,16 +85,16 @@ namespace cruft::vk {
~descendant ()
{
life_traits<T>::destroy (this->id (), nullptr);
life_traits<T>::destroy (this->native (), nullptr);
}
private:
template <typename Base, typename ...Args>
static
id_t make (Base &&base, Args &&...args)
native_t make (Base &&base, Args &&...args)
{
id_t id;
auto res = life_traits<T>::create (base.id (), std::forward<Args> (args)..., &id);
native_t id;
auto res = life_traits<T>::create (base.native (), std::forward<Args> (args)..., &id);
error::try_code (res);
return id;
}
@ -116,30 +117,45 @@ namespace cruft::vk {
/// the parent object.
template <typename SelfT, typename OwnerT>
struct owned : public object<SelfT> {
using id_t = typename object<SelfT>::id_t;
using native_t = typename object<SelfT>::native_t;
using owner_t = OwnerT;
using object<SelfT>::object;
///////////////////////////////////////////////////////////////////////
template <typename ...Args>
owned (Args &&...args):
object<SelfT> (make (std::forward<Args> (args)...))
owned (OwnerT &owner, Args &&...args):
object<SelfT> (
error::try_query (
life_traits<SelfT>::create,
owner.native (),
std::forward<Args> (args)...
)
)
{ ; }
//---------------------------------------------------------------------
owned (owned &&rhs):
object<SelfT> (std::move (rhs))
{ ; }
//---------------------------------------------------------------------
~owned ()
{
CHECK_EQ (this->id (), VK_NULL_HANDLE);
CHECK_EQ (this->native (), VK_NULL_HANDLE);
}
//---------------------------------------------------------------------
void
destroy (OwnerT &parent)
destroy (OwnerT &owner)
{
life_traits<SelfT>::destroy (parent.id (), this->id (), nullptr);
this->m_id = VK_NULL_HANDLE;
life_traits<SelfT>::destroy (owner.native (), this->native (), nullptr);
this->m_native = VK_NULL_HANDLE;
}
};
private:
@ -152,6 +168,6 @@ namespace cruft::vk {
return id;
}
};
}
};
#endif

View File

@ -28,11 +28,11 @@ std::set<std::string>
physical_device::extensions (void) const
{
uint32_t expected = 0;
error::try_code (vkEnumerateDeviceExtensionProperties (id (), nullptr, &expected, nullptr));
error::try_code (vkEnumerateDeviceExtensionProperties (native (), nullptr, &expected, nullptr));
VkExtensionProperties props[expected];
uint32_t found = expected;
error::try_code (vkEnumerateDeviceExtensionProperties (id (), nullptr, &found, props));
error::try_code (vkEnumerateDeviceExtensionProperties (native (), nullptr, &found, props));
std::set<std::string> ext;
for (const auto &i: props)
@ -45,7 +45,7 @@ VkPhysicalDeviceProperties
physical_device::properties (void) const
{
VkPhysicalDeviceProperties props;
vkGetPhysicalDeviceProperties (id (), &props);
vkGetPhysicalDeviceProperties (native (), &props);
return props;
}
@ -55,7 +55,7 @@ VkPhysicalDeviceFeatures
physical_device::features (void) const
{
VkPhysicalDeviceFeatures feat;
vkGetPhysicalDeviceFeatures (id (), &feat);
vkGetPhysicalDeviceFeatures (native (), &feat);
return feat;
}
@ -65,7 +65,7 @@ VkSurfaceCapabilitiesKHR
physical_device::surface_capabilities (surface &_surface) const
{
return error::try_query (
vkGetPhysicalDeviceSurfaceCapabilitiesKHR, id (), _surface.id ()
vkGetPhysicalDeviceSurfaceCapabilitiesKHR, native (), _surface.native ()
);
}
@ -75,7 +75,7 @@ VkPhysicalDeviceMemoryProperties
physical_device::memory_properties (void) const
{
return error::try_query (
vkGetPhysicalDeviceMemoryProperties, id ()
vkGetPhysicalDeviceMemoryProperties, native ()
);
}
@ -85,10 +85,10 @@ std::vector<VkQueueFamilyProperties>
physical_device::queue_families (void) const
{
uint32_t count = 0;
vkGetPhysicalDeviceQueueFamilyProperties (id (), &count, nullptr);
vkGetPhysicalDeviceQueueFamilyProperties (native (), &count, nullptr);
std::vector<VkQueueFamilyProperties> values (count);
vkGetPhysicalDeviceQueueFamilyProperties (id (), &count, values.data ());
vkGetPhysicalDeviceQueueFamilyProperties (native (), &count, values.data ());
values.resize (count);
return values;
@ -101,7 +101,7 @@ physical_device::surface_formats (surface &_surface)
{
return error::try_array (
vkGetPhysicalDeviceSurfaceFormatsKHR,
id (), _surface.id ()
native (), _surface.native ()
);
}
@ -112,7 +112,7 @@ physical_device::present_modes (surface &_surface)
{
return error::try_array (
vkGetPhysicalDeviceSurfacePresentModesKHR,
id (), _surface.id ()
native (), _surface.native ()
);
}

View File

@ -26,7 +26,7 @@ using cruft::vk::queue;
void
queue::wait_idle (void)
{
auto err = vkQueueWaitIdle (id ());
auto err = vkQueueWaitIdle (native ());
error::try_code (err);
}

View File

@ -55,7 +55,7 @@ create_shader (cruft::vk::device &dev, const std::experimental::filesystem::path
VkShaderModule value;
cruft::vk::error::try_code (
vkCreateShaderModule (dev.id (), &create_info, nullptr, &value)
vkCreateShaderModule (dev.native (), &create_info, nullptr, &value)
);
return value;
@ -121,21 +121,20 @@ main (void)
;
debug_info.pfnCallback = vk_debug_callback;
auto func = (decltype(&vkCreateDebugReportCallbackEXT))vkGetInstanceProcAddr (instance.id (),"vkCreateDebugReportCallbackEXT");
auto func = (decltype(&vkCreateDebugReportCallbackEXT))vkGetInstanceProcAddr (instance.native (),"vkCreateDebugReportCallbackEXT");
cruft::vk::error::try_func (
*func, instance.id (), &debug_info, nullptr, &callback
*func, instance.native (), &debug_info, nullptr, &callback
);
}
auto pdevices = cruft::vk::physical_device::find (instance);
auto &pdevice = pdevices[0];
cruft::vk::surface surface {
cruft::vk::error::try_query (
glfwCreateWindowSurface, instance.id (), window, nullptr
)
};
VkSurfaceKHR surface_handle = cruft::vk::error::try_query (
glfwCreateWindowSurface, instance.native (), window, nullptr
);
cruft::vk::surface surface { surface_handle };
auto surface_capabilities = pdevice.surface_capabilities (surface);
auto surface_formats = pdevice.surface_formats (surface);
@ -152,7 +151,7 @@ main (void)
for (int i = 0, last = queues.size (); i != last; ++i) {
if (cruft::vk::error::try_query (vkGetPhysicalDeviceSurfaceSupportKHR,
pdevice.id (), i, surface.id ())) {
pdevice.native (), i, surface.native ())) {
present_queue_id = i;
break;
}
@ -229,7 +228,7 @@ main (void)
.sType = cruft::vk::structure_type_v<VkSwapchainCreateInfoKHR>,
.pNext = nullptr,
.flags = {},
.surface = surface.id (),
.surface = surface.native (),
.minImageCount = image_count,
.imageFormat = surface_format.format,
.imageColorSpace = surface_format.colorSpace,
@ -248,15 +247,15 @@ main (void)
VkSwapchainKHR swapchain;
cruft::vk::error::try_code (
vkCreateSwapchainKHR (ldevice.id (), &swap_create_info, nullptr, &swapchain)
vkCreateSwapchainKHR (ldevice.native (), &swap_create_info, nullptr, &swapchain)
);
uint32_t swap_image_count = 0;
cruft::vk::error::try_code (
vkGetSwapchainImagesKHR (ldevice.id (), swapchain, &swap_image_count, nullptr)
vkGetSwapchainImagesKHR (ldevice.native (), swapchain, &swap_image_count, nullptr)
);
std::vector<VkImage> swap_images = cruft::vk::error::try_array (
vkGetSwapchainImagesKHR, ldevice.id (), swapchain
vkGetSwapchainImagesKHR, ldevice.native (), swapchain
);
std::vector<VkImageView> swap_image_views (swap_image_count);
@ -286,13 +285,14 @@ main (void)
VkImageView v;
cruft::vk::error::try_code (
vkCreateImageView (ldevice.id (), &create_info, nullptr, &v)
vkCreateImageView (ldevice.native (), &create_info, nullptr, &v)
);
return v;
});
auto graphics_queue = ldevice.queue (graphics_queue_id);
auto _graphics_queue = ldevice.queue (graphics_queue_id);
auto graphics_queue = &_graphics_queue;
auto present_queue = ldevice.queue (present_queue_id);
auto vert_module = create_shader (ldevice, "./hello.vert.spv");
@ -305,11 +305,11 @@ main (void)
buffer_info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
VkBuffer vertex_buffer = cruft::vk::error::try_query (
vkCreateBuffer, ldevice.id (), &buffer_info, nullptr
vkCreateBuffer, ldevice.native (), &buffer_info, nullptr
);
auto memory_requirements = cruft::vk::error::try_query (
vkGetBufferMemoryRequirements, ldevice.id (), vertex_buffer
vkGetBufferMemoryRequirements, ldevice.native (), vertex_buffer
);
auto memory_properties = pdevice.memory_properties ();
@ -327,18 +327,18 @@ main (void)
} ();
auto vertex_memory = cruft::vk::error::try_query (
vkAllocateMemory, ldevice.id (), &allocate_info, nullptr
vkAllocateMemory, ldevice.native (), &allocate_info, nullptr
);
cruft::vk::error::try_code (
vkBindBufferMemory (ldevice.id (), vertex_buffer, vertex_memory, 0)
vkBindBufferMemory (ldevice.native (), vertex_buffer, vertex_memory, 0)
);
auto data = cruft::vk::error::try_query (
vkMapMemory, ldevice.id (), vertex_memory, 0, buffer_info.size, 0
vkMapMemory, ldevice.native (), vertex_memory, 0, buffer_info.size, 0
);
memcpy (data, std::data (VERTICES), sizeof (VERTICES));
vkUnmapMemory (ldevice.id (), vertex_memory);
vkUnmapMemory (ldevice.native (), vertex_memory);
VkPipelineShaderStageCreateInfo vert_stage_info {};
vert_stage_info.sType = cruft::vk::structure_type_v<VkPipelineShaderStageCreateInfo>;
@ -455,7 +455,7 @@ main (void)
VkPipelineLayout pipeline_layout;
cruft::vk::error::try_code (
vkCreatePipelineLayout (ldevice.id (), &pipeline_layout_info, nullptr, &pipeline_layout)
vkCreatePipelineLayout (ldevice.native (), &pipeline_layout_info, nullptr, &pipeline_layout)
);
VkAttachmentDescription color_attachment {};
@ -486,7 +486,7 @@ main (void)
VkRenderPass render_pass;
cruft::vk::error::try_code (
vkCreateRenderPass (ldevice.id (), &render_pass_info, nullptr, &render_pass)
vkCreateRenderPass (ldevice.native (), &render_pass_info, nullptr, &render_pass)
);
VkGraphicsPipelineCreateInfo pipeline_info {};
@ -509,7 +509,7 @@ main (void)
VkPipeline graphics_pipeline;
cruft::vk::error::try_code (
vkCreateGraphicsPipelines (
ldevice.id (), VK_NULL_HANDLE, 1, &pipeline_info, nullptr, &graphics_pipeline
ldevice.native (), VK_NULL_HANDLE, 1, &pipeline_info, nullptr, &graphics_pipeline
)
);
@ -530,7 +530,7 @@ main (void)
framebuffer_info.layers = 1;
cruft::vk::error::try_code (
vkCreateFramebuffer (ldevice.id (), &framebuffer_info, nullptr, &swapchain_framebuffers[i])
vkCreateFramebuffer (ldevice.native (), &framebuffer_info, nullptr, &swapchain_framebuffers[i])
);
};
@ -540,7 +540,7 @@ main (void)
VkCommandPool command_pool;
cruft::vk::error::try_code (
vkCreateCommandPool (ldevice.id (), &pool_info, nullptr, &command_pool)
vkCreateCommandPool (ldevice.native (), &pool_info, nullptr, &command_pool)
);
std::vector<VkCommandBuffer> command_buffers (swapchain_framebuffers.size ());
@ -550,7 +550,7 @@ main (void)
alloc_info.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
alloc_info.commandBufferCount = (uint32_t) command_buffers.size();
cruft::vk::error::try_code (
vkAllocateCommandBuffers (ldevice.id (), &alloc_info, command_buffers.data ())
vkAllocateCommandBuffers (ldevice.native (), &alloc_info, command_buffers.data ())
);
for (size_t i = 0; i < command_buffers.size (); ++i) {
@ -591,16 +591,16 @@ main (void)
semaphore_info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
VkSemaphore image_semaphore, render_semaphore;
cruft::vk::error::try_code (
vkCreateSemaphore (ldevice.id (), &semaphore_info, nullptr, &image_semaphore)
vkCreateSemaphore (ldevice.native (), &semaphore_info, nullptr, &image_semaphore)
);
cruft::vk::error::try_code (
vkCreateSemaphore (ldevice.id (), &semaphore_info, nullptr, &render_semaphore)
vkCreateSemaphore (ldevice.native (), &semaphore_info, nullptr, &render_semaphore)
);
uint32_t image_index;
cruft::vk::error::try_code (
vkAcquireNextImageKHR (
ldevice.id (), swapchain,
ldevice.native (), swapchain,
std::numeric_limits<uint64_t>::max (),
image_semaphore, VK_NULL_HANDLE,
&image_index
@ -622,7 +622,7 @@ main (void)
submit_info.pSignalSemaphores = signal_semaphores;
cruft::vk::error::try_code (
vkQueueSubmit (graphics_queue.id (), 1, &submit_info, VK_NULL_HANDLE)
vkQueueSubmit (graphics_queue->native (), 1, &submit_info, VK_NULL_HANDLE)
);
VkSubpassDependency dependency {};
@ -645,14 +645,14 @@ main (void)
present_info.pImageIndices = &image_index;
present_info.pResults = nullptr;
cruft::vk::error::try_func (vkQueuePresentKHR, present_queue.id (), &present_info);
cruft::vk::error::try_func (vkQueuePresentKHR, present_queue.native (), &present_info);
LOG_INFO ("entering runloop");
while (!glfwWindowShouldClose (window)) {
glfwPollEvents ();
}
cruft::vk::error::try_func (vkDeviceWaitIdle, ldevice.id ());
cruft::vk::error::try_func (vkDeviceWaitIdle, ldevice.native ());
LOG_INFO ("terminating glfw");
glfwDestroyWindow (window);