summaryrefslogtreecommitdiff
path: root/platform/windows
AgeCommit message (Collapse)Author
2020-02-11Vulkan: Move thirdparty code out of drivers, style fixesRémi Verschelde
- `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
2020-02-11Fix code formatting issues and VS compilationRémi Verschelde
Also temporarily disable multicheck build so that we get a full build even when there are style issues on Vulkan. Fixes #33356.
2020-02-11SCons: Streamline Vulkan buildsystem + fixupsRémi Verschelde
- 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.
2020-02-11Add runtime GLES2 / Vulkan context selection.bruvzg
2020-02-11Add static Vulkan loader.bruvzg
Initial Vulkan support for Windows. Initial Vulkan support for macOS.
2020-02-11Custom material support seems complete.Juan Linietsky
2020-02-11Texture refactorJuan Linietsky
-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
2020-02-10Merge pull request #35301 from Calinou/improve-console-error-loggingRémi Verschelde
Improve the console error logging appearance
2020-02-07SCons: Split libmodules.a in folder-based libsRémi Verschelde
This removes the need for the hacky split_libmodules logic on Windows, since all libs are now of manageable size.
2020-02-05Remove duplicate WARN_PRINT macro.Marcel Admiraal
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-01-23Make `OS.execute()` blocking by default if not specifiedHugo Locurcio
This makes `OS.execute()` calls quicker to set up when calling programs in a blocking fashion.
2020-01-19Improve the console error logging appearanceHugo Locurcio
This makes secondary information less visually prominent to improve overall readability. Various loggers were also tweaked for consistency.
2020-01-16MinGW: Avoid GCC -Wcast-function-type warnings on GetProcAddressRémi Verschelde
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.
2020-01-15Fix Vsync Via Compositor causing halved refresh rate when vsync is forced by ↵hoontee
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.)
2020-01-06PCK: Set VERSION_PATCH in header, factor out header magicJoost Heitbrink
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>
2020-01-06Merge pull request #33967 from Calinou/add-os-is-window-focusedRémi Verschelde
Add an `OS.is_window_focused()` getter
2020-01-01Update copyright statements to 2020Rémi Verschelde
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.
2019-12-11SCons: Add 'split_libmodules' option to workaround linker issueRémi Verschelde
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>
2019-12-04Added support for vertical syncing via the Windows OS compositor (DWM.)TerminalJack
2019-12-03Don't stop export if rcedit path is invalidTomasz Chabora
2019-12-01iOS modular build and export implementation.bruvzg
2019-11-28Add an `OS.is_window_focused()` getterHugo Locurcio
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.
2019-11-09Set ShellExecuteW's verb to NULL - fixes #33388piratesephiroth
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
2019-11-07Fix graphic tablet input coordinates on Windows.bruvzg
2019-10-30[macOS, Windows, X11] Add graphic tablet pen pressure and tilt support to ↵bruvzg
InputEventMouseMotion event.
2019-10-29Update natvis file to display Node class correctly in Visual Studio debuggerPouleyKetchoupp
2019-10-27Fix invalid window border when toggled from fullscreen to windowed modeYuri Roubinsky
2019-10-26Allow use of relative and speed properties for InputEventScreenDrag on WIndowsJoe Sweeney
2019-10-25Specify MINGW_HAS_SECURE_API=1Yeongho Kim
2019-10-24Fix compilation warnings in macOS build, enable `warnings=extra werror=yes` ↵bruvzg
for macOS CI.
2019-10-22Add "llvm/thinlto" options to MinGW build.bruvzg
2019-10-04Add code signing support for Windows exports (using "signtool" on Windows ↵bruvzg
and "osslsigncode" on the other platforms)
2019-10-03Properly revert cursor when using set_custom_mouse_cursor with nullPouleyKetchoupp
Fixes #32486
2019-09-25Merge pull request #32051 from qarmin/some_error_explanationRémi Verschelde
Added some obvious errors explanations
2019-09-25Added some obvious errors explanationsqarmin
2019-09-19Fix misc. source comment typosluz.paz
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 `
2019-08-12Remove redundant author doc commentsIAmActuallyCthulhu
2019-08-09fix usage of old macro when new variant intendedRobin Hübner
2019-08-09Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in "platform", ↵Robin Hübner
"modules/gdnative", "modules/gdscript" directories.
2019-08-05Fix wrong mouse wheel position for MOUSE_MODE_CAPTURED on WindowsTan Wang Leng
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
2019-07-30Turn `OS.set_min/max_window_size()` warnings into errorsHugo Locurcio
Since invalid values will cause the setting to be discarded, it makes more sense to display an error message instead of a warning message.
2019-07-29Fix strict-aliasing warning in OS_Windows::get_unix_time.Ibrahn Sahir
2019-07-24Fix crash caused by a9a0d0fb15cc5e028dbf8dab8b46d3dc197c4678Guilherme Felipe
2019-07-09Fix cursor blinking in integrated GPUsGuilherme Felipe
Optimization for Input::set_custom_mouse_cursor when used inside _process function. (Avoids cursor blinking in low end devices)
2019-07-05Merge pull request #24086 from RandomShaper/bundle-pck-to-executableRémi Verschelde
Enhance game export
2019-07-04Hide command prompt launched by OS.executehoontee
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.
2019-07-03Add embedded PCK option to PC platformsPedro J. Estébanez
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.
2019-07-03SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor definesRémi Verschelde
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.
2019-06-29Many fallthrough switch cases now have the FALLTHROUGH macro to tell the ↵hbina085
compiler that this is intended.