Rémi Verschelde
a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
...
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships
b4c6cc7d82
[Core] Add case-insensitive `String::containsn`
2024-05-08 12:48:01 +02:00
A Thousand Ships
a0dbdcc3ab
Replace `find` with `contains/has` where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02: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
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
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
...
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
A Thousand Ships
86de59d60a
[Core] Add `LocalVector::has` for convenience
2024-05-06 18:03:37 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Bastiaan Olij
9042ddf19f
Improvements to VRS/Foveated rendering
2024-05-03 17:20:30 +10:00
clayjohn
8eae822b54
Ensure that environment is available before checking for BCS
2024-05-02 11:34:48 -07:00
Rémi Verschelde
0b6c29f2d2
Merge pull request #89114 from AThousandShips/vec_elem_scalar
...
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
2024-05-02 12:46:22 +02:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
semensanyok
e378083fa5
fix typo in e41064388e
breaking gles3
2024-05-02 00:32:39 +02:00
Rémi Verschelde
f91db3dc58
Merge pull request #91399 from QbieShay/qbe/fix-pmul-name
...
Revert premul alpha to spell without the T
2024-05-01 23:47:46 +02:00
QbieShay
e41064388e
reverted naming to premul alpha (no T)
...
Initially 3d had premulT alpha as a keyword.
Since Canvas item uses mixed premul and premult as keywords,
3D is changed as well to keep consistency with 2D.
Unfortunately this keeps inconsistency with the internal ENUM.
2024-05-01 22:24:49 +02:00
Chris Clyne
44364faee5
Ensure global shader sampler parameters are initialized when loading the editor
2024-05-01 18:12:46 +01:00
QbieShay
41a2b0e83e
Added premult alpha blending to 3D (spatial) shaders.
...
Co-authored-by: jitspoe <jitspoe@yahoo.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-05-01 00:53:29 +02:00
bruvzg
986d297ed3
Fix arm64/Windows build.
2024-04-30 16:26:42 +03:00
Rémi Verschelde
32070144af
Merge pull request #91100 from bruvzg/x_finks
...
Add symlink API support for Windows, expose symlink methods.
2024-04-29 13:00:37 +02:00
Rémi Verschelde
947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
...
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
Rémi Verschelde
c7a73e684d
Merge pull request #71975 from AThousandShips/file_case_warning
...
[Windows] Improve warning for path casing.
2024-04-29 10:09:25 +02:00
Rémi Verschelde
45c6f18128
Merge pull request #61006 from bruvzg/libbacktrce
...
[Windows] Enable crash reporter on MinGW builds.
2024-04-29 10:09:22 +02:00
bruvzg
fc948e87f6
Add symlink API support for Windows, expose symlink methods.
2024-04-28 19:59:34 +03:00
A Thousand Ships
3679ea5d26
[Windows] Improve warning for path casing.
2024-04-27 16:49:47 +02:00
A Thousand Ships
31e7ee63f2
Fix unsafe uses of `Callable.is_null()`
...
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
Bastiaan Olij
d2d22748b4
Fix issue in shadow to opacity
2024-04-26 21:54:26 +10:00
Rémi Verschelde
a07f89bfb2
Merge pull request #91176 from clayjohn/GL-adjustments
...
Add adjustments and color correction to Compatibility renderer
2024-04-26 11:08:56 +02:00
Rémi Verschelde
490e636289
Merge pull request #91169 from DarioSamo/render_pass_2_fallback_fix
...
Fix crash on compatibility fallback when vkCreateRenderPass2KHR is unavailable.
2024-04-26 11:08:53 +02:00
Rémi Verschelde
22c8a2785d
Merge pull request #90920 from clayjohn/2D-light-cull
...
Exit light calculation early when pixel outside of light bounding rectangle
2024-04-26 11:08:29 +02:00
clayjohn
e8bb0a5719
Add adjustments and color correction to Compatibility renderer
2024-04-25 12:24:51 -07:00
Dario
b95e18f557
Fix crash on compatibility fallback when vkCreateRenderPass2KHR is unavailable.
2024-04-25 14:03:02 -03:00
Rob Blanckaert
ffe0b869f5
Add LIGHT_VERTEX to fragment shader
...
Adds a new variable to the fragment shader to specify
the vertex position used when calculating lighting.
2024-04-25 06:56:02 -07:00
cosparks
6d0dca76c0
Fixes SDF Collision Enable/Disable
...
- sets LightOccluderInstance field when sdf collision is updated
- adds check for light occluder sdf_collision field in 2d renderers
2024-04-22 20:27:56 -07:00
bruvzg
c1b34672f9
[Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols.
2024-04-22 16:19:37 +03:00
Rémi Verschelde
504d01b61e
Merge pull request #90403 from bruvzg/file_resize
...
[FileAccess] Implement `resize` method.
2024-04-22 12:51:55 +02:00
clayjohn
506e93a207
Exit light calculation early when pixel outside of light bounding rectangle
...
This hugely improves the performance of rendering PointLight2Ds
2024-04-19 16:10:11 -07:00
Fredia Huya-Kouadio
764de7fe31
Collapse the gdextension arguments into the `GDExtensionData` struct
...
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 -07:00
Fredia Huya-Kouadio
ede88cf59d
Fix loading GDExtension dependencies on Android
2024-04-19 07:55:08 -07:00
Oxi
1815871b90
Fixed unshaded mode lightmaps
2024-04-17 10:38:54 +01:00
Rémi Verschelde
7210d6cb43
Merge pull request #90358 from KoBeWi/finding_errors_in_other_apps
...
Add `OS.get_process_exit_code()` method
2024-04-16 13:30:41 +02:00
kobewi
dce4a3e4c2
Add get_process_exit_code() method
2024-04-16 12:46:15 +02:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
...
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
bruvzg
88b3e68f93
[FileAccess] Implement `resize` method.
2024-04-12 19:20:49 +03:00
bruvzg
57fde36f31
[Unix / DirAccess] Fix removing directory symlinks with `remove`, ensure `erase_contents_recursive` is not following directory symlinks.
2024-04-12 10:06:49 +03:00
Rémi Verschelde
e73f40e260
Merge pull request #87117 from DmitriySalnikov/rename_pdb
...
Add renaming of PDB files to avoid blocking them
2024-04-11 11:02:31 +02:00
Juan Linietsky
65686dedf9
Use WorkerThreadPool for Server threads
...
* Servers now use WorkerThreadPool for background computation.
* This helps keep the number of threads used fixed at all times.
* It also ensures everything works on HTML5 with threads.
* And makes it easier to support disabling threads for also HTML5.
CommandQueueMT now syncs with the servers via the WorkerThreadPool
yielding mechanism, which makes its classic main sync semaphore
superfluous.
Also, some warnings about calls that kill performance when using
threaded rendering are removed because there's a mechanism that
warns about that in a more general fashion.
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2024-04-10 18:47:42 +02:00
Pedro J. Estébanez
c28f5901c7
Polish interaction between windowing, input and rendering
...
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +02:00
Rémi Verschelde
c59f493620
Merge pull request #89729 from jitspoe/master.shadow_distance_fade_optimization
...
Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
2024-04-10 14:21:56 +02:00
Bastiaan Olij
509d8dba2a
Add reflection probe support to compatibility renderer using 2 probe approach.
2024-04-09 16:53:28 +10:00
ArthasMenethil
17e489b93d
Fix OpenGL: _shadow_atlas_find_shadow: Condition "!sli" is true.
2024-04-05 09:24:15 +07:00
DmitriySalnikov
b73e740786
Add renaming of PDB files to avoid blocking them
2024-04-05 00:14:23 +03:00
Rémi Verschelde
a28be933ee
Merge pull request #89398 from clayjohn/visual-debugger-coverage
...
Increase coverage of timestamps for visual profiler
2024-04-04 14:31:19 +02:00
Rémi Verschelde
b4b4919736
Merge pull request #88816 from joined72/gles3_gpuparticles2d_fixes
...
Fix CPU/GPUParticles2D bugs on Compatibility Rendering (GLES3) on Adreno 3XX devices.
2024-04-04 14:31:07 +02:00
Khasehemwy
d950f5f838
Use Reverse Z for the depth buffer
2024-04-04 13:54:15 +02:00
clayjohn
ac6c648645
Increase coverage of timestamps for visual profiler
2024-04-03 19:29:02 -07:00
joined72
4df39dc140
Fix CPU/GPUParticles2D bugs on Compatibility Rendering (GLES3) on Adreno 3XX devices.
2024-04-02 11:24:13 +02:00
bruvzg
082b420c0a
Implement `OS.execute_with_pipe` method to run process with redirected stdio.
...
Implement `pipe://*` path handling for creation of named pipes.
2024-03-27 11:41:16 +02:00
Hugo Locurcio
4a615924f8
Improve warning messages related to Vulkan pipeline cache
...
This gives better explanations on why the cache may have been invalidated,
along with usual consequences.
These messages have also been moved to verbose prints, as users
cannot do anything to resolve them specifically (so they are mostly
relevant to developers).
2024-03-26 22:42:27 +01:00
jitspoe
a0969a0931
Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
2024-03-25 21:25:56 -04:00
ppphp
d4e1a74efb
Add 'override' mark to ResourceFormat class
2024-03-25 04:06:34 +08:00
Rémi Verschelde
cd4e4c0fcc
Merge pull request #89111 from AThousandShips/vec_use
...
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
Ricardo Buring
2ed2ccc2d8
Fixed Timestep Interpolation (2D)
...
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
A Thousand Ships
79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-20 13:47:42 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-12 10:59:53 -05:00
Rémi Verschelde
b0d07b1bc2
Merge pull request #86936 from akx/env-utf-8
...
Attempt parsing environment variables as UTF-8
2024-03-11 14:02:22 +01:00
AlexOtsuka
179b0786c6
Fix audio crackling issues due to incorrect WASAPI buffer size
2024-03-08 14:05:39 +01:00
Rémi Verschelde
f8140a4e9a
Merge pull request #89253 from Calinou/debug-draw-modes-ignore-decals-2
...
Make Overdraw, Lighting and Shadow Splits debug draw modes ignore decals
2024-03-08 13:09:40 +01:00
Rémi Verschelde
1186d4a8df
Merge pull request #89094 from permelin/fix-particle-userdata-gles3
...
Fix `USERDATA` built-ins for GLES3 particle shaders
2024-03-08 13:09:30 +01:00
Thaddeus Crews
9903e6779b
Enforce template syntax `typename` over `class`
2024-03-07 22:39:09 -06:00
Hugo Locurcio
26a220bd31
Make Overdraw, Lighting and Shadow Splits debug draw modes ignore decals
...
This also makes the Overdraw and Shadow Splits debug draw modes ignore fog.
The Lighting debug draw mode still displays fog as that debug draw mode
is intended to preview scene lighting, and fog has an impact on how
lighting is perceived.
2024-03-07 17:40:49 +01:00
Rémi Verschelde
ec55028f26
Merge pull request #89209 from RandomShaper/padding_for_dummies
...
Make shader binary alignment handling simpler and more robust
2024-03-06 13:17:09 +01:00
Pedro J. Estébanez
f77b4d155b
Make shader binary alignment handling simpler and more robust
...
Bonus:
Also simplified the rounding to block size in image size calculations.
2024-03-06 11:48:23 +01:00
Rémi Verschelde
e74f4ea115
Vulkan: Don't warn about pipelines cache if missing
...
It used to warn when opening a new project because no cache pre-exists,
which isn't particularly helpful.
Also include the rendering method in the cache filename, as it differs
between Forward+ and Mobile for a same GPU.
2024-03-05 16:39:14 +01:00
Rémi Verschelde
a369796741
Merge pull request #89168 from SlugFiller/fix-msvc-2017-gles-namespace-v2
...
Fix build on MSVC 2017
2024-03-05 09:56:19 +01:00
Rémi Verschelde
a52e575652
Merge pull request #89134 from BastiaanOlij/fix_recursive_reflection_probes
...
Fix never ending loop with overlapping probes
2024-03-05 09:56:05 +01:00
Rémi Verschelde
86807721e3
Merge pull request #88787 from dsnopek/webxr-depth-draw-fix
...
Fix rendering issue with depth in WebXR
2024-03-05 09:55:56 +01:00
Rémi Verschelde
16fa6bc44b
Merge pull request #88540 from bruvzg/d3d12_guids2
...
[D3D12] Define GUIDs directly.
2024-03-05 09:55:46 +01:00
Rémi Verschelde
5d20628c31
Merge pull request #88496 from bruvzg/d3d12_dyn_load
...
[Windows] Make D3D12 loading dynamic to support pre-Windows 10 versions.
2024-03-05 09:55:41 +01:00
SlugFiller
b999893c9d
Fix build on MSVC 2017
2024-03-05 06:57:53 +02:00
Bastiaan Olij
a5d3d23db4
Fix never ending loop with overlapping probes
2024-03-05 10:07:56 +11:00
David Snopek
e35ccf92d0
Fix rendering issue with depth in WebXR
2024-03-04 15:13:35 -06:00
Rémi Verschelde
a47e38b175
Merge pull request #89038 from RandomShaper/d3d12_sm
...
Direct3D 12: Fix shader model support check for devices not aware of the highest ones
2024-03-04 20:43:42 +01:00
Pedro J. Estébanez
bed48f37aa
Direct3D 12: Fix shader model support check for devices not aware of the highest ones
2024-03-04 13:54:28 +01:00
Rémi Verschelde
006437005d
Merge pull request #89064 from omar-polo/file-access-unix
...
Fix FileAccessUnix on OpenBSD where `UF_HIDDEN` isn't supported
2024-03-04 13:33:58 +01:00
Rémi Verschelde
3be5d9b01a
Merge pull request #89046 from permelin/fix-particle-aabb-recalc-with-userdata
...
Fix error in AABB calculation for particles with USERDATA
2024-03-04 13:33:33 +01:00
markdibarry
a62870956a
Add new Parallax2D node
2024-03-03 15:46:40 -05:00
Per Melin
24b58c655a
Fix USERDATA built-ins for GLES3 particle shaders
2024-03-02 18:41:38 +01:00
Per Melin
853935a5c9
Fix error in AABB calculation for particles with USERDATA
...
Selecting "Generate AABB" on a 3D particle node in the editor would not work
and printed an error about incorrect buffer size if the particle shader used
one or more of the USERDATA build-ins.
2024-03-02 14:26:09 +01:00
Omar Polo
32877ae994
fix FileAccessUnix on OpenBSD: there is no UF_HIDDEN
...
Part of the joint effort with @rfht to port Godot 4 on OpenBSD.
2024-03-01 19:33:49 +00:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-28 14:25:35 +01:00
clayjohn
2c7dd35822
Ensure proper vertex input masks are used in 2D compatibility renderer
2024-02-27 15:39:20 -08:00
Pedro J. Estébanez
3f530c7091
Direct3D 12: Implement proper fallback for format casting
2024-02-27 17:20:01 +01:00
Rémi Verschelde
cfe344f12f
Merge pull request #87872 from RandomShaper/d3d12_tex_mem_is_life
...
Direct3D 12: Enhance management of texture data life cycle
2024-02-27 16:36:59 +01:00
Pedro J. Estébanez
d47021ac6c
Direct3D 12: Enhance management of texture data life cycle
2024-02-27 15:45:19 +01:00
Rémi Verschelde
b38d5efd6a
Merge pull request #88873 from clayjohn/GLES3-compositor-free
...
Add `compositor_free` branch in Compatibility scene renderer free function
2024-02-27 10:18:35 +01:00
Rémi Verschelde
415a334f5f
Merge pull request #88745 from clayjohn/GLES3-system-fbo
...
Consistently use `system_fbo` instead of binding 0 as it is needed for iOS devices
2024-02-27 10:17:51 +01:00
clayjohn
57f8b885de
Add compositor_free branch in Compatibility scene renderer free function
2024-02-26 17:56:55 -08:00
clayjohn
294f16c862
Consistently use system_fbo instead of binding 0 as it is needed for iOS devices
2024-02-25 13:52:41 -08:00
Robert Yevdokimov
13e82094ee
Remove word duplicates in comments and strings, and fix casing and punctuation
2024-02-23 17:28:28 -05:00