Commit Graph

145 Commits

Author SHA1 Message Date
106c23e58b CI: Fix detection of Windows D3D12 dependencies 2025-08-24 14:12:41 -05:00
d21007cf9a Move unicode_ranges out of dynamic_font_import_settings.cpp into its own file 2025-06-04 23:16:06 +02:00
efde4ae853 macOS: Fix support for latest VulkanSDK .app name in install script 2025-05-06 18:40:40 +02:00
413cb795cd Move alt_code_oem437 and alt_code_cp1252 to separate header file 2025-05-03 11:52:49 +03:00
e9b71f96a2 Fixing mac vulkan install script to error if jq is not installed 2025-04-27 19:26:41 -05:00
43e9b04f66 Update Mesa-NIR library detection and download script. 2025-04-25 08:11:14 +03:00
2b1f463de5 SCons: Refactor color.py 2025-03-25 12:27:35 -05:00
de33bd2b7c CI: Trim cache before saving 2025-03-14 14:05:02 -05:00
97ee05e9b7 Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 -07:00
96fdaa616b Style: Integrate #pragma once in builders/checks 2025-03-07 17:32:33 -06:00
bb8ef4e052 Merge pull request #101878 from Chubercik/automate_char_range
Core: Automate generation of the `char_range.inc` file
2025-03-07 15:12:31 -06:00
c63955b3eb Update MoltenVK install script to include version number in installer name. 2025-02-07 21:15:37 +02:00
104857687c Update ucaps.h to contain proper case matchings 2025-01-29 12:37:33 +01:00
10485764a7 Automate generation of the char_range.inc file
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru>
2025-01-23 19:25:59 +01:00
a29294fddc SCons: Refactor color output implementation 2025-01-07 18:44:53 -06:00
d8761f2c79 SCons: Improve colored output 2024-12-10 11:44:48 -06:00
7558bed893 fixed crash when file too short 2024-12-08 01:57:49 -05:00
db1c1d43e3 [Misc] Check for the available and installed Vulkan SDK versions before downloading and installing. 2024-10-28 11:56:00 +02:00
74df6f192a [macOS] Update Vulkan SDK install script. 2024-10-08 19:37:09 +03:00
6f7c52d17f Temporarily disable "validation errors no longer occur" warnings 2024-08-22 18:16:11 -05:00
364f916f3f Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
09f2b9513c Fix header_guards so it detects the copyright header properly.
Having hardcoded offsets is a problem if the copyright header ever changes
or when running on forks with different copyright header formats.
2024-07-23 12:19:20 +02:00
ee2c1584e4 D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
47babe860e Style: Relocate godot_gdb_pretty_print.py 2024-06-23 10:54:12 -05:00
576c9e4fe8 CI: Add pre-commit hook for clang-tidy
• Set to "manual" so it isn't invoked in normal workflow
• Modernize `.clang-tidy` file
2024-06-17 11:27:18 -05:00
d9f8ef68df Update pre-commit hooks configuration to use ruff instead of black 2024-05-21 18:02:29 -05:00
96d1e61ee6 CI: Fix incorrect executable perms 2024-05-17 10:47:40 -05:00
e63b5ba9e4 Merge pull request #91416 from Calinou/d3d12-sdk-update-install-script
Update dependencies in D3D12 SDK installer script
2024-05-15 13:51:31 +02:00
f4e58691c2 SCons: Consolidate pysettings via pyproject.toml 2024-05-14 12:01:48 -05:00
829c33aed1 Create a GDB pretty printing file for String, StringName, and Vector
GDB supports custom pretty-printers implemented in Python.
When debugging Godot, checking the values of Strings and StringNames
in the debugger was very inconvenient as the data is fairly deep
in the structure. This makes the values immediately visible.

The custom pretty printer can be taken into use manually by calling
`source misc/scripts/godot_gdb_pretty_print.py` in the GDB console.
In VS code, it can be activated by default by adding the source
command to the `setupCommands` of the configuration in launch.json.

Like this:
```json
// launch.json
{
    "configurations": [
        {
            "name": "C/C++: debug,
            "type": "cppdbg",
	    ...
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Load custom pretty-printers for Godot types.",
                    "text": "source ${workspaceRoot}/misc/scripts/godot_gdb_pretty_print.py"
                }
            ],
            "miDebuggerPath": "gdb"
        }
    ],
    "version": "2.0.0"
}
```

Extended the pretty-printer python script to support Vectors.
The printer needs to be uncomfortably aware of CowData
implementation details, but I don't think there is any
way around that.
2024-05-11 12:33:35 +02:00
df969ff742 CI: Overhaul static checks to use pre-commit 2024-05-08 10:30:24 -05:00
47ac22486d Update dependencies in D3D12 SDK installer script
- Add colored console output.
2024-05-07 19:10:58 +02:00
4b070e8031 Fix various typos with codespell
Using 2.2.7.dev217+g10c2abcf.

Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
d3d4b2e25e Fix infinite while loop on empty added file. 2024-04-12 19:38:37 +02:00
4933fa8bf5 [Buildsystem] Fix encoding when reading files 2024-03-24 18:02:56 +01:00
e520359147 Pre-commit: Fix copyright_headers.py to run on all relevant files
It was only running on the first file passed by pre-commit, instead of all.
Fixes compatibility with Windows paths to get the basename.
2024-03-15 15:32:50 +01:00
fb299d0fb1 SCons: Ensure with statement where applicable 2024-03-10 12:57:57 -05:00
d9fa40f2df Enforce \n eol for Python writes
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
97851f0340 Move dotnet-format script to pre-commit
Co-authored-by: Paul Joannon <437025+paulloz@users.noreply.github.com>
2024-03-02 08:25:48 +01:00
20c563de40 Replace hand-written pre-commit hooks with pre-commit Python tool
`pre-commit` can be installed with pip, and configured in the Godot repo with
`pre-commit install`. It can then easily be run both locally with
`pre-commit run`, and on CI, in a cross-platform way.

This makes it much easier for contributors to set up pre-commit hooks,
without having to manually copy files to their git folder.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-02-26 14:57:53 +01:00
5fd9d0891f SCons: Add proper MinGW support to D3D12 deps install script
Fix a couple GCC warnings.
2024-02-23 22:13:22 +01:00
7223c5b54a Fix various typos with codespell
Using 2.2.7.dev115+g0eb441d6.

Had to add `cancelled` to the ignore list, as it's a Wayland signal which
we're handling in our code, so we don't want codespell to fix that "typo".

Also includes the typo fix from #87927.

Co-authored-by: Divyanshu Shekhar <61140213+divshekhar@users.noreply.github.com>
2024-02-07 11:09:34 +01:00
6da378afea Fix printf for format checks
Prevents errors with input being invalid format strings
2024-02-02 15:10:46 +01:00
b4e519b07f SCons: Fix Windows cross-compilation from Linux after #86717 2024-01-26 12:42:09 +01:00
ea2c6f1d0b Add a python script to install Direct3D 12 SDK components.
This makes it much faster to get started with Direct3D 12 builds,
as you only need to run `python .\misc\scripts\install_d3d12_sdk_windows.py`
then run `scons d3d12=yes`.

This installs DirectX Shader Compiler, Mesa NIR, WinPixEventRuntime
and DirectX 12 Agility SDK.

- Define a default path that uses the locations from the script.
- Now the default path is in "%LOCALAPPDATA%\Godot\build_deps\"
- Updated CI to use this new python script.

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-01-24 20:11:43 +08:00
8cd984b3cb SCons: Update mypy 2023-12-11 15:59:06 -06:00
ba713c80df Fix various typos with codespell
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +01:00
1887a9df19 [macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
e36bd595fa CI: Compat checks: Make fetching the reference API more robust 2023-09-05 15:27:44 +02:00
b83dff752c CI: Compare API compatibility against both 4.0 and 4.1 2023-08-30 23:33:09 +02:00