mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +00: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
	 ocornut
					ocornut