mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
This commit is contained in:
		@@ -30,6 +30,8 @@
 | 
			
		||||
 | 
			
		||||
// CHANGELOG
 | 
			
		||||
// (minor and older changes stripped away, please see git history for details)
 | 
			
		||||
//  2022-10-04: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
 | 
			
		||||
//  2022-01-20: Vulkan: Added support for ImTextureID as VkDescriptorSet. User need to call ImGui_ImplVulkan_AddTexture(). Building for 32-bit targets requires '#define ImTextureID ImU64'. (#914).
 | 
			
		||||
//  2021-10-15: Vulkan: Call vkCmdSetScissor() at the end of render a full-viewport to reduce likehood of issues with people using VK_DYNAMIC_STATE_SCISSOR in their app without calling vkCmdSetScissor() explicitly every frame.
 | 
			
		||||
//  2021-06-29: Reorganized backend to pull data from a single structure to facilitate usage with multiple-contexts (all g_XXXX access changed to bd->XXXX).
 | 
			
		||||
//  2021-03-22: Vulkan: Fix mapped memory validation error when buffer sizes are not multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize.
 | 
			
		||||
@@ -1124,6 +1126,13 @@ VkDescriptorSet ImGui_ImplVulkan_AddTexture(VkSampler sampler, VkImageView image
 | 
			
		||||
    return descriptor_set;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ImGui_ImplVulkan_RemoveTexture(VkDescriptorSet descriptor_set)
 | 
			
		||||
{
 | 
			
		||||
    ImGui_ImplVulkan_Data* bd = ImGui_ImplVulkan_GetBackendData();
 | 
			
		||||
    ImGui_ImplVulkan_InitInfo* v = &bd->VulkanInitInfo;
 | 
			
		||||
    vkFreeDescriptorSets(v->Device, v->DescriptorPool, 1, &descriptor_set);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//-------------------------------------------------------------------------
 | 
			
		||||
// Internal / Miscellaneous Vulkan Helpers
 | 
			
		||||
// (Used by example's main.cpp. Used by multi-viewport features. PROBABLY NOT used by your own app.)
 | 
			
		||||
 
 | 
			
		||||
@@ -73,8 +73,10 @@ IMGUI_IMPL_API void         ImGui_ImplVulkan_DestroyFontUploadObjects();
 | 
			
		||||
IMGUI_IMPL_API void         ImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count); // To override MinImageCount after initialization (e.g. if swap chain is recreated)
 | 
			
		||||
 | 
			
		||||
// Register a texture (VkDescriptorSet == ImTextureID)
 | 
			
		||||
// FIXME: This is experimental in the sense that we are unsure how to best design/tackle this problem, please post to https://github.com/ocornut/imgui/pull/914 if you have suggestions.
 | 
			
		||||
// FIXME: This is experimental in the sense that we are unsure how to best design/tackle this problem
 | 
			
		||||
// Please post to https://github.com/ocornut/imgui/pull/914 if you have suggestions.
 | 
			
		||||
IMGUI_IMPL_API VkDescriptorSet ImGui_ImplVulkan_AddTexture(VkSampler sampler, VkImageView image_view, VkImageLayout image_layout);
 | 
			
		||||
IMGUI_IMPL_API void            ImGui_ImplVulkan_RemoveTexture(VkDescriptorSet descriptor_set);
 | 
			
		||||
 | 
			
		||||
// Optional: load Vulkan functions with a custom function loader
 | 
			
		||||
// This is only useful with IMGUI_IMPL_VULKAN_NO_PROTOTYPES / VK_NO_PROTOTYPES
 | 
			
		||||
 
 | 
			
		||||
@@ -171,6 +171,7 @@ Other Changes:
 | 
			
		||||
- Backends: Metal: Use __bridge for ARC based systems. (#5403) [@stack]
 | 
			
		||||
- Backends: Metal: Add dispatch synchronization. (#5447) [@luigifcruz]
 | 
			
		||||
- Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount'. (#5603) [@dcvz]
 | 
			
		||||
- Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
 | 
			
		||||
- Backends: OSX: Fixes to support full app creation in C++. (#5403) [@stack]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user