Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add native GDExtension #35

Closed
wants to merge 107 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
8d6570a
start work on C++ GDExtension
pkdawson Jun 1, 2023
c5fb5c9
more WIP
pkdawson Jun 7, 2023
93109e3
Merge branch 'master' into gdext
pkdawson Jun 16, 2023
f3bce12
target godot 4.1
pkdawson Jun 16, 2023
8888dfb
renderer working
pkdawson Jun 17, 2023
4472c7b
fix rid leaks
pkdawson Jun 17, 2023
ba27131
add freetype in scons
pkdawson Jun 17, 2023
3ae1cf2
fix linux build
pkdawson Jun 17, 2023
223f96b
enforce code style breaks github workflow
pkdawson Jun 17, 2023
32ef6c2
msvc workflow
pkdawson Jun 17, 2023
fad4673
workflow: install scons
pkdawson Jun 17, 2023
2ed2f1c
workflow: checkout submodules
pkdawson Jun 17, 2023
ff91b2d
workflow: upload binaries
pkdawson Jun 17, 2023
f5b784a
workflow: revert triplet
pkdawson Jun 17, 2023
29ccf07
fix macos path
pkdawson Jun 17, 2023
102f071
linux workflow
pkdawson Jun 17, 2023
93ae9ed
macos workflow
pkdawson Jun 17, 2023
022195b
finish gdext packaging
pkdawson Jun 17, 2023
9da76af
oops
pkdawson Jun 17, 2023
858e419
fix
pkdawson Jun 17, 2023
1b76cc0
fix?
pkdawson Jun 17, 2023
060204e
forgot checkout in package job
pkdawson Jun 17, 2023
99bdb82
exclude git stuff from package
pkdawson Jun 17, 2023
8755ae9
working on native API
pkdawson Jun 18, 2023
e85d300
fix public headers
pkdawson Jun 18, 2023
54a4e79
work on input
pkdawson Jun 19, 2023
c0712ac
better design
pkdawson Jun 19, 2023
99a2729
gdscript api work
pkdawson Jun 19, 2023
2d41aaf
temp fix
pkdawson Jun 19, 2023
a9e9dd3
gdscript bindings
pkdawson Jun 22, 2023
db3483f
more binding stuff
pkdawson Jun 22, 2023
c3b69a3
pip install ply
pkdawson Jun 22, 2023
c7d1b2f
install clang-format
pkdawson Jun 22, 2023
bc698fa
use sudo
pkdawson Jun 22, 2023
9aeeb08
fix subprocess.call
pkdawson Jun 22, 2023
2648966
fix compile
pkdawson Jun 22, 2023
bbde8e2
fix for apple clang
pkdawson Jun 22, 2023
37eedf5
gdscript bindings mostly working
pkdawson Jun 26, 2023
27dae53
compiler fixes
pkdawson Jun 26, 2023
535b886
use homebrew clang
pkdawson Jun 26, 2023
8aa719c
fix package
pkdawson Jun 26, 2023
2b8da92
testing workflow stuff
pkdawson Jun 26, 2023
27d87a6
workflow fix
pkdawson Jun 26, 2023
c881060
fix
pkdawson Jun 26, 2023
523180e
oops
pkdawson Jun 26, 2023
1082861
Merge branch 'master' into gdext
pkdawson Jun 27, 2023
66e3a02
stop working on in-editor imgui for now
pkdawson Jun 27, 2023
90905bb
Merge branch 'master' into gdext
pkdawson Jun 30, 2023
3d11e10
imgui 1.89.6
pkdawson Jun 30, 2023
ad8e2b9
fix for doctool
pkdawson Jun 30, 2023
4ce3d69
macos dev support
pkdawson Jun 30, 2023
4ea63de
add freetype on macos
pkdawson Jul 1, 2023
5c9a807
fix script
pkdawson Jul 1, 2023
94ba310
macos dev prep
pkdawson Jul 2, 2023
fb3a0cc
C# refactoring work
pkdawson Jul 4, 2023
f0b4492
support modules
pkdawson Jul 5, 2023
cd6c105
fix module support
pkdawson Jul 5, 2023
4d8ea1e
add secondary sample module
pkdawson Jul 5, 2023
4430af5
sample gdext
pkdawson Jul 5, 2023
84ab007
restart editor after gdext install
pkdawson Jul 5, 2023
0c4304f
dotnet workflow
pkdawson Jul 5, 2023
a481573
C# mostly working
pkdawson Jul 6, 2023
5455852
Merge branch 'master' into gdext
pkdawson Jul 6, 2023
d7d09cd
fix leak
pkdawson Jul 6, 2023
9ed4eda
fix enums
pkdawson Jul 6, 2023
9d505b6
native subviewport widget
pkdawson Jul 6, 2023
8dcb69d
Merge branch 'master' into gdext
pkdawson Jul 6, 2023
e5c362e
support headless
pkdawson Jul 6, 2023
15f9d0f
add fonts
pkdawson Jul 6, 2023
81a05de
some config stuff
pkdawson Jul 7, 2023
dc20d72
more font and config stuff
pkdawson Jul 7, 2023
a1e0119
implement scaling
pkdawson Jul 7, 2023
4e7b222
support show/hide
pkdawson Jul 7, 2023
6332ed0
running in editor
pkdawson Jul 7, 2023
3ab9982
viewports wip
pkdawson Jul 8, 2023
d1207b9
try mingw build
pkdawson Jul 8, 2023
5040693
stick with MSVC for much smaller binaries
pkdawson Jul 9, 2023
51d92fb
try static runtime
pkdawson Jul 9, 2023
30b3780
try lto
pkdawson Jul 9, 2023
ece311e
isolate cimgui, fix some bugs
pkdawson Jul 11, 2023
cba86eb
viewports working, except for renderer
pkdawson Jul 11, 2023
83f1cfc
vp renderer works, needs refactoring
pkdawson Jul 11, 2023
3d0e96f
save cpu when hidden
pkdawson Jul 12, 2023
b899641
handle edge cases
pkdawson Jul 12, 2023
bf97e92
save more cpu if in-editor gui isn't used
pkdawson Jul 13, 2023
255ee49
handle signal disconnections in editor
pkdawson Jul 13, 2023
59a9333
add thread-safe renderer
pkdawson Jul 13, 2023
53c5376
gdscript stuff
pkdawson Jul 13, 2023
5d42d41
fixes
pkdawson Jul 13, 2023
2374790
probably done with gdscript
pkdawson Jul 14, 2023
4c03f7c
fix
pkdawson Jul 14, 2023
a452208
move cimgui to gen
pkdawson Jul 14, 2023
d6214f2
fix
pkdawson Jul 14, 2023
099148d
Merge branch 'master' into gdext
pkdawson Jul 30, 2023
fd5add4
add tool script demo
pkdawson Jul 30, 2023
7bf7423
port new fixes to C++
pkdawson Jul 30, 2023
df0d24f
demo improvements
pkdawson Jul 30, 2023
cdcd43c
test C++ widgets
pkdawson Jul 31, 2023
782946e
load ImGuiRoot earlier to support editor plugins
pkdawson Jul 31, 2023
2b72bbe
Merge branch 'master'
pkdawson Sep 20, 2023
87caa5f
update to imgui 1.89.9, add lunasvg
pkdawson Sep 20, 2023
578dcee
workflow: use newer vcpkg
pkdawson Sep 20, 2023
802a029
imgui compile breaks witih lunasvg, wait for next release
pkdawson Sep 20, 2023
1ba3645
Merge branch 'master'
pkdawson Oct 29, 2023
e9a7e3f
workflow: update vcpkg
pkdawson Oct 29, 2023
f972296
workflow: name package artifact
pkdawson Oct 29, 2023
212cecc
use shader source
pkdawson Oct 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix rid leaks
pkdawson committed Jun 17, 2023
commit 4472c7bfd6e05daff87d5bab3f3b661891764d00
6 changes: 6 additions & 0 deletions gdext/src/ImGuiGD.cpp
Original file line number Diff line number Diff line change
@@ -23,6 +23,12 @@ struct Context
RID svp;
RID ci;
Ref<ImageTexture> fontTexture;

~Context()
{
RenderingServer::get_singleton()->free_rid(ci);
RenderingServer::get_singleton()->free_rid(svp);
}
};

std::unique_ptr<Context> ctx;