}
}
-VulkanOptions::VulkanOptions():
- enable_validation(false),
- enable_debug_report(false),
- enable_geometry_shader(false),
- enable_tessellation_shader(false)
-{ }
-
void VulkanContext::platform_init(const VulkanOptions &opts)
{
if(result!=VK_SUCCESS)
throw vulkan_error(result, "vkCreateDebugReportCallback");
}
- else
- priv->debug_report_callback = 0;
VkXlibSurfaceCreateInfoKHR surface_create_info = { };
surface_create_info.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
if(result!=VK_SUCCESS)
throw vulkan_error(result, "vkEnumeratePhysicalDevices");
- priv->physical_device = 0;
unsigned gfx_queue_index = 0;
for(unsigned i=0; i<n_phys_devices; ++i)
{
}
-VulkanContext::Private::Private():
- instance(0),
- physical_device(0),
- device(0),
- graphics_queue(0),
- debug_report_callback(0)
-{ }
-
VkBool32 VulkanContext::Private::debug_report_func(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT, uint64_t, size_t, int32_t, const char *, const char *message, void *)
{
IO::print(IO::cerr, "%s\n", message);