summaryrefslogtreecommitdiffstats
path: root/platform/windows
Commit message (Collapse)AuthorAgeFilesLines
* Remove obsolete GLES3 backendRémi Verschelde2020-02-131-4/+1
| | | | | | | | | | | | | | Due to the port to Vulkan and complete redesign of the rendering backend, the `drivers/gles3` code is no longer usable in this state and is not planned to be ported to the new architecture. The GLES2 backend is kept (while still disabled and non-working) as it will eventually be ported to serve as the low-end renderer for Godot 4.0. Some GLES3 features might be selectively ported to the updated GLES2 backend if there's a need for them, and extensions we can use for that. So long, OpenGL driver bugs!
* Vulkan: Move thirdparty code out of drivers, style fixesRémi Verschelde2020-02-112-4/+4
| | | | | | | - `vk_enum_string_helper.h` is a generated file taken from the SDK (Vulkan-ValidationLayers). - `vk_mem_alloc.h` is a library from GPUOpen: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
* Fix code formatting issues and VS compilationRémi Verschelde2020-02-111-2/+0
| | | | | | | Also temporarily disable multicheck build so that we get a full build even when there are style issues on Vulkan. Fixes #33356.
* SCons: Streamline Vulkan buildsystem + fixupsRémi Verschelde2020-02-111-6/+4
| | | | | | | | | | | - Renamed option to `builtin_vulkan`, since that's the name of the library and if we were to add new components, we'd likely use that same option. - Merge `vulkan_loader/SCsub` in `vulkan/SCsub`. - Accordingly, don't use built-in Vulkan headers when not building against the built-in loader library. - Drop Vulkan registry which we don't appear to need currently. - Style and permission fixes.
* Add runtime GLES2 / Vulkan context selection.bruvzg2020-02-114-123/+105
|
* Add static Vulkan loader.bruvzg2020-02-116-11/+197
| | | | | Initial Vulkan support for Windows. Initial Vulkan support for macOS.
* Custom material support seems complete.Juan Linietsky2020-02-111-1/+1
|
* Texture refactorJuan Linietsky2020-02-112-2/+2
| | | | | | | | -Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
* Merge pull request #35301 from Calinou/improve-console-error-loggingRémi Verschelde2020-02-101-44/+24
|\ | | | | Improve the console error logging appearance
| * Improve the console error logging appearanceHugo Locurcio2020-01-191-44/+24
| | | | | | | | | | | | | | This makes secondary information less visually prominent to improve overall readability. Various loggers were also tweaked for consistency.
* | SCons: Split libmodules.a in folder-based libsRémi Verschelde2020-02-071-6/+1
| | | | | | | | | | This removes the need for the hacky split_libmodules logic on Windows, since all libs are now of manageable size.
* | Remove duplicate WARN_PRINT macro.Marcel Admiraal2020-02-051-1/+1
| |
* | Remove duplicate ERR_PRINT macro.Marcel Admiraal2020-02-052-5/+5
| |
* | Make `OS.execute()` blocking by default if not specifiedHugo Locurcio2020-01-231-1/+1
|/ | | | | This makes `OS.execute()` calls quicker to set up when calling programs in a blocking fashion.
* MinGW: Avoid GCC -Wcast-function-type warnings on GetProcAddressRémi Verschelde2020-01-163-0/+15
| | | | | | | | | | Using the same method as GNUlib and various other projects. https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00109.html The warning is valid, but there's no way around it since the issue comes from the Windows SDK. It's also harmless in this case. Part of #29801.
* Fix Vsync Via Compositor causing halved refresh rate when vsync is forced by ↵hoontee2020-01-152-1/+4
| | | | | | | | | the graphics driver Add check to prevent compositor sync if the graphics driver is forcing vsync. Fixes #35038. (Addendum: this PR does not negatively impact users unaffected by #35038.)
* PCK: Set VERSION_PATCH in header, factor out header magicJoost Heitbrink2020-01-061-4/+0
| | | | | | | | | | | | Unify pack file version and magic to avoid hardcoded literals. `version.py` now always includes `patch` even for the first release in a new stable branch (e.g. 3.2). The public name stays without the patch number, but `Engine.get_version_info()` already included `patch == 0`, and we can remove some extra handling of undefined `VERSION_PATCH` this way. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Merge pull request #33967 from Calinou/add-os-is-window-focusedRémi Verschelde2020-01-062-0/+10
|\ | | | | Add an `OS.is_window_focused()` getter
| * Add an `OS.is_window_focused()` getterHugo Locurcio2019-11-282-0/+10
| | | | | | | | | | | | | | | | This makes it possible to know whether the window is focused at a given time, without having to track the focus state manually using `NOTIFICATION_WM_FOCUS_IN` and `NOTIFICATION_WM_FOCUS_OUT`. This partially addresses #33928.
* | Update copyright statements to 2020Rémi Verschelde2020-01-0119-38/+38
| | | | | | | | | | | | | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* | SCons: Add 'split_libmodules' option to workaround linker issueRémi Verschelde2019-12-111-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new 'split_libmodules=yes' option is useful to work around linker command line size limitations when linking a huge number of objects. We're currently over 64k chars when linking libmodules.a on Windows with MinGW, which triggers issues as seen in #30892. Even on Linux, we can also reach linker command line size limitations by adding more custom modules. We force this option to True for MinGW on Windows, which fixes #30892. Additional changes to lib splitting: - Fix linking of the split module libs with interdependent symbols, hacking our way into LINKCOM and SHLINKCOM to set the `--start-group` and `--end-group` flags. - Fix Python 3 compatibility in `methods.split_lib()`. - Drop seemingly obsolete condition for 'msys' on 'posix'. - Drop the unnecessary 'split_drivers' as the drivers lib is no longer too big since we moved all thirdparty builds to modules. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
* | Added support for vertical syncing via the Windows OS compositor (DWM.)TerminalJack2019-12-044-3/+47
| |
* | Don't stop export if rcedit path is invalidTomasz Chabora2019-12-031-36/+41
| |
* | iOS modular build and export implementation.bruvzg2019-12-015-150/+0
|/
* Set ShellExecuteW's verb to NULL - fixes #33388piratesephiroth2019-11-091-1/+1
| | | | | | | from https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew >the default verb is used, if available. If not, the "open" verb is used. If neither verb is available, the system uses the first verb listed in the registry. so "open" is redundant at best
* Fix graphic tablet input coordinates on Windows.bruvzg2019-11-071-2/+8
|
* [macOS, Windows, X11] Add graphic tablet pen pressure and tilt support to ↵bruvzg2019-10-302-0/+189
| | | | InputEventMouseMotion event.
* Update natvis file to display Node class correctly in Visual Studio debuggerPouleyKetchoupp2019-10-291-0/+8
|
* Fix invalid window border when toggled from fullscreen to windowed modeYuri Roubinsky2019-10-272-5/+13
|
* Allow use of relative and speed properties for InputEventScreenDrag on WIndowsJoe Sweeney2019-10-261-2/+3
|
* Specify MINGW_HAS_SECURE_API=1Yeongho Kim2019-10-251-1/+1
|
* Fix compilation warnings in macOS build, enable `warnings=extra werror=yes` ↵bruvzg2019-10-241-1/+2
| | | | for macOS CI.
* Add "llvm/thinlto" options to MinGW build.bruvzg2019-10-221-8/+26
|
* Add code signing support for Windows exports (using "signtool" on Windows ↵bruvzg2019-10-041-2/+183
| | | | and "osslsigncode" on the other platforms)
* Properly revert cursor when using set_custom_mouse_cursor with nullPouleyKetchoupp2019-10-031-1/+6
| | | | Fixes #32486
* Merge pull request #32051 from qarmin/some_error_explanationRémi Verschelde2019-09-251-1/+1
|\ | | | | Added some obvious errors explanations
| * Added some obvious errors explanationsqarmin2019-09-251-1/+1
| |
* | Fix misc. source comment typosluz.paz2019-09-191-4/+8
|/ | | Found using `codespell -q 3 -S ./thirdparty,*.po -L ang,ba,cas,dof,doubleclick,fave,hist,leapyear,lod,nd,numer,ois,paket,seeked,sinc,switchs,te,uint -D ~/Projects/codespell/codespell_lib/data/dictionary.txt `
* Remove redundant author doc commentsIAmActuallyCthulhu2019-08-121-4/+0
|
* fix usage of old macro when new variant intendedRobin Hübner2019-08-091-2/+2
|
* Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in "platform", ↵Robin Hübner2019-08-091-43/+15
| | | | "modules/gdnative", "modules/gdscript" directories.
* Fix wrong mouse wheel position for MOUSE_MODE_CAPTURED on WindowsTan Wang Leng2019-08-051-1/+1
| | | | | | | | | | | | | | | | | WM_MOUSEWHEEL and WM_MOUSEHWHEEL report mouse coordinates relative to the screen (see lParam in [1]), rather than to the window like the rest of the mouse events. The current code already makes adjustments to take that into account. However, it only makes the adjustments if the mouse is not captured, and the coordinates are always relative to the screen regardless of whether the mouse is captured or not, so let's fix the code to always consistently apply the adjustments. This fixes #29559. [1] - https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-mousewheel
* Turn `OS.set_min/max_window_size()` warnings into errorsHugo Locurcio2019-07-301-2/+2
| | | | | | Since invalid values will cause the setting to be discarded, it makes more sense to display an error message instead of a warning message.
* Fix strict-aliasing warning in OS_Windows::get_unix_time.Ibrahn Sahir2019-07-291-2/+10
|
* Fix crash caused by a9a0d0fb15cc5e028dbf8dab8b46d3dc197c4678Guilherme Felipe2019-07-241-0/+1
|
* Fix cursor blinking in integrated GPUsGuilherme Felipe2019-07-092-0/+19
| | | | | Optimization for Input::set_custom_mouse_cursor when used inside _process function. (Avoids cursor blinking in low end devices)
* Merge pull request #24086 from RandomShaper/bundle-pck-to-executableRémi Verschelde2019-07-052-0/+87
|\ | | | | Enhance game export
| * Add embedded PCK option to PC platformsPedro J. Estébanez2019-07-032-0/+87
| | | | | | | | | | | | The basic point is as in 2.1 (appending the PCK into the executable), but this implementation also patches a dedicated section in the ELF/PE executable so that it matches the appended data perfectly. The usage of integer types is simplified in existing code; namely, using plain `int` for small quantities.
* | Hide command prompt launched by OS.executehoontee2019-07-041-1/+1
| | | | | | | | | | | | | | Currently, the console appears when running OS.execute in an exported project, but not in the editor. This change prevents it from appearing in either. Only affects console applications.
* | SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor definesRémi Verschelde2019-07-031-8/+5
| | | | | | | | | | | | | | | | It's the recommended way to set those, and is more portable (automatically prepends -D for GCC/Clang and /D for MSVC). We still use CPPFLAGS for some pre-processor flags which are not defines.