summaryrefslogtreecommitdiff
path: root/platform/windows
AgeCommit message (Collapse)Author
2021-02-18Move tablet driver API from OS to DisplayServer.bruvzg
2021-02-10Make Servers truly Thread Safereduz
-Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread). -RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault. -Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory). -3D physics server changed to be made multithread friendly. -Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads. -Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
2021-02-09Use /Zi and /FS for including debugger symbols on Windows with MSVCBastiaan Olij
2021-02-08SCons: Fix debug_symbols tests after switch to BoolVariableRémi Verschelde
Bug introduced in #45679. Fixes part of #45816.
2021-02-07Cancel event dispatch on errorkobewi
2021-02-03SCons: Add `production=yes` option to use production defaultsRémi Verschelde
This is meant for users making custom builds to match the options used on optimized, official builds. This enables, on the platforms which support them: - `use_static_cpp=yes` (portable binaries for Linux and Windows) - `use_lto=yes` (link time optimizations - note: requires a lot of RAM!) - `debug_symbols=no` (no debug symbols, smaller binaries) Also abort when using MSVC with `production=yes`, as: - It cannot optimize the GDScript VM like GCC or Clang do, leading to significant performance drops. - Its LTO support is unreliable, at least used to trigger crashes last we tried it extensively. All options can still be overridden if specified, and the `dev=yes` option was changed to also support overrides.
2021-01-29Modernize ThreadPedro J. Estébanez
- Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
2021-01-22Merge pull request #45314 from RandomShaper/modernize_rwlockRémi Verschelde
Modernize RWLock
2021-01-19Modernize RWLockPedro J. Estébanez
- Based on C++14's `shared_time_mutex` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed - Simpler for `NO_THREADS`
2021-01-18BUGFIX: Fix unintialized cursor_shape on windows display serverMarios Staikopoulos
2021-01-09Split OS::execute into two methodsMarcel Admiraal
1. execute(): Executes a command and returns the results. 2. create_process(): Creates a new process and returns the new process' id.
2021-01-06Removes semicolon typo in display_server_windowsYuri Roubinsky
2021-01-06Fix PopupMenu's which are not closed after a recent commitYuri Roubinsky
2021-01-05Merge pull request #44299 from Chaosus/fix_win32_warningRémi Verschelde
Fixed warning at window closing (WIN32)
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2021-01-01Fixed warning at project startup (WIN32)Yuri Roubinsky
2020-12-31Fix window restoring after fullscreen againYuri Roubinsky
2020-12-28Merge pull request #44757 from andrew-softdev/my-bug-fixRémi Verschelde
Incorrect format specifiers used to display some type data in the Visual Studio debugger
2020-12-28Incorrect format specifiers used to display some String/StringName dataandrew-softdev
2020-12-28Merge pull request #44593 from madmiraal/rename-mainloop-methodsRémi Verschelde
Rename MainLoop methods to match Node methods
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-22Rename MainLoop methods to match Node methodsMarcel Admiraal
2020-12-19Rename Rect2 and Rect2i clip() to intersection()Marcel Admiraal
2020-12-18Add missing override keywords in os_windows.hMarcel Admiraal
2020-12-17Add override keywords to core/os.h derived classes.Marcel Admiraal
2020-12-16SCons: Add only selected platform's opts to envRémi Verschelde
Otherwise we can get situations where platform-specific opts with the same name can override each other depending on the order at which platforms are parsed, as was the case with `use_static_cpp` in Linux/Windows. Fixes #44304. This also has the added benefit that the `scons --help` output will now only include the options which are relevant for the selected (or detected) platform.
2020-12-12Don't handle BaseException in build scriptsMarcel Admiraal
2020-12-10Merge pull request #40708 from bruvzg/improve_os_localeRémi Verschelde
Improve `OS::get_locale()` and documentation.
2020-12-09Merge pull request #44161 from Faless/fix/fa_buffered_removeRémi Verschelde
Remove unused FileAccessBuffered
2020-12-08Merge pull request #43742 from qarmin/editor_modules_default_valuesRémi Verschelde
Initialize class/struct variables with default values in platform/ and editor/
2020-12-06Remove now unused FileAccessBuffered.Fabio Alessandrelli
2020-12-04RenderingServer reorganizationreduz
2020-12-04Added driving joystick type to windows joystick handlingBastiaan Olij
2020-12-04Merge pull request #44074 from reduz/reorganize-3dRémi Verschelde
Reorganize rendering server.
2020-12-03Merge pull request #44018 from lyubomirv/mingw_use_static_cpp_optionRémi Verschelde
Add 'use_static_cpp' option for MinGW builds
2020-12-03Reorganize rendering server.reduz
-Made RenderingServerScene abstract, allowing reimplementation -RenderingServerRaster -> RenderingServerDefault, but this class is going away soon.
2020-12-03Add 'use_static_cpp' option for MinGW and MSVC buildsLyubomir Vasilev
2020-12-02Initialize class/struct variables with default values in platform/ and editor/Rafał Mikrut
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-11-19SCons: Remove unnecessary $LINK overridesRémi Verschelde
As of SCons 4.0.1, the default value for $LINK is $SMARTLINK, which itself is a function that will use $CXX as linker for C++: https://github.com/SCons/scons/blob/4.0.1/SCons/Tool/link.py#L327-L328 https://github.com/SCons/scons/blob/4.0.1/SCons/Tool/link.py#L54-L76 So we don't need to manually specify the same value as $CXX for $LINK.
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-16Fixed exit code retrieval of spawned processes on WindowsMarcus Brummer
Use GetExitCodeProcess() on Windows to retrieve the exit code of a process in OS:excute()
2020-11-09Merge pull request #43412 from akien-mga/variant-rename-_RID-to-RIDRémi Verschelde
Variant: Rename Type::_RID to Type::RID
2020-11-09Variant: Rename Type::_RID to Type::RIDRémi Verschelde
The underscore prefix was used to avoid the conflict between the `RID` class name and the matching enum value in `Variant::Type`. This can be fixed differently by prefixing uses of the `RID` class in `Variant` with the scope resolution operator, as done already for `AABB`.
2020-11-09Remove `debug_symbols=full` in favor of `debug_symbols=yes`Hugo Locurcio
`debug_symbols=yes` will now behave like `debug_symbols=full` did before. The difference in compressed file sizes is not that large, which means there isn't much point in having two different values. This helps make the buildsystem easier to understand.
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-11-06Merge pull request #43353 from madmiraal/fix-43352Rémi Verschelde
Use LONG instead of DWORD (unsigned int) when interacting with DIJOFS constants
2020-11-06Use LONG instead of DWORD (unsigned int) when interacting with DIJOFS constants.unknown
2020-10-24Changed path behaviour for WindowsEv1lbl0w
2020-10-09[Windows, MSVC] Correctly set source file encoding.bruvzg