121 Commits (2402958aec9ef3303293540c15d4bd133ae3a007)

Author SHA1 Message Date
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 b5a2bd1a5b Backends: amends to 1db1066 + merge minor bits from docking incl SetActiveIdUsingNavAndKeys().
No need to clear fields before deletion. DX12: renamed to match docking branch.
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 95db098477 ImFontAtlas: move implicit AddFontDefault call to Build() function + remove unnecessary asserts in backend. 3 years ago
Chaoya Li 2ab7f96f21 Backends: OpenGL3: Enable OES_vertex_array_object extension for emscripten/wasm build (#4266, #4267) 3 years ago
Anthony 8ced41570e Backends: DX9: explicitely disable texture state stages after >= 1. (#4268)
imgui only uses texture stage state for stage 0
But any state set in stages >= 1 will affect rendering
Set stage 1 COLOROP to DISABLED, to deactivate stages >= 1
3 years ago
ocornut 20d415e939 FIx static analysers warnings and disable false positives. 3 years ago
Rokas Kupstys 0b8a247074 Backends: OSX: Added a fix for shortcuts using CTRL key instead of CMD key. (#4253) 3 years ago
Ivan Sokolov 0905439c31 Backends: OpenGL3: Destroy shader objects right away (#4244)
In OpenGL, after a shader program has been linked, shader objects don't need to be kept neither attached to the program nor in existence
3 years ago
ocornut 98a6292165 Backends: DX12: Fix texture casting crash on 32-bit systems (introduced on 2021/05/19 and v1.83) + added comments about building on 32-bit systems. (#4225) 3 years ago
ocornut b66529fe3e Backends: Win32: Rework to handle certains Windows 8.1/10 features without a manifest. (#4200, #4191) 3 years ago
Tatsuya Yatagawa fe24591411
Backends: OpenGL3: Fix access violation due to NULL from glGetStringi. (#4201) 3 years ago
ocornut 838c16533d Backends: Comments. 3 years ago
ocornut 556689591c Backends: OpenGL3: Handle GL_CLIP_ORIGIN on <4.5 contexts if "GL_ARB_clip_control" extension is detected. (#4170, #3998)
Expecting this to somehow cause another issue but we will fix it when it comes.
3 years ago
Vladimir Davidovich 142c866bd9 Backends: WebGPU: Support draw_data->FramebufferScale (#4163) 3 years ago
ocornut fd06dc511f Backends: GLFW: Adding bound check in KeyCallback because GLFW appears to send -1 on some setups. [#4124] 3 years ago
ocornut 4181ccceea Backends: WebGPU: Fix build, amend 3c72e51. (#3761) 3 years ago
thedmd 3c72e5142b Backends: Replace direct access to TextureId with GetTexID() call in ImDrawCmd. (#3761) 3 years ago
Basil Fierz 83bdfef8e0 Backends: WGPU: update to latest specs. (#4116, #3632)
Merged 13 commits.
3 years ago
Mertcan Davulcu cbcd89152b
Backends: Android: Tweaks. (#4034) 3 years ago
Hattrick HttrckCldHKS a8dcab8e2a Backends: DX9: Fix potential resource leak (#4093) 3 years ago
ocornut d28535f351 Fixes for Visual Studio 2019 static analyzers. (#3938, #4073) + two minor edge case were invalid scalar input (e.g. a sign only) would return buffer as modified. 3 years ago
Jarhmander 7b8932554e
Backends: Win32: Change the case of XInput.h include, so it cross-compile nicely on unices. (#4074) 3 years ago
ocornut 06545c4f2a Backends: DirectX9: explicitely setting up more graphics states to increase compatibility with unusual non-default states. (#4063)
Added D3DRS_FILLMODE, D3DRS_ZWRITEENABLE, D3DRS_RANGEFOGENABLE, D3DRS_SPECULARENABLE, D3DRS_STENCILENABLE, D3DRS_CLIPPING. Reordered some to match order in DX9 headers.
4 years ago
rokups 6d53884487 Backends: OSX: Fix keys remaining stuck in pressed state when CMD-tabbing to a different application. (#3832) 4 years ago
ocornut 858ea17eba Backends: DirectX10, DirectX11: fixed a crash when backing/restoring state if nothing is bound when entering the rendering function. (#4045) 4 years ago
Sam Jones 71dda216ef Backends: OpenGL3: Don't try to read GL_CLIP_ORIGIN unless we're OpenGL 4.5. (#3998, #2366, #2186) 4 years ago
ocornut 1491d2c916 Backends: Win32: Clearing keyboard down array when losing focus (WM_KILLFOCUS). (#2062, #3532, #3961) 4 years ago
Nikolai Wuttke 186b734db0 Backends: SDL2: Extend global mouse pos availability check (#3950) 4 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 61a0908713 Tables comments + Backends: DirectX9: calling IDirect3DStateBlock9::Capture() after CreateStateBlock() which appears to workaround/fix state restoring issues. . (#3857) 4 years ago
ocornut 412d6f7efe Fixes zealous MSVC static analyzers warnings (#3938)
Other unfixed as I'm not happy with caving to false positives of every analyzers.
4 years ago
Rokas Kupstys 0c5b0c8b97 Internals: Add a way to request window to not process any interactions for specified number of frames. 4 years ago
ocornut 8dd692c29c Android: Amend backend and examples with minor consistency tweaks. (#3446) 4 years ago
duddel fb85c0341b
Add Android backend and example (#3446) 4 years ago
ocornut 662535f357 Backends: DX9: Fix handling of colored textures (#3844, #3868) 4 years ago
ocornut 4537d98d46 Backends: DX9: Fix to support colored glyphs, using newly introduced 'TexPixelsUseColors' info. (#3369, #3844) 4 years ago
Xiliusha eb57484935 Backends: DX9: add missing IMGUI_USE_BGRA_PACKED_COLOR support. Remove dinput.h headers. (#3844) 4 years ago
ocornut c154629152 Backends: Win32: Added ImGui_ImplWin32_EnableAlphaCompositing() helper. (#2766, #3447)
Pragma linking with dwmapi.lib (Vista-era, ~9 kb). MinGW users will need to link with -ldwmapi.
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 27a5bdb916 Backends: Win32: Fixed ImGui_ImplWin32_EnableDpiAwareness() attempting to get SetProcessDpiAwareness from shcore.dll on Windows 8 whereas it is only supported on Windows 8.1.
+ Added other helpers for reference (unused currently, other features will want them)
4 years ago
ocornut 647a308ad3 Backends: GLFW: Add ImGui_ImplGlfw_InitForOther() instead of ImGui_ImplGlfw_InitForWebGPU() so it can be used for e.g. DX11. (#3632)
Amend dff0044
4 years ago
ocornut 58a0a7058c Backends: Using SetTexID() consistently instead of assigning to ->TexID. May make the later obsolete eventually. 4 years ago
Basil Fierz 82a9b599ab Backend: webgpu: Fixes blending issue on Chrome 90+ and makes backend forward compatible with Emscripten 2.0.14 (#3632, #3770) 4 years ago
ocornut dff0044d4e Backends, Examples: Added support for WebGPU and corresponding example. Amend 5853fbd (#3632) 4 years ago
Basil Fierz 5853fbd68b Backends, Examples: Added support for WebGPU and corresponding example (#3632)
(Squashed 11 commits)
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
Rokas Kupstys 066406b9be Backends: OSX: Fix mouse position not being reported when mouse buttons other than left one are down. (#3762)
# Conflicts:
#	docs/CHANGELOG.txt
4 years ago
ocornut f139846750 Backends: Win32: dynamically load XInput library (amends) (#3646, #3645, #3248, #2716) 4 years ago
Kuanlan 633d1033af Backends: Win32: dynamically load XInput library (#3646, #3645, #3248, #2716) 4 years ago
Belinsky-L-V 695a4bd1a9 Backends: Metal: Fixed texture storage mode when building on Mac Catalyst. (#3748) 4 years ago
Matthijs Lavrijsen e485d451d1 Backends: DX12: improve Windows 7 compatibility (#3696)
- Attempt to load d3d12.dll from local D3D12On7 paths before falling back to System32
- Do not statically import D3D12SerializeRootSignature
4 years ago
ocornut 36535514d5 Backends: DX12: Fix warning (#3706). Disable obsolete Tables enums, leave them commented out. Using _MSVC_LANG to enable offsetof() and static_assert() on VS2015.3+ 4 years ago
ocornut 9bcf77eb81 Fixed using IsItemEdited() after Combo() not matching the return value from Combo(). (#2034) + fix some PVS warnings, fix typo, blanks.
Amend e28b1078
4 years ago
ocornut 7d5d5711c2 Backends: OpenGL2, OpenGL3: Backup and restore GL_SHADE_MODAL, GL_STENCIL_TEST, clear GL_NORMAL_ARRAY. Comments., (#3671, #3668) 4 years ago
ocornut 8ec5daf35d Happy new year! 4 years ago
ocornut 3346544cf5 Examples: Fix batch files (amend b1a18d82, #3513), standardize them + DirectX12: Move ImGui::Render() call above the first barrier to clarify its lack of effect on the graphics pipe. 4 years ago
ocornut f9b873662b Backends: Win32: Fixed setting of io.DisplaySize to invalid/uninitialized data when after hwnd has been closed.
GetClientRect() fails on closed hwnd which left the rectangle uninitialized and copied to DisplaySize. Ensure it is zero + similar failsafe in io.WantSetMousePos path.
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
Albin Odervall b934b9bb86 Backends: OSX, Metal: Fix -Wshadow, -Wimplicit-float-conversion, and -Wsign-conversion warnings. (#3555) 4 years ago
Rokas Kupstys 6f57d58e82 Backends: OSX: Fix KeyPadEnter on MacOS. (#3554) 4 years ago
ocornut 5292320110 Amend ffe8f0177f (#3544) + readme fixes 4 years ago
Louis Schnellbach ffe8f0177f Backends: OpenGL3: Backup/restore GL_PRIMITIVE_RESTART state (#3544) 4 years ago
xndcn 127f132447 Backends: OpenGL3: Add compatibility of GL_VERSION for GL 2.x (#3530)
GL_MAJOR_VERSION and GL_MINOR_VERSION are available on GL 3.0 and above.
So we have to parse GL_VERSION under GL 2.x
4 years ago
ocornut b1a18d82e3 Moving backends code from examples/ to backends/ (step 6: update markdown documentation) 4 years ago
ocornut a2a3d80f04 Moving backends code from examples/ to backends/ (step 5: move documentation to MD files) 4 years ago
ocornut a2d845f9dd Moving backends code from examples/ to backends/ (step 4: update documentation, much improvement) 4 years ago
ocornut a7e21fb05f Moving backends code from examples/ to backends/ (step 3: fixing project files) 4 years ago
ocornut 428f4fce70 Moving backends code from examples/ to backends/ (step 2: moving vulkan cruft) 4 years ago
ocornut d9b2fb7338 Moving backends code from examples/ to backends/ (step 1: moving source files) 4 years ago