天天看點

vulkan demo

WinMain

  • demo_init
  • demo_create_window
  • demo_init_vk_swapchain

    VkWin32SurfaceCreateInfoKHR

    vkCreateWin32SurfaceKHR

    fpGetPhysicalDeviceSurfaceSupportKHR

    vkGetDeviceQueue

    fpGetPhysicalDeviceSurfaceFormatsKHR

    vkGetPhysicalDeviceMemoryProperties

  • demo_prepare
    • demo_prepare_buffers(demo);

      VkSwapchainKHR

      VkSurfaceCapabilitiesKHR

      fpGetPhysicalDeviceSurfaceCapabilitiesKHR

      VkPresentModeKHR

      fpGetPhysicalDeviceSurfacePresentModesKHR

      VkExtent2D

      VkSurfaceTransformFlagsKHR

      VkSwapchainCreateInfoKHR

      fpCreateSwapchainKHR

      fpGetSwapchainImagesKHR

      VkImageViewCreateInfo

      vkCreateImageView

    • demo_prepare_depth

      VkFormat

      VkImageCreateInfo

      VkMemoryAllocateInfo

      VkImageViewCreateInfo

      VkMemoryRequirements

      vkCreateImage

      vkGetImageMemoryRequirements

      vkAllocateMemory

      vkBindImageMemory

      vkCreateImageView

    • demo_prepare_textures(demo);

      VkFormat

      VkFormatProperties

      vkGetPhysicalDeviceFormatProperties

      VkImageCopy

      vkCmdCopyImage

      VkSamplerCreateInfo

      VkImageViewCreateInfo

      vkCreateSampler

      vkCreateImageView

      • demo_prepare_texture_image

        VkFormat

        VkImageCreateInfo

        VkMemoryAllocateInfo

        VkMemoryRequirements

        vkCreateImage

        vkGetImageMemoryRequirements

        vkAllocateMemory

        vkBindImageMemory

        VkImageSubresource

        VkSubresourceLayout

        vkGetImageSubresourceLayout

        vkMapMemory

        vkUnmapMemory

      • demo_set_image_layout

        VkImageMemoryBarrier

        VkPipelineStageFlags

        vkCmdPipelineBarrier

      • demo_flush_init_cmd

        VkCommandBuffer

        VkFence

        VkSubmitInfo

        vkQueueSubmit

        vkQueueWaitIdle

        vkFreeCommandBuffers

      • demo_destroy_texture_image

        vkDestroyImage

        vkFreeMemory

    • demo_prepare_vertices(demo);

      VkBufferCreateInfo

      VkMemoryAllocateInfo

      VkMemoryRequirements

      vkCreateBuffer

      vkGetBufferMemoryRequirements

      vkAllocateMemory

      vkMapMemory

      vkUnmapMemory

      vkBindBufferMemory

    • demo_prepare_descriptor_layout(demo);

      VkDescriptorSetLayoutBinding

      VkDescriptorSetLayoutCreateInfo

      vkCreateDescriptorSetLayout

      VkPipelineLayoutCreateInfo

      vkCreatePipelineLayout

    • demo_prepare_render_pass(demo);

      VkAttachmentDescription

      VkAttachmentReference

      VkSubpassDescription

      VkRenderPassCreateInfo

      vkCreateRenderPass

    • demo_prepare_pipeline(demo);

      VkGraphicsPipelineCreateInfo

      VkPipelineCacheCreateInfo

      VkPipelineVertexInputStateCreateInfo

      VkPipelineInputAssemblyStateCreateInfo

      VkPipelineRasterizationStateCreateInfo

      VkPipelineColorBlendStateCreateInfo

      VkPipelineDepthStencilStateCreateInfo

      VkPipelineViewportStateCreateInfo

      VkPipelineMultisampleStateCreateInfo

      VkDynamicState

      VkPipelineDynamicStateCreateInfo

      VkPipelineShaderStageCreateInfo

      vkCreatePipelineCache

      vkCreateGraphicsPipelines

      vkDestroyPipelineCache

      vkDestroyShaderModule

    • demo_prepare_descriptor_pool(demo);

      VkDescriptorPoolSize

      VkDescriptorPoolCreateInfo

      vkCreateDescriptorPool

    • demo_prepare_descriptor_set(demo);

      VkDescriptorImageInfo

      VkWriteDescriptorSet

      VkDescriptorSetAllocateInfo

      vkAllocateDescriptorSets

      vkUpdateDescriptorSets

    • demo_prepare_framebuffers(demo);

      VkImageView

      VkFramebufferCreateInfo

      vkCreateFramebuffer

  • demo_run
    • demo_draw

      VkSemaphore

      VkSemaphoreCreateInfo

      vkCreateSemaphore

      fpAcquireNextImageKHR

      • demo_set_image_layout
      • demo_flush_init_cmd

        vkEndCommandBuffer

        VkCommandBuffer

        VkFence

        VkSubmitInfo

        vkQueueSubmit

        vkQueueWaitIdle

        vkFreeCommandBuffers

  • demo_cleanup

    vkDestroyFramebuffer

    vkFreeCommandBuffers

    vkDestroyCommandPool

    vkDestroyPipeline

    vkDestroyRenderPass

    vkDestroyPipelineLayout

    vkDestroyDescriptorSetLayout

    vkDestroyBuffer

    vkFreeMemory

    vkDestroyImageView

    vkDestroyImage

    vkDestroySampler

    fpDestroySwapchainKHR

    vkDestroyDevice

    vkDestroySurfaceKHR

    vkDestroyInstance