22 Commits (d9e60d29e1cab8c0b5370f92ce73b992ac77b3f1)

Author SHA1 Message Date
ocornut 6e63fcaca3 Backends: Vulkan: Amends, fix miscast on 32-bit systems with the right ImTextureID=ImU64. (#914) 3 years ago
ocornut ceb26bac48 Backends: Vulkan: Added support for ImTextureID as VkDescriptorSet, amends. (#914) 3 years ago
Marcell Kiss 29f104319e Backends: Vulkan: Added support for ImTextureID as VkDescriptorSet, add ImGui_ImplVulkan_AddTexture(). (#914) 3 years ago
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
3 years ago
ocornut 19c3773cc0 Backends: Vulkan: Call vkCmdSetScissor() with a full-viewport at end of render. (#4644) 3 years ago
ocornut bbd5119a26 Backends: Vulkan: comments about user using VK_DYNAMIC_STATE_VIEWPORT / VK_DYNAMIC_STATE_SCISSOR and not calling vkCmdSetViewport() / vkCmdSetScissor(). (#4644) 3 years ago
ocornut c6ca327fb2 Backends: Added more implicit asserts to detect invalid/redundant calls to Shutdown functions. (#4562) 3 years ago
Cort 80ed4eba87
Backends: Vulkan: non-dispatchable handles should compare to VK_NULL_HANDLE, not NULL (#4475) 3 years ago
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.
3 years ago
ocornut cf2daf353e Backends: Cleanup, removed unnecessary create/destroy wrappers. Fix allegro5 backend + use same code as other backend.
+ Update gallery links (#4280)
3 years ago
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. 3 years ago
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.
3 years ago
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
-
3 years ago
ocornut 838c16533d Backends: Comments. 3 years ago
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.
4 years ago
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)
4 years ago
ocornut 58a0a7058c Backends: Using SetTexID() consistently instead of assigning to ->TexID. May make the later obsolete eventually. 4 years ago
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()
4 years ago
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.
4 years ago
Brandon DeRosier 6a0e85c561 Backends: Vulkan: Add override for the subpass to reference during VkPipeline creation. (#3579)
This allows for binding the pipeline/sending draw commands
(via `ImGui_ImplVulkan_RenderDrawData`) against any subpass, rather than
being restricted to only the first subpass.

Without this, attempting to bind the pipeline against a subpass other than
the first one results in validation layer errors and, at worst, some drivers
failing if the subpass attachments differ.
4 years ago
ocornut b1a18d82e3 Moving backends code from examples/ to backends/ (step 6: update markdown documentation) 4 years ago
ocornut d9b2fb7338 Moving backends code from examples/ to backends/ (step 1: moving source files) 4 years ago