const vk = @import("vulkan");

pub const apis: []const vk.ApiInfo = &.{
    vk.features.version_1_0,
    vk.features.version_1_1,
    vk.extensions.khr_surface,
    vk.extensions.khr_swapchain,
    .{
        .instance_commands = .{
            .destroySurfaceKHR = true,
        },
        .device_commands = .{
            .destroyDevice = true,
            .getDeviceQueue = true,
            .createSwapchainKHR = true,
            .destroySwapchainKHR = true,
            .getSwapchainImagesKHR = true,
            .createImageView = true,
            .destroyImageView = true,
            .createRenderPass = true,
            .destroyRenderPass = true,
            .createFramebuffer = true,
            .destroyFramebuffer = true,
            .createSemaphore = true,
            .destroySemaphore = true,
            .createFence = true,
            .destroyFence = true,
            .createShaderModule = true,
            .destroyShaderModule = true,
            .createPipelineLayout = true,
            .destroyPipelineLayout = true,
            .createGraphicsPipelines = true,
            .destroyPipeline = true,
            .createCommandPool = true,
            .destroyCommandPool = true,
            .allocateCommandBuffers = true,
            .freeCommandBuffers = true,
            .beginCommandBuffer = true,
            .waitForFences = true,
            .deviceWaitIdle = true,
            .resetFences = true,
            .acquireNextImageKHR = true,
            .queueSubmit = true,
            .queuePresentKHR = true,
            .endCommandBuffer = true,
            .cmdBeginRenderPass = true,
            .cmdSetViewport = true,
            .cmdSetScissor = true,
            .cmdBindPipeline = true,
            .cmdDraw = true,
            .cmdEndRenderPass = true,
        },
    },
};
