Commit Graph

583 Commits

Author SHA1 Message Date
Matias N. Goldberg 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
Stuart Carnie 41875d8aef
macOS/iOS: Fix various warnings when targeting newer SDKs 2024-08-20 11:55:21 +02:00
Raul Santos e47ff98451
Expose `ShapeCast{2D,3D}::get_collision_result` 2024-08-15 16:20:13 +02:00
David Snopek dd78ce4217 Update GDExtension related CI after Godot 4.3-stable's release 2024-08-15 07:38:49 -05:00
Rémi Verschelde c2a4942850
Bump version to 4.4-dev
Mr. Godot still didn't show up...
2024-08-15 11:39:34 +02:00
Rémi Verschelde 18c1c25ca0
Merge pull request #94652 from shana/fix-header-guards
Fix `header_guards.py` so it detects the copyright header properly.
2024-07-23 16:19:15 +02:00
Andreia Gaita 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
Rémi Verschelde 4e5ed0bbfb
Merge pull request #93753 from Repiteo/scons/visual-studio-fixes
SCons: Fix output with `vsproj=yes`
2024-07-22 17:30:25 +02:00
Hugo Locurcio 0445ccf428
Fix Image CowData crash when baking large lightmaps
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.

VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +02:00
Silc Lizard (Tokage) Renew 9c1f23c3db Re-add Skeleton3D::animate_physical_bones 2024-07-14 14:24:25 +09:00
Pedro J. Estébanez ee2c1584e4 D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
Silc Lizard (Tokage) Renew 59667f8ea2 Fix property type of Sprite3D `frame_coords` to Vector2i from Vector2 2024-07-06 05:36:45 +09:00
Kristopher A fd2e13d9b1
Remove duplicate styling from editor
The \#status-notice styling had a duplicate visibility styling.
2024-07-03 12:32:03 -04:00
Thaddeus Crews 8a24f44fe5
SCons: Fix output with `vsproj=yes` 2024-06-29 13:11:19 -05:00
Rémi Verschelde b7ba0b84ff
Merge pull request #93511 from Repiteo/style/relocate-pretty-print
Style: Relocate `godot_gdb_pretty_print.py`
2024-06-25 10:02:02 +02:00
Thaddeus Crews 47babe860e
Style: Relocate `godot_gdb_pretty_print.py` 2024-06-23 10:54:12 -05:00
Thaddeus Crews cc6dd8d02c
Style: Optimize `.svg` files with `svgo` 2024-06-23 08:15:19 -05:00
Thaddeus Crews 4af1068688
CI: Add `svgo` pre-commit hook 2024-06-23 08:14:54 -05:00
Rémi Verschelde 19bf77f666
Merge pull request #91382 from adamscott/sample-player
Add sample playback support
2024-06-19 07:59:07 +02:00
Adam Scott 52fa4f05f3
Add samples playback support 2024-06-18 11:06:31 -04:00
Thaddeus Crews 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
Rémi Verschelde 62a056aa56
Fix extension API validation warning after #92861 2024-06-11 11:23:09 +02:00
Silc Lizard (Tokage) Renew bea47d877b Fix seeking Animation immediate after playback for Discrete track 2024-06-08 22:09:37 +09:00
Adam Scott 2c3b871b3b
Make displayed Web errors more meaningful 2024-05-30 12:38:08 -04:00
bruvzg c8ae9e9c76
[iOS] Change default iPad landscape orientation from "left" to "right". 2024-05-29 12:47:49 +03:00
Gilles Roudière 85eac45513 Display custom data name instead of indices in TileData inspector 2024-05-25 17:21:31 +02:00
patwork 1a89ae70eb Upgrade to eslint 9 2024-05-22 11:32:25 +02:00
Jakub Marcowski d9f8ef68df
Update pre-commit hooks configuration to use `ruff` instead of `black` 2024-05-21 18:02:29 -05:00
Thaddeus Crews 96d1e61ee6
CI: Fix incorrect executable perms 2024-05-17 10:47:40 -05:00
Rémi Verschelde 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
Rémi Verschelde 44833c7995
Merge pull request #91954 from Repiteo/scons/pyproject.toml
CI: Consolidate pysettings via `pyproject.toml`
2024-05-15 12:09:59 +02:00
Rémi Verschelde 86b72d9215
Merge pull request #91377 from bruvzg/macos_privacy
[macOS export] Add support for privacy manifest configuration.
2024-05-15 12:09:34 +02:00
Thaddeus Crews f4e58691c2
SCons: Consolidate pysettings via `pyproject.toml` 2024-05-14 12:01:48 -05:00
sgilissen 666aeac0b8 Add Dutch tranlsation for Linux desktop file 2024-05-14 06:55:36 +02:00
Rémi Verschelde 13a6df24fc
Merge pull request #91852 from patwork/fix-splash-bg-color
[Web] Fix splash screen background color in HTML shell
2024-05-13 17:32:14 +02:00
Yaohua Xiong ed3d311687 Add antialias support for CanvasItem draw primitives
including
- rect, circle; both filled and unfilled.
- polyline, multiline
2024-05-13 19:03:31 +08:00
patwork eb488f7321 Fix splash screen background color in HTML shell 2024-05-12 01:02:14 +02:00
Mitten Orvan 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
Rémi Verschelde 4778b24366
Merge pull request #91597 from Repiteo/ci/pre-commit-handle-everything
CI: Overhaul static checks to use `pre-commit`
2024-05-08 18:22:59 +02:00
Thaddeus Crews df969ff742
CI: Overhaul static checks to use `pre-commit` 2024-05-08 10:30:24 -05:00
Rémi Verschelde 7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +02:00
Hugo Locurcio 47ac22486d
Update dependencies in D3D12 SDK installer script
- Add colored console output.
2024-05-07 19:10:58 +02:00
Rémi Verschelde 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
Radiant 789c6ebdfd Implement `amplitude` to Input.vibrate_handheld
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: m4gr3d <m4gr3d@users.noreply.github.com>
2024-05-02 19:09:42 +03:00
bruvzg 360d365b33
[RTL] Adds extra argument to `remove_paragraph` to skip cache invalidation and a method for manual cache invalidation. 2024-05-02 14:03:21 +03:00
Yaohua Xiong 1f2aa17d14
Extend `CanvasItem::draw_circle()` with filled, width, and antialiased options
Make it possible to draw unfilled circle, like draw_rect(). Antialising is only implemented for unfilled version.
2024-05-02 10:42:24 +02:00
bruvzg 059ddc41a0
[macOS export] Add support for privacy manifest configuration. 2024-04-30 23:31:56 +03:00
Rémi Verschelde b1da4b2a84
Merge pull request #91128 from patwork/splash-image-in-web-export
Splash image support and new progress bar for HTML5 Web Export
2024-04-30 17:03:21 +02:00
Rémi Verschelde e19b808a7a
Merge pull request #86978 from kitbdev/multicaret-overhaul
Overhaul multicaret editing and selection in TextEdit
2024-04-30 17:03:04 +02:00
Rémi Verschelde bdeed8e750
Merge pull request #90375 from bruvzg/ios_privacy
[iOS export] Add support for privacy manifest configuration.
2024-04-29 10:09:38 +02:00