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
95db098477
ImFontAtlas: move implicit AddFontDefault call to Build() function + remove unnecessary asserts in backend.
2021-06-25 17:27:17 +02:00
Chaoya Li
2ab7f96f21
Backends: OpenGL3: Enable OES_vertex_array_object extension for emscripten/wasm build ( #4266 , #4267 )
2021-06-25 16:19:55 +02:00
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
2021-06-25 12:33:38 +02:00
ocornut
ac35b4bba2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2021-06-24 18:21:19 +02:00
ocornut
20d415e939
FIx static analysers warnings and disable false positives.
2021-06-24 17:15:14 +02:00
Rokas Kupstys
0b8a247074
Backends: OSX: Added a fix for shortcuts using CTRL key instead of CMD key. ( #4253 )
2021-06-23 15:25:10 +02:00
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
2021-06-21 11:51:51 +02:00
Michel Lesoinne
90deb0959a
Backends, Viewports: Vulkan: Fix the use of the incorrect fence in wait for fence. ( #4208 )
...
The fence being waited upon was not the one associated with the current frame.
This results in validation error detecting a reset of command buffers still in use and resetting fences while still in use.
Read more details in #4208
2021-06-14 17:54:19 +02:00
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 )
2021-06-14 17:43:42 +02:00
ocornut
a44d4da87c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
2021-06-08 18:38:51 +02:00
ocornut
b66529fe3e
Backends: Win32: Rework to handle certains Windows 8.1/10 features without a manifest. ( #4200 , #4191 )
2021-06-08 18:38:20 +02:00
Tatsuya Yatagawa
fe24591411
Backends: OpenGL3: Fix access violation due to NULL from glGetStringi. ( #4201 )
2021-06-05 16:27:31 +02:00
ocornut
16abfa5eb6
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2021-06-04 17:28:45 +02:00
ocornut
838c16533d
Backends: Comments.
2021-05-27 13:59:35 +02:00
ocornut
1ad1429c6d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
2021-05-25 18:45:54 +02:00
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.
2021-05-24 23:46:25 +02:00
ocornut
1b435ae3e0
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2021-05-24 17:49:20 +02:00
Vladimir Davidovich
142c866bd9
Backends: WebGPU: Support draw_data->FramebufferScale ( #4163 )
2021-05-24 17:12:23 +02:00
ocornut
86c2b609ef
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2021-05-19 19:05:01 +02:00
ocornut
fd06dc511f
Backends: GLFW: Adding bound check in KeyCallback because GLFW appears to send -1 on some setups. [ #4124 ]
2021-05-19 19:03:15 +02:00
ocornut
4181ccceea
Backends: WebGPU: Fix build, amend 3c72e51
. ( #3761 )
2021-05-19 18:50:31 +02:00
thedmd
3c72e5142b
Backends: Replace direct access to TextureId with GetTexID() call in ImDrawCmd. ( #3761 )
2021-05-19 18:39:18 +02:00
warriormaster12
2cdfcb8fd2
Backends: Vulkan: Fix for using IMGUI_IMPL_VULKAN_NO_PROTOTYPES ( #4151 , #3759 , #3227 )
2021-05-18 15:08:04 +02:00
Basil Fierz
83bdfef8e0
Backends: WGPU: update to latest specs. ( #4116 , #3632 )
...
Merged 13 commits.
2021-05-16 19:09:22 +02:00
Mertcan Davulcu
cbcd89152b
Backends: Android: Tweaks. ( #4034 )
2021-05-07 17:43:42 +02:00
Hattrick HttrckCldHKS
a8dcab8e2a
Backends: DX9: Fix potential resource leak ( #4093 )
2021-05-07 15:17:24 +02:00
ocornut
31290807dc
Merge branch 'master' into docking
...
+ fix warning fix for mingw+dx9
# Conflicts:
# backends/imgui_impl_dx9.cpp
# imgui.cpp
2021-04-30 22:52:46 +02:00
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.
2021-04-29 17:10:27 +02:00
Jarhmander
7b8932554e
Backends: Win32: Change the case of XInput.h include, so it cross-compile nicely on unices. ( #4074 )
2021-04-26 09:29:38 +02:00
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.
2021-04-23 18:39:07 +02:00
ocornut
33cdbe97b8
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_internal.h
2021-04-19 20:05:59 +02:00
rokups
6d53884487
Backends: OSX: Fix keys remaining stuck in pressed state when CMD-tabbing to a different application. ( #3832 )
2021-04-19 15:15:23 +02:00
ocornut
34d4bc620d
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2021-04-15 19:57:52 +02:00
ocornut
858ea17eba
Backends: DirectX10, DirectX11: fixed a crash when backing/restoring state if nothing is bound when entering the rendering function. ( #4045 )
2021-04-15 13:29:42 +02:00
Sam Jones
71dda216ef
Backends: OpenGL3: Don't try to read GL_CLIP_ORIGIN unless we're OpenGL 4.5. ( #3998 , #2366 , #2186 )
2021-04-06 12:39:47 +02:00
Rokas Kupstys
a4adf60576
Backends, Viewports: GLFW: Add a workaround for stuck keys after closing a GLFW window ( #3837 ).
2021-03-26 12:49:56 +01:00
ocornut
e7577d570e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2021-03-25 16:57:01 +01:00
ocornut
1491d2c916
Backends: Win32: Clearing keyboard down array when losing focus (WM_KILLFOCUS). ( #2062 , #3532 , #3961 )
2021-03-23 16:48:10 +01:00
Nikolai Wuttke
186b734db0
Backends: SDL2: Extend global mouse pos availability check ( #3950 )
2021-03-22 15:08:13 +01: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
085cff2fe5
Viewports, Backends: Vulkan: Rebuild swapchain on VK_SUBOPTIMAL_KHR. ( #3881 )
2021-03-18 18:16:49 +01:00
ocornut
61a0908713
Tables comments + Backends: DirectX9: calling IDirect3DStateBlock9::Capture() after CreateStateBlock() which appears to workaround/fix state restoring issues. . ( #3857 )
2021-03-18 18:04:52 +01:00
ocornut
412d6f7efe
Fixes zealous MSVC static analyzers warnings ( #3938 )
...
Other unfixed as I'm not happy with caving to false positives of every analyzers.
2021-03-18 16:10:25 +01:00
Rokas Kupstys
0c5b0c8b97
Internals: Add a way to request window to not process any interactions for specified number of frames.
2021-03-18 14:19:23 +01:00
ocornut
d5a4d53000
Viewports, Backend: SDL: Fix missing ImGuiBackendFlags_HasSetMousePos flag in docking branch (ok in master), GLFW: Fix application of WantSetMousePos. ( #1542 , #787 )
...
Shows how little this feature is used with nav (was designed for small devices and frankly may be dropped) - but the backend support itself we will make use of for other features.
2021-03-05 17:22:22 +01:00
ocornut
80533ea5e1
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_widgets.cpp
2021-03-05 16:04:15 +01:00
ocornut
8dd692c29c
Android: Amend backend and examples with minor consistency tweaks. ( #3446 )
2021-03-04 11:07:03 +01:00
duddel
fb85c0341b
Add Android backend and example ( #3446 )
2021-03-04 10:35:44 +01:00
ocornut
662535f357
Backends: DX9: Fix handling of colored textures ( #3844 , #3868 )
2021-03-03 18:34:07 +01:00
ocornut
6aee4bcdc5
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2021-03-02 18:27:07 +01:00
ocornut
4537d98d46
Backends: DX9: Fix to support colored glyphs, using newly introduced 'TexPixelsUseColors' info. ( #3369 , #3844 )
2021-03-02 15:04:34 +01:00
Xiliusha
eb57484935
Backends: DX9: add missing IMGUI_USE_BGRA_PACKED_COLOR support. Remove dinput.h headers. ( #3844 )
2021-03-02 15:04:34 +01:00
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.
2021-02-18 16:04:11 +01:00
ocornut
a4e4f57cb0
Examples: DX9-DX11: Removed half-assed DPI awareness enable. Updated Docking/Viewports part of Changelog (e.g. removed bits that are now already in master, clarified some added bits)
2021-02-18 12:55:10 +01:00
ocornut
ffa863a3ba
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_vulkan/main.cpp
# imgui.cpp
2021-02-18 11:41:27 +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
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)
2021-02-17 19:41:41 +01:00
ocornut
239d09804d
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2021-02-10 21:28:16 +01:00
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
2021-02-10 17:27:33 +01:00
ocornut
7a516a266d
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# imgui.cpp
# imgui.h
2021-02-09 13:17:24 +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
Basil Fierz
82a9b599ab
Backend: webgpu: Fixes blending issue on Chrome 90+ and makes backend forward compatible with Emscripten 2.0.14 ( #3632 , #3770 )
2021-02-03 16:35:11 +01:00
ocornut
577e7cb493
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
2021-01-28 21:02:13 +01:00
ocornut
cff8162454
Viewports, Backends: Vulkan: handle VK_ERROR_OUT_OF_DATE_KHR when resizing secondary viewport ( #3766 , #3758 )
...
Cannot repro here but appears to a user on Linux. Fix may be not super solid.
2021-01-28 16:03:59 +01:00
ocornut
dff0044d4e
Backends, Examples: Added support for WebGPU and corresponding example. Amend 5853fbd
( #3632 )
2021-01-28 15:40:31 +01:00
Basil Fierz
5853fbd68b
Backends, Examples: Added support for WebGPU and corresponding example ( #3632 )
...
(Squashed 11 commits)
2021-01-28 11:37:46 +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
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
2021-01-27 12:44:42 +01:00
Sammy Fatnassi
376c88a864
Fixed some compile warnings with Clang on Windows ( #3754 )
2021-01-26 14:10:10 +01:00
ocornut
f139846750
Backends: Win32: dynamically load XInput library (amends) ( #3646 , #3645 , #3248 , #2716 )
2021-01-25 16:30:44 +01:00
Kuanlan
633d1033af
Backends: Win32: dynamically load XInput library ( #3646 , #3645 , #3248 , #2716 )
2021-01-25 16:30:44 +01:00
Belinsky-L-V
695a4bd1a9
Backends: Metal: Fixed texture storage mode when building on Mac Catalyst. ( #3748 )
2021-01-25 15:11:43 +01:00
ocornut
388ca563db
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
2021-01-15 19:20:42 +01:00
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
2021-01-11 11:07:43 +01:00
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+
2021-01-11 10:54:52 +01:00
ocornut
b11518d7d7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2021-01-05 16:46:38 +01:00
ocornut
9bcf77eb81
Fixed using IsItemEdited() after Combo() not matching the return value from Combo(). ( #2034 ) + fix some PVS warnings, fix typo, blanks.
...
Amend e28b1078
2021-01-04 19:15:20 +01:00
ocornut
7d5d5711c2
Backends: OpenGL2, OpenGL3: Backup and restore GL_SHADE_MODAL, GL_STENCIL_TEST, clear GL_NORMAL_ARRAY. Comments., ( #3671 , #3668 )
2021-01-03 17:01:54 +01:00
ocornut
8ec5daf35d
Happy new year!
2021-01-03 15:42:32 +01:00
ocornut
06e87014f2
Merge branch 'master' into docking
...
# Conflicts:
# imgui.h
# imgui_internal.h
2020-12-11 23:10:06 +01:00
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.
2020-12-09 18:28:02 +01:00
ocornut
dd4ca70b0d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_demo.cpp
2020-12-04 19:22:15 +01:00
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.
2020-12-04 11:48:17 +01:00
ocornut
657589ab47
Backends: Vulkan+Viewports: fixed build, removed extraneous pipeline creation ( 770c9953
, e8447dea
, 6a0e85c5
) ( #3459 , #3579 )
2020-12-04 11:29:53 +01:00
ocornut
b2a91dc390
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2020-11-13 22:04:28 +01:00
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.
2020-11-11 15:20:43 +01:00
ocornut
ac08593b96
Merge branch 'master' into docking + tweak dock node padding + use CheckboxFlags with int
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2020-11-05 21:36:22 +01:00
Albin Odervall
b934b9bb86
Backends: OSX, Metal: Fix -Wshadow, -Wimplicit-float-conversion, and -Wsign-conversion warnings. ( #3555 )
2020-11-03 15:38:59 +01:00
ocornut
e3ac52630a
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2020-10-31 00:47:57 +01:00
Rokas Kupstys
6f57d58e82
Backends: OSX: Fix KeyPadEnter on MacOS. ( #3554 )
2020-10-28 12:31:10 +01:00
ocornut
5292320110
Amend ffe8f0177f
( #3544 ) + readme fixes
2020-10-23 11:25:26 +02:00
Louis Schnellbach
ffe8f0177f
Backends: OpenGL3: Backup/restore GL_PRIMITIVE_RESTART state ( #3544 )
2020-10-23 11:17:56 +02:00
ocornut
455c21df71
Merge branch 'master' into docking + dockspace demo comments
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# docs/CHANGELOG.txt
# imgui_internal.h
# imgui_widgets.cpp
2020-10-19 15:08:32 +02:00
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
2020-10-15 19:48:45 +02:00
ocornut
042a3b01d2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# examples/README.txt
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl_directx11/main.cpp
# examples/example_sdl_opengl2/main.cpp
# examples/example_sdl_opengl3/main.cpp
# examples/example_sdl_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2020-10-14 14:44:03 +02:00
ocornut
b1a18d82e3
Moving backends code from examples/ to backends/ (step 6: update markdown documentation)
2020-10-14 14:42:00 +02:00
ocornut
a2a3d80f04
Moving backends code from examples/ to backends/ (step 5: move documentation to MD files)
2020-10-14 14:41:40 +02:00
ocornut
a2d845f9dd
Moving backends code from examples/ to backends/ (step 4: update documentation, much improvement)
2020-10-14 14:41:40 +02:00