ocornut
e0ba0d0433
Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931
. ( #7166 )
2024-02-12 18:46:01 +01:00
ocornut
11d73f03ee
Backends: Vulkan: Fix/amend 8901931
2024-02-12 17:18:52 +01:00
Shawn Hatori
89019319dd
Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering ( #7166 , #6855 , #5446 , #5037 )
2024-02-12 16:55:00 +01:00
ocornut
5ddfbb80d8
Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. ( #7236 )
2024-01-19 14:52:33 +01:00
ocornut
6228c2e1ec
Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
2024-01-11 20:22:37 +01:00
ocornut
70bb6d1e79
Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. ( #3957 )
2024-01-11 14:57:38 +01:00
Tristan Gouge
82df7c8bf4
Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. ( #7189 , #4238 )
2024-01-11 14:43:51 +01:00
ocornut
6f10cef2a1
Backends: Vulkan: moved structure declarations.
...
This is mostly to facilitate maintainance of #6616 .
2024-01-03 16:19:03 +01:00
ocornut
0ea99132c8
Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
2024-01-03 14:11:40 +01:00
Tristan Gouge
4778560e66
Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. ( #7189 , #4238 )
2024-01-03 12:17:08 +01:00
ocornut
33d426842d
Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). ( #7148 , #6943 , #6715 , #6327 , #3743 , #4618 )
2023-12-19 18:25:09 +01:00
ocornut
8764a1b7c4
Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). ( #7104 )
2023-12-19 10:51:15 +01:00
ocornut
b4b864e40a
Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). ( #7075 )
2023-11-29 14:24:25 +01:00
ocornut
44dbad64d7
Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
...
Amend for 6e7b43b,79a9e2f
2023-11-10 15:10:27 +01:00
ocornut
79a9e2fdfb
Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). ( #6943 , #6715 , #6327 , #3743 , #4618 )
...
See changes in example_glfw_vulkan/main.cpp and example_sdl2_vulkan/main.cpp for reference.
2023-11-10 14:53:34 +01:00
ocornut
6e7b43b6c7
Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. ( #6943 , #6715 , #6327 , #3743 , #4618 )
2023-11-10 14:53:06 +01:00
ocornut
ab522dd18c
Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. ( #4537 )
2023-11-09 16:44:39 +01:00
ocornut
357f752bed
Docs: add more links to the top of every examples and backends files.
2023-09-11 14:01:40 +02:00
ocornut
33e13c85e1
Backends: Made all backends sources files support global IMGUI_DISABLE. ( #6601 )
2023-07-13 11:27:52 +02:00
ocornut
121072cfe6
Backends: Vulkan: Amend for support for dynamic_rendering ( #5446 , #5037 )
...
Simplified for master branch.
# Conflicts:
# backends/imgui_impl_vulkan.cpp
2023-07-04 14:16:28 +02:00
sean
7812e836e4
Backends: Vulkan: Support for dynamic_rendering ( #5446 , #5037 )
...
Co-authored-by: Caio Oliveira <cmarcelo@gmail.com>
Simplified for master branch.
# Conflicts:
# backends/imgui_impl_vulkan.cpp
2023-07-04 14:01:27 +02:00
Gereon V
055e71518e
Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. ( #6334 , #6335 )
...
Amended with fix for missing clear for ImGuiBackendFlags_HasGamepad.
2023-04-17 14:57:12 +02:00
ocornut
e816bc6723
Merge misc changes from docking branch to reduce small drift.
...
In particular:
- imgui.cpp : move UpdateInputEvents() higher in NewFrame() to match docking + update RenderMouseCursor() to match.
- imgui_draw.cpp: ImDrawList::_ResetForNewFrame() change from c807192ab
- Backends: SDL2. Add MouseWindowID + change SDL_CaptureMouse() test to match docking branch. Not strictly necessary but aimed at reducing drift because we go on and fork this file.
+ moved responsability of checking valid names to TabBarGetTabName() to simplify both branches.
2023-02-07 13:22:23 +01:00
Martin Ejdestig
e5d51866c6
Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. ( #6001 , #5502 , #914 )
...
Follow up to c9aef16
which removec three funtions worth of duplicate code.
2023-01-02 16:30:10 +01:00
Martin Ejdestig
c9aef16066
Backends: Vulkan: Remove duplicated and dead code in Vulkan backend ( #6001 )
...
Sampler, descriptor set layout and pipeline layout are created in exact
same way directly in ImGui_ImplVulkan_CreateDeviceObjects(). The removed
functions are local and only has call chain that starts in
ImGui_ImplVulkan_CreateDeviceObjects(), so will always do early return.
2023-01-02 16:25:34 +01:00
ocornut
c54230d14e
Backends: Using nullptr instead of NULL. ( #5760 , #4537 ) + fix additional warnings.
2022-10-11 12:35:41 +02:00
ocornut
282b2b5afb
Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. ( #914 , #5738 ).
...
Amend a588f00
2022-10-04 12:30:45 +02:00
ocornut
a588f00f7b
Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. ( #914 , #5738 ).
2022-10-04 12:02:48 +02:00
tocic
6c3c9cea7f
Fix typos in source comments ( #5675 )
2022-09-13 11:09:34 +02:00
ocornut
f7f30476d5
Added comments about requirement for bilinear filtering. ( #5156 , #3245 ) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). ( #4927 )
2022-04-07 14:28:08 +02:00
ocornut
fd06ed833b
Misc: tweaks + fix warnings on backends withtout -wno-memaccess ( #4995 , #5104 )
2022-03-13 17:57:32 +07:00
ocornut
6e63fcaca3
Backends: Vulkan: Amends, fix miscast on 32-bit systems with the right ImTextureID=ImU64. ( #914 )
2022-01-20 16:56:29 +01:00
ocornut
ceb26bac48
Backends: Vulkan: Added support for ImTextureID as VkDescriptorSet, amends. ( #914 )
2022-01-20 15:53:28 +01:00
Marcell Kiss
29f104319e
Backends: Vulkan: Added support for ImTextureID as VkDescriptorSet, add ImGui_ImplVulkan_AddTexture(). ( #914 )
2022-01-20 15:53:11 +01:00
ocornut
440824d431
Backends: Fixed early out on empty clip rect. In particular, DX12 backend would warn about it (others not so much). ( #4775 , #4464 )
...
Amend/fix 2b0bd40b
2021-11-30 21:48:29 +01:00
ocornut
19c3773cc0
Backends: Vulkan: Call vkCmdSetScissor() with a full-viewport at end of render. ( #4644 )
2021-10-15 12:11:11 +02:00
ocornut
bbd5119a26
Backends: Vulkan: comments about user using VK_DYNAMIC_STATE_VIEWPORT / VK_DYNAMIC_STATE_SCISSOR and not calling vkCmdSetViewport() / vkCmdSetScissor(). ( #4644 )
2021-10-15 12:01:35 +02:00
ocornut
c6ca327fb2
Backends: Added more implicit asserts to detect invalid/redundant calls to Shutdown functions. ( #4562 )
2021-09-20 18:43:05 +02:00
Cort
80ed4eba87
Backends: Vulkan: non-dispatchable handles should compare to VK_NULL_HANDLE, not NULL ( #4475 )
2021-08-24 21:53:54 +02:00
Rokas Kupstys
2b0bd40b99
Backends: Metal: Fixed a crash when clipping rect larger than framebuffer is submitted. ( #4464 )
...
Backends: Normalize clipping rect handling across backends.
+ Squashed amends.
2021-08-24 18:23:13 +02:00
ocornut
cf2daf353e
Backends: Cleanup, removed unnecessary create/destroy wrappers. Fix allegro5 backend + use same code as other backend.
...
+ Update gallery links (#4280 )
2021-06-30 15:50:15 +02:00
ocornut
23a15834fa
Fonts: Fix calling ClearTexData() (clearing CPU side font data) triggering an assert in NewFrame(). ( #3487 ) + Backends: added additional assert to facilitate detecting user understand they haven't initialized a backend.
2021-06-29 18:16:47 +02:00
ocornut
4cec3a0467
Backends: support for multiple imgui context with little testing ( #586 , #1851 , #2004 , #3012 , #3934 , #4141 )
...
I believe more renderer backends should work. GLFW/Win32/SDL/Vulkan probably have many issues.
2021-06-29 16:42:13 +02:00
ocornut
70c603854e
Backends: moved global to a data structure to facilitate support for multi-contexts. ( #586 , #1851 , #2004 , #3012 , #3934 , #4141 )
...
This is NOT enable multi-contexts for any backends
- in order to make this commit as harmless as possible, while containing all the cruft/renaming
-
2021-06-29 14:37:58 +02:00
ocornut
838c16533d
Backends: Comments.
2021-05-27 13:59:35 +02:00
John Asper
6d3a980f38
Backends: Vulkan: Fix mapped memory validation error when buffer sizes are not multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize. ( #3957 )
...
If using Vulkan backend and either vertex_size or index_size is not aligned to VkPhysicalDeviceLimits::nonCoherentAtomSize, then the call to vkFlushMappedMemoryRanges in ImGui_ImplVulkan_RenderDrawData will result to validation error.
2021-03-22 12:41:45 +01:00
ocornut
bda12e5fdd
Backends: Rework blending equation to preserve alpha in output buffer accross all backends. ( #2693 , #2764 , #2766 , #2873 , #3447 , #3813 , #3816 )
...
Some of the viewport ideas from #2766 are not in there yet (e.g. Vulkan: setting compositeAlpha based on cap.supportedCompositeAlpha)
2021-02-18 11:38:41 +01:00
ocornut
58a0a7058c
Backends: Using SetTexID() consistently instead of assigning to ->TexID. May make the later obsolete eventually.
2021-02-03 18:30:26 +01:00
ocornut
6487860aae
Backends: Vulkan: Rework support for custom function/symbol loader ( #3759 , #3227 ), add ImGui_ImplVulkan_LoadFunctions (amend 6001c54
)
...
Making it a separate function allows to use/test this with our examples or any code using the VulkanH helper called before ImGui_ImplVulkan_Init()
2021-01-27 13:43:49 +01:00
Hossein Noroozpour
6001c54598
Backends: Vulkan: Support for custom function/symbol loader ( #3759 , #3227 )
...
- It adds an optional feature to support dynamic linkage of Vulkan instead of using default linkage.
- It is now possible to have several potentially working implementation and whenever the Vulkan library was available it can work.
2021-01-27 12:54:51 +01:00