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
ocornut
124c2608f1
Docs: Renamed all occurences of "binding" and "back-end" to "backend" in comments and documentations, for consistency.
4 years ago
ocornut
0f13fdd177
Removed redirecting functions/enums names that were marked obsolete in 1.60: io.RenderDrawListsFn, IsAnyWindowFocused(), IsAnyWindowHovered(), etc.
4 years ago
omar
e8447dea45
Backends: Vulkan: Removed unused shader code. Fix leaks. Avoid unnecessary pipeline creation for main viewport. Amend 41e2aa2
. ( #3459 )
4 years ago
Michel Lesoinne
41e2aa2e7a
Backends: Vulkan: Separate the pipeline of the dear imgui created windows from the one created with the user's render-pass. ( #3455 , #3459 )
This is mostly for the benefit of multi-viewports.
4 years ago
Rokas Kupstys
0738611559
Misc: Bunch of code formatting changes suggested by a pass running 'astyle'
4 years ago
ocornut
a06eb83359
Examples: GLFW+Vulkan, SDL+Vulkan: Fix for handling of minimized windows. ( #3259 )
5 years ago
ocornut
a056603d8b
Backends: Vulkan: Rename internal helper ImGui_ImplVulkanH_CreateWindow to ImGui_ImplVulkanH_CreateOrResizeWindow
5 years ago
omar
d5ce3b43ae
Backends: Vulkan: Fixed error in if initial frame has no vertices. ( #3177 )
5 years ago
Chris Savoie
73c30aa085
Backends: Vulkan: Don't skip drawing when there's no vertexes to ensure that user callbacks are still processed.
5 years ago
omar
ca63349eb4
Renamed XX-bits -> XX-bit in comments to match what the world appears to be using.
5 years ago
Rokas Kupstys
6892b81578
Remove trailing spaces from bunch of files.
(cherry picked from commit 50e0f8d4ddf4c426f62f346c8260a927f6b7c779)
5 years ago
Vilya Harvey
62143dff64
Backends: Vulkan: Added support for specifying multisample count. ( #2705 , #2706 )
5 years ago
omar
431aa4e456
Synced/merged minor cruft from docking branch to minimize drift. AFAIK the only meaningful no-op change is that the call UpdateHoveredWindowAndCaptureFlags() was moved above UpdateMouseMovingNewFrame() to match what docking branch has been doing for a while.
6 years ago
omar
7755cbbef2
Renamed ImGuiBackendFlags_HasVtxOffset to ImGuiBackendFlags_RendererHasVtxOffset to match naming convention already used in viewport/docking branch. ( #2591 ) + Fix OpenGL3 code missing flag.
6 years ago
omar
b3dd03f582
Examples/Backends: DirectX9/10/11/12, Vulkan, OpenGL3 (Desktop GL only): Added support for large meshes (64k+ vertices) with 16-bits indices, enable 'ImGuiBackendFlags_HasVtxOffset' config flag in back-end. ( #2591 )
6 years ago
omar
ae405b83a4
Examples: Added missing per-renderer local changelogs. ( #2037 , #1639 , #2452 )
6 years ago
omar
5c1cd5c8c7
ImDrawCallback_ResetRenderState, Examples: Added support for reset render state callback. ( #2037 , #1639 , #2452 )
6 years ago
omar
e099a7dc74
Vulkan: Bits. Using IM_ALLOC/IM_FREE instead of new[] / delete[].
6 years ago
omar
6bc47dfe48
Vulkan: Removed superfluous vkInstance parameters being passed along.
6 years ago
omar
452047c7ca
Vulkan: Removed requirement for user to pass their own render buffer storage to ImGui_ImplVulkan_RenderDrawData(), this is managed internally.
6 years ago
omar
ec76722d2d
Vulkan: Added ImageCount to InitInfo structure (!= MinImageCount) will be needed for viewports. Renamed FramesQueueSize -> ImageCount. ( #2472 , #2071 )
6 years ago
MindSpunk
a45840746e
Vulkan, Viewports: Fix for resizing viewport windows crashing. ( #2472 )
6 years ago
omar
0034e65c26
Vulkan: Renaming demo/helper structures. Tidying up examples main.cpp.
6 years ago
omar
4f54a527ab
Vulkan: Renaming, we want InitInfo to source MinImageCount which is the "source" value (so viewport creation can use this). Made ImGui_ImplVulkan_DestroyFrameRenderBuffers public. ( #2071 )
6 years ago
omar
86f5945f49
Vulkan: Storing user info into a single g_VulkanInitInfo structure to simplify code.
6 years ago
omar
66f4be2e13
Vulkan: Added extra parameter to ImGui_ImplVulkan_RenderDrawData(). User is in charge of owning/storing 1 ImGui_ImplVulkan_FrameRenderBuffers per in-flight rendering frame. Removed ImGui_ImplVulkan_SetFramesQueueSize. ( #2461 , #2348 , #2378 , #2097 , #2071 , #1677 )
6 years ago
omar
6bf981c85c
Vulkan: More renaming. Comments.
6 years ago
omar
f586764cdd
Examples: Vulkan: Merged helpers into ImGui_ImplVulkanH_CreateWindowData. Removed ImGui_ImplVulkan_InvalidateFrameDeviceObjects from API. Comments. ( #2071 )
6 years ago
omar
54b8a65d9e
Examples: Vulkan: Renamed QueuedFramesCount to FramesQueueSize. Moved Framebuffer, Backbuffer to FrameData structure. ( #2071 )
6 years ago
omar
317859a3da
Examples: Vulkan: Updated Changelog, removed debug code, tweaked code, made GLFW/SDL match each others. Initialize FrameDataForRender fields. Added Assertion. Clearing fields on DestroyFrameData(). ( #2071 )
6 years ago
omar
c7eef99a33
Examples: Vulkan: Fixed tabs->space, removed extraneous braces and empty lines. ( #2071 )
6 years ago
MindSpunk
b88a3b2711
Examples: Vulkan: Added calls to supports runtime changing back buffer count. ( #2071 )
6 years ago
omar
1c3311e4d6
Vulkan: Avoid passing negative coordinates to vkCmdSetScissor, which debug validation layers do not like.
6 years ago
omar
fc52364652
Tabs to Spaces, comments.
6 years ago
omar
5c4cc370bb
Examples: Vulkan: Added shader sources/references in the .cpp source.
6 years ago
omar
e3cd6b1cbb
Examples: Vulkan: Using IM_ARRAYSIZE() where possible.
6 years ago
omar
3a737e665a
Examples: Vulkan: Added missing support for 32-bit indices (#define ImDrawIdx unsigned int). + demo typo
6 years ago
omar
512d39d031
Examples: OpenGL3: Minor tweaks, clarifications + not calling glBindBuffer more than necessary in the render loop.
6 years ago
omar
d972533d09
Examples: Vulkan: Rewrote scissor processing to match other examples more closely. Removed extraneous +1 of scissor extent height.
6 years ago
omar
dd14adc731
Examples: Vulkan: Support draw_data->FramebufferScale correctly matching a79785c
for on Metal/GL2/GL3. ( #2306 , #1676 )
6 years ago
omar
a79785c0b9
ImDrawData: Added FramebufferScale field (currently a copy of the value from io.DisplayFramebufferScale).
This is to allow render functions being written without pulling any data from ImGuiIO, allowing incoming multi-viewport feature to behave on Retina display and with multiple displays. If you are not using a custom binding, please update your render function code ahead of time, and use draw_data->FramebufferScale instead of io.DisplayFramebufferScale. (#2306 , #1676 )
Examples: Metal, OpenGL2, OpenGL3: Fixed offsetting of clipping rectangle with ImDrawData::DisplayPos != (0,0) when the display frame-buffer scale scale is not (1,1). While this doesn't make a difference when using master branch, this is effectively fixing support for multi-viewport with Mac Retina Displays on those examples. (#2306 ) Also using ImDrawData::FramebufferScale instead of io.DisplayFramebufferScale.
Examples: Clarified the use the ImDrawData::DisplayPos to offset clipping rectangles.
6 years ago
omar
2c38b32db1
Removed trailing spaces ( #2038 , #2299 )
6 years ago