Age | Commit message (Collapse) | Author |
|
- `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
|
|
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.
Fixes #33356.
|
|
- 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.
|
|
|
|
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
|
|
|
|
-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
|
|
Improve the console error logging appearance
|
|
This removes the need for the hacky split_libmodules logic on Windows,
since all libs are now of manageable size.
|
|
|
|
|
|
This makes `OS.execute()` calls quicker to set up when calling programs
in a blocking fashion.
|
|
This makes secondary information less visually prominent
to improve overall readability.
Various loggers were also tweaked for consistency.
|
|
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.
|
|
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.)
|
|
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>
|
|
Add an `OS.is_window_focused()` getter
|
|
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.
|
|
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>
|
|
|
|
|
|
|
|
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.
|
|
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
|
|
|
|
InputEventMouseMotion event.
|
|
|
|
|
|
|
|
|
|
for macOS CI.
|
|
|
|
and "osslsigncode" on the other platforms)
|
|
Fixes #32486
|
|
Added some obvious errors explanations
|
|
|
|
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 `
|
|
|
|
|
|
"modules/gdnative", "modules/gdscript" directories.
|
|
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
|
|
Since invalid values will cause the setting to be discarded,
it makes more sense to display an error message instead of a
warning message.
|
|
|
|
|
|
Optimization for Input::set_custom_mouse_cursor when used inside
_process function. (Avoids cursor blinking in low end devices)
|
|
Enhance game export
|
|
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.
|
|
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.
|
|
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.
|
|
compiler that this is intended.
|