@ -22,6 +22,7 @@
// CHANGELOG
// CHANGELOG
// (minor and older changes stripped away, please see git history for details)
// (minor and older changes stripped away, please see git history for details)
// 2021-03-22: Vulkan: Fix mapped memory validation error when buffer sizes are not multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize.
// 2021-02-18: Vulkan: Change blending equation to preserve alpha in output buffer.
// 2021-02-18: Vulkan: Change blending equation to preserve alpha in output buffer.
// 2021-01-27: Vulkan: Added support for custom function load and IMGUI_IMPL_VULKAN_NO_PROTOTYPES by using ImGui_ImplVulkan_LoadFunctions().
// 2021-01-27: Vulkan: Added support for custom function load and IMGUI_IMPL_VULKAN_NO_PROTOTYPES by using ImGui_ImplVulkan_LoadFunctions().
// 2020-11-11: Vulkan: Added support for specifying which subpass to reference during VkPipeline creation.
// 2020-11-11: Vulkan: Added support for specifying which subpass to reference during VkPipeline creation.
@ -343,7 +344,7 @@ static void CreateOrResizeBuffer(VkBuffer& buffer, VkDeviceMemory& buffer_memory
err = vkBindBufferMemory ( v - > Device , buffer , buffer_memory , 0 ) ;
err = vkBindBufferMemory ( v - > Device , buffer , buffer_memory , 0 ) ;
check_vk_result ( err ) ;
check_vk_result ( err ) ;
p_buffer_size = new_ size;
p_buffer_size = req. size;
}
}
static void ImGui_ImplVulkan_SetupRenderState ( ImDrawData * draw_data , VkPipeline pipeline , VkCommandBuffer command_buffer , ImGui_ImplVulkanH_FrameRenderBuffers * rb , int fb_width , int fb_height )
static void ImGui_ImplVulkan_SetupRenderState ( ImDrawData * draw_data , VkPipeline pipeline , VkCommandBuffer command_buffer , ImGui_ImplVulkanH_FrameRenderBuffers * rb , int fb_width , int fb_height )
@ -429,9 +430,9 @@ void ImGui_ImplVulkan_RenderDrawData(ImDrawData* draw_data, VkCommandBuffer comm
// Upload vertex/index data into a single contiguous GPU buffer
// Upload vertex/index data into a single contiguous GPU buffer
ImDrawVert * vtx_dst = NULL ;
ImDrawVert * vtx_dst = NULL ;
ImDrawIdx * idx_dst = NULL ;
ImDrawIdx * idx_dst = NULL ;
VkResult err = vkMapMemory ( v - > Device , rb - > VertexBufferMemory , 0 , vertex_s ize, 0 , ( void * * ) ( & vtx_dst ) ) ;
VkResult err = vkMapMemory ( v - > Device , rb - > VertexBufferMemory , 0 , rb- > VertexBufferS ize, 0 , ( void * * ) ( & vtx_dst ) ) ;
check_vk_result ( err ) ;
check_vk_result ( err ) ;
err = vkMapMemory ( v - > Device , rb - > IndexBufferMemory , 0 , index_s ize, 0 , ( void * * ) ( & idx_dst ) ) ;
err = vkMapMemory ( v - > Device , rb - > IndexBufferMemory , 0 , rb- > IndexBufferS ize, 0 , ( void * * ) ( & idx_dst ) ) ;
check_vk_result ( err ) ;
check_vk_result ( err ) ;
for ( int n = 0 ; n < draw_data - > CmdListsCount ; n + + )
for ( int n = 0 ; n < draw_data - > CmdListsCount ; n + + )
{
{