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
Rémi Verschelde
5fd9d0891f
SCons: Add proper MinGW support to D3D12 deps install script
...
Fix a couple GCC warnings.
2024-02-23 22:13:22 +01:00
Rémi Verschelde
0072a0ba31
Merge pull request #88684 from clayjohn/GLES3-visibility-notifier
...
Implement VisibilityNotifier3D in the compatibility backend
2024-02-23 11:29:50 +01:00
clayjohn
3c2f30ed23
Implement VisibilityNotifier3D in the compatibility backend
2024-02-22 12:35:24 -08:00
Rémi Verschelde
d646b7fef6
Merge pull request #88560 from DarioSamo/rdd_execute_and_present
...
Merge execute and present commands for RenderingDeviceDriver.
2024-02-22 11:23:19 +01:00
Alexander Hartmann
e17cecf54a
Fix Compatibility Rendering (GLES3) on old and low budget devices.
...
Co-Authored-By: joined72 <19651914+joined72@users.noreply.github.com>
2024-02-22 00:24:08 +01:00
David Snopek
1e67de5e0c
Fix OpenGL on Android after adding optional depth fog
2024-02-21 09:54:38 -06:00
Rémi Verschelde
04c71d943f
Merge pull request #88573 from Arthas92t/master
...
Fix shader cache with transform feedback on some Android devices
2024-02-21 08:57:32 +01:00
Bastiaan Olij
c2a4657a70
Change glow calculation back to max(r,g,b)
2024-02-21 11:33:10 +11:00
ArthasMenethil
d31d3e503e
Fix shader cache with transform feedback on some android devices
2024-02-21 07:31:40 +07:00
Rémi Verschelde
652438a395
Merge pull request #87360 from BastiaanOlij/gles_glow
...
Implement glow/bloom on compatibility renderer
2024-02-20 23:59:48 +01:00
Rémi Verschelde
292f4c7f97
Merge pull request #80214 from BastiaanOlij/rendering_effect
...
Implement hooks into renderer
2024-02-20 23:59:27 +01:00
Dario
ee2d8f68ba
Merge execute and present commands for RenderingDeviceDriver.
2024-02-19 13:09:03 -03:00
Rémi Verschelde
8a3a559023
Merge pull request #86620 from fbcosentino/midi_device_id
...
Add MIDI controller device index to `InputEventMIDI.device` property.
2024-02-19 17:06:22 +01:00
bruvzg
f4ca6a856a
[Windows] Make D3D12 loading dynamic to support pre Windows 10 versions.
2024-02-19 15:08:04 +02:00
bruvzg
4d2204455f
[D3D12] Define GUIDs directly.
2024-02-19 13:45:12 +02:00
Fernando Cosentino
b9fd25ea18
Add MIDI controller device index to InputEventMIDI.device property.
...
It is possible to query the OS for the connected MIDI controllers,
but the event messages' device field was not being used. This implements
controller index being sent in InputEventMIDI messages in the device
property, matching the index from OS.get_connected_midi_inputs().
Based on the work done by @ramdor.
Closes godotengine/godot-proposals#7733
Co-authored-by: Richie <richie_github@grange-lane.co.uk>
2024-02-19 10:23:19 +00:00
Bastiaan Olij
aa260e5f3d
Implement glow/bloom on compatibility renderer
2024-02-19 13:29:43 +11:00
Arman Elgudzhyan
533eab89ab
Fixed reversed custom AABB null check when recalculating multimesh AABBs
2024-02-18 12:07:23 -08:00
Bastiaan Olij
5a98845655
Implement hooks into renderer
2024-02-18 21:54:21 +11:00
Eidolon
08f4560e69
Add optional depth fog
2024-02-17 22:39:34 -03:00
Rémi Verschelde
564af14eeb
Merge pull request #88361 from DarioSamo/vk_present_suboptimal_fix
...
Handle `VK_SUBOPTIMAL_KHR` as a valid error code to fix Android performance.
2024-02-17 00:23:56 +01:00
Rémi Verschelde
59643bdb86
Merge pull request #88325 from akien-mga/texture-formats
...
Export: Unify settings for PC texture formats, removed obsoleted ETC feature
2024-02-17 00:23:45 +01:00
Arman Elgudzhyan
7ac8365e11
Support custom AABB within MultiMesh resources
...
- Supporting custom AABB on the MultiMesh resource itself allows us to prevent costly runtime AABB recalculations.
- Should also help improve CPU Particle performance.
2024-02-15 22:37:07 -08:00
Rémi Verschelde
c1ad24571a
Merge pull request #88252 from RandomShaper/d3d12_slice_of_cube
...
Direct3D 12: Fix cubemap slicing
2024-02-15 15:45:03 +01:00
Rémi Verschelde
ef5d6ccfb7
Merge pull request #86966 from Muller-Castro/value2ref-core
...
Add const lvalue ref to `core/*` container parameters
2024-02-15 15:44:43 +01:00
Dario
24fcee6d67
Handle VK_SUBOPTIMAL_KHR as a valid error code to fix Android performance.
2024-02-15 10:59:36 -03:00
Anatoli Babenia
e25cfffc7f
Add --no-header
option to clean output
...
* Do not print empty line when header is disabled
* Do not print Vulcan header
* Also add "Print header" project setting (default On)
(suggested by @kaissouDev)
* Add docs for the project setting
(with suggestions by @Mickeon and @akien-mga)
Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-02-15 14:10:11 +03:00
Rémi Verschelde
e457f41f9b
Remove code relative to obsoleted ETC texture format
...
Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
2024-02-14 17:16:41 +01:00
Muller-Castro
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03:00
Rémi Verschelde
5e58bcd793
Merge pull request #88205 from 0x0ACB/thread_safe_texture_rid
...
Make `RID_Owner<Texture>` threadsafe in `TextureStorage` for GLES3
2024-02-13 23:43:40 +01:00
Rémi Verschelde
404f226d1d
Merge pull request #88254 from bruvzg/dxil_load
...
[D3D12] Improve shader validation handling.
2024-02-13 11:25:14 +01:00
Rémi Verschelde
d3a8ae8b86
Merge pull request #88144 from GNSS-Stylist/ConDotFix
...
Fix invalid file path handling in Windows when there is dot in the file name
2024-02-13 11:25:01 +01:00
GNSS-Stylist
c5e1b327c6
Fix invalid file path handling in Windows when there is dot in the file name
...
This basically re-adds dot-removal removed by the previous commit.
2024-02-13 10:39:03 +01:00
Erik Johnson
eab95698cd
Fix shadows for billboarded Sprite3D's
2024-02-13 10:36:38 +01:00
bruvzg
1a2f9741cf
[D3D12] Improve shader validation handling.
2024-02-13 11:27:48 +02:00
Pedro J. Estébanez
5a0ae10f58
Direct3D 12: Fix cubemap slicing
2024-02-12 16:08:27 +01:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
Rémi Verschelde
b8b0eea1f8
Merge pull request #87570 from RandomShaper/d3d12_defensive
...
Direct3D 12: Make format feature check more defensive
2024-02-12 13:34:09 +01:00
ACB
09d2c09434
Make RID_Owner<Texture>
threadsafe in TextureStorage
for gles3
2024-02-11 17:23:00 +01:00
A Thousand Ships
684752e75b
Replace error checks against size
with is_empty
2024-02-09 12:50:15 +01:00
bruvzg
be8f60a78d
[Windows] Fix windows is_path_invalid, and apply it to directory creation.
2024-02-09 10:47:07 +02:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
...
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
Rémi Verschelde
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
Alula
ea229f5148
OpenGL: Implement 3D Texture support
2024-02-05 20:10:39 +01:00
Rémi Verschelde
efa587ad36
Merge pull request #87795 from RandomShaper/d3d12_dont_leak_please
...
Direct3D 12: Avoid terrible leak related to command allocators
2024-02-02 12:04:25 +01:00
Pedro J. Estébanez
6057ec9b06
Direct3D 12: Avoid terrible leak related to command allocators
2024-01-31 20:00:23 +01:00
Riteo
7e0f7d3abd
Add Wayland support
...
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:
- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.
- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.
- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.
- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.
- The cursor doesn't yet support fractional scaling.
- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).
- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.
This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.
Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
Rémi Verschelde
6809791fee
Merge pull request #87553 from clayjohn/GLES3-shader-compilation
...
Significantly improve the speed of shader compilation in compatibility backend
2024-01-29 21:33:49 +01:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
...
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde
6305277312
Merge pull request #87670 from RandomShaper/d3d12_16bit
...
Direct3D 12: Query support for 16-bit operations
2024-01-29 13:18:00 +01:00
Rémi Verschelde
604f8b093e
Merge pull request #87624 from bruvzg/dx12_old_mingw
...
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in.
2024-01-29 13:17:41 +01:00
Rémi Verschelde
78680cdebc
Merge pull request #87572 from RandomShaper/d3d12_custom_dbg_print
...
Direct3D 12: Fix and enable custom debug printing
2024-01-29 13:17:21 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this->
expressions
2024-01-29 09:59:18 +01:00
Pedro J. Estébanez
f77f46ebff
Direct3D 12: Query support for 16-bit operations
2024-01-28 12:43:58 +01:00
bruvzg
dfa303f7c4
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in.
2024-01-26 20:43:18 +02:00
Dario
39f279710c
Improve stage and slice tracking behavior of RenderingDeviceGraph to fix various synchronization issues.
2024-01-26 10:12:54 -03:00
Rémi Verschelde
184009eda6
Merge pull request #87482 from RandomShaper/d3d12_spacey
...
Direct3D 12: Let NIR runtime data and push constants use the same register scheme as bindings
2024-01-26 11:45:49 +01:00
Rémi Verschelde
1ce40ebb44
Merge pull request #87386 from clayjohn/GLES3-lightmap-bake
...
Add GLES3 infrastructure for lightmap baking in the compatibility backend
2024-01-26 11:44:37 +01:00
Rémi Verschelde
cd5e973d7a
Merge pull request #86717 from mrbbbaixue/d3d12-sdk-install-python
...
Add a python script to install Direct3D 12 SDK components.
2024-01-26 11:43:49 +01:00
Yuri Sizov
3f7ea71e88
Merge pull request #87495 from jsjtxietian/USE_LIGHT_SHADER_CODE
...
Clean up outdated `USE_LIGHT_SHADER_CODE` usage
2024-01-25 16:27:14 +01:00
Yuri Sizov
1b83e8ae81
Merge pull request #87460 from BastiaanOlij/stereo_ivec
...
Add ivec variants to multiview_uv for stereo rendering
2024-01-25 16:27:10 +01:00
Pedro J. Estébanez
47da9f8892
Direct3D 12: Fix and enable custom debug printing
2024-01-25 10:42:39 +01:00
Pedro J. Estébanez
6807cd8673
Direct3D 12: Make format feature check more defensive
2024-01-25 10:12:07 +01:00
clayjohn
efb1cbaad4
Add GLES3 infrastructure for lightmap baking in the compatibility backend
2024-01-24 17:13:30 -08:00
clayjohn
f1781fe9d1
Significantly improve the speed of shader compilation in compatibility backend
...
Compile the unlit version by default to save on both cache size and compile time
2024-01-24 14:05:03 -08:00
Yuri Sizov
6876303c85
Merge pull request #87489 from clayjohn/GLES3-scissor
...
Disable scissor test after rendering batches in compatibility renderer
2024-01-24 14:08:44 +01:00
Yuri Sizov
0fa5aa5c8a
Merge pull request #86677 from daustria/debug-modes-opengl
...
Implement overdraw, lighting, and unshaded debug draw modes for opengl
2024-01-24 14:08:03 +01:00
Yuri Sizov
2ce450f8bc
Merge pull request #84894 from clayjohn/tangent-error-message
...
Store ArrayMesh path in RenderingServer for use in error messages
2024-01-24 14:07:47 +01:00
MrBBBaiXue
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
jsjtxietian
2004ad1ac5
Clean up outdated USE_LIGHT_SHADER_CODE
usage
2024-01-24 12:30:27 +08:00
Giwayume
bb83c4adec
Add custom shader attributes to Canvas Item Shaders
2024-01-23 14:36:39 -05:00
Bastiaan Olij
1066f01607
Add ivec variants to multiview_uv for stereo rendering
2024-01-23 16:13:31 +11:00
clayjohn
062e8802b7
Disable scissor test after rendering batches in compatibility renderer
2024-01-22 14:55:20 -08:00
Yuri Sizov
bf94131e41
Merge pull request #87225 from kleonc/transposed-texture-fix-2d-normals
...
Fix 2D normals for transposed texture
2024-01-22 20:39:04 +01:00
Yuri Sizov
e95456b7f3
Merge pull request #86073 from m4rr5/add_reflection_mask
...
Add a reflection mask to the reflection probes
2024-01-22 20:38:37 +01:00
Pedro J. Estébanez
0a89a2db9e
Direct3D 12: Let NIR runtime data and push constants use the same register scheme as bindings
2024-01-22 19:39:27 +01:00
Marcel Offermans
25f573ca63
Add a reflection mask to the reflection probes.
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-01-20 08:07:31 +01:00
Rémi Verschelde
fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
...
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread
2024-01-17 13:58:29 -05:00
Yuri Sizov
44013b88eb
Merge pull request #87298 from RandomShaper/d3d12_qp
...
D3D12 RDD: Fix wrong argument when resolving timestamp queries
2024-01-17 18:53:37 +01:00
Pedro J. Estébanez
925263c35b
D3D12 RDD: Fix wrong argument when resolving timestamp queries
2024-01-17 16:59:13 +01:00
Rémi Verschelde
7d17496535
Merge pull request #87206 from bruvzg/dx12_old_msvc
...
Fix DX12 build on older MSVC versions, fix missing PIX include.
2024-01-16 10:37:12 +01:00
kleonc
0fe7eead02
Fix 2D normals for transposed texture
2024-01-15 17:34:29 +01:00
Rémi Verschelde
bf7e19887e
Merge pull request #87096 from jsjtxietian/save-to-cache
...
Add `shader_cache_dir_valid` check to `_save_to_cache`
2024-01-15 13:29:03 +01:00
Rémi Verschelde
463edd0daf
Merge pull request #87067 from moonpirates/bugfix-canvastexture-uvs-compatibility
...
Fix UV issues in Compatibility renderer
2024-01-15 13:28:14 +01:00
Rémi Verschelde
1248fb9c18
Merge pull request #86855 from RandomShaper/fix_vk_get_image
...
Fix determination of copyable layout for compressed textures in Vulkan
2024-01-15 13:25:24 +01:00
bruvzg
2893c0b475
Fix DX12 build on older MSVC versions, fix missing PIX include.
2024-01-15 11:03:16 +02:00
jsjtxietian
a365c070b3
Add shader_cache_dir_valid check to _save_to_cache
2024-01-12 17:34:33 +08:00
Jordi Scharp
ac87d5f9a2
Fix issue where the UV's were off in Compatibility
...
Fixes a bug where CanvasTexture's UVs were off when using the Compatibility mode's renderer.
Fixes #86746
2024-01-11 13:26:57 +01:00
Alessandro Famà
998078f8d7
Fix Dummy audio driver initialization issue on WASAPI output device initialization failure
...
`AudioDriverWASAPI::init` consistently returns `Error::OK`, even when encountering a failure during the initialization of the output device. This behaviour blocks the dummy driver from initializing in `AudioDriverManager::initialize`.
2024-01-09 17:36:13 +01:00
Rémi Verschelde
a56dd6ca52
Merge pull request #86920 from griffinkh/build_warning_fix
...
Fix build warning with memset value being too large
2024-01-09 11:29:55 +01:00
Dominic Austria
c8bdd1d774
implement overdraw, lighting, and unshaded debug draw modes for opengl
2024-01-08 17:34:09 -05:00
Dario
cc4d39b0c1
Acyclic Command Graph for RenderingDevice.
...
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
Griffin Kroah-Hartman
b97cb5ec59
Fix build warning with memset value being too large
...
Should resolve issue #83342
2024-01-08 17:26:41 +01:00
Rémi Verschelde
25011e9144
Merge pull request #84244 from BastiaanOlij/skip_present_if_needed
...
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 14:52:07 +01:00
Rémi Verschelde
c10d268974
Merge pull request #86787 from ryevdokimov/code-spell-check
...
Fix various spelling errors across engine solution
2024-01-08 11:55:55 +01:00
Bastiaan Olij
d6caa69e11
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 21:51:04 +11:00
Rémi Verschelde
774c4631fd
Merge pull request #84733 from clayjohn/GL-CanvasGroup-performance
...
Only copy the relevant portion of the screen when copying to backbuffer in Compatibility backend
2024-01-08 11:50:12 +01:00
Aarni Koskela
a4c5dae8cb
Attempt to parse environment variables as UTF-8
2024-01-07 19:53:43 +02:00
Pedro J. Estébanez
e1c7c18ead
Fix determination of copyable layout for compressed textures in Vulkan
2024-01-06 00:06:28 +01:00
Rémi Verschelde
e72e63a6b5
Merge pull request #85837 from akien-mga/clang-format-16
...
Style: Mark clang-format 16 as supported for pre-commit hook
2024-01-05 12:04:44 +01:00
Rémi Verschelde
d1b7c60afc
Merge pull request #77712 from nklbdev/Fix_lossless_formats_in_PortableCompressedTexture2D
...
Fix lossless formats in PortableCompressedTexture2D
2024-01-05 12:02:14 +01:00
nklbdev
47d991678d
Fix lossless formats in PortableCompressedTexture2D
...
Update scene/resources/portable_compressed_texture.cpp
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-05 00:11:01 +05:00
Rémi Verschelde
5d44c85d4c
Merge pull request #84107 from BlueCube3310/file-access-optimization
...
Use platform-specific methods for FileAccess reading and writing
2024-01-04 16:39:47 +01:00
Robert Yevdokimov
f9826a1dd7
Fix various spelling errors
2024-01-04 09:56:43 -05:00
Rémi Verschelde
c921b6587c
Merge pull request #84469 from time-killer-games/patch-1
...
Fix NetBSD executable path
2024-01-04 14:25:46 +01:00
Rémi Verschelde
6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
...
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde
37df2ff387
Merge pull request #86682 from Daylily-Zeleen/daylily-zeleen/distinguish_between_dynamic_libaray_not_found_and_can't_open
...
Distinguish between dynamic library not found and can't be opened.
2024-01-02 18:06:17 +01:00
bruvzg
126a763f7a
[D3D12] Dynamically load Agility SDK.
2024-01-02 17:15:59 +02:00
Rémi Verschelde
f3df5f7d37
Merge pull request #86435 from jsjtxietian/fix-fp-unsupport
...
Add `RD_ENABLED` when `VULKAN_ENABLED` or `D3D12_ENABLED` is added
2024-01-02 15:09:05 +01:00
EddieBreeg
8747c67d9e
Fix potential integer underflow in rounded up divisions
...
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.
Fixes #80358 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
Daylily-Zeleen
fe6b073811
Distinguishs between dynamic library not found and can't be opened.
2024-01-01 20:01:57 +08:00
jsjtxietian
89d7a2f0a5
Fix incorrect CAMERA_DIRECTION_WORLD calculation
2023-12-26 14:09:44 +08:00
jsjtxietian
078bfae6a4
Add RD_ENABLED when VULKAN_ENABLED or D3D12_ENABLED is added
2023-12-25 11:13:01 +08:00
Yuri Sizov
7d03a22329
Merge pull request #86405 from warriormaster12/pipeline-message-fix
...
Fix wrong error message when graphics pipeline creation fails
2023-12-22 17:20:15 +01:00
Yuri Sizov
44ded3eaa4
Merge pull request #86316 from clayjohn/RD-BFN-normals
...
Use best fit normals for storing screen space normals
2023-12-22 17:19:58 +01:00
clayjohn
43cf21cb71
Use best fit normals for storing screen space normals
2023-12-21 14:41:29 -07:00
warriormaster12
e729d511df
Fix wrong error message when graphics pipeline creation fails
2023-12-21 22:32:58 +02:00
Pedro J. Estébanez
12a519bae2
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
...
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy
2023-12-16 13:36:44 -05:00
Rémi Verschelde
5088cd8ab7
Merge pull request #86018 from BastiaanOlij/fix_gles_stereo_sky
...
Fix radiance for sky in GLES stereo rendering
2023-12-13 10:32:23 +01:00
Rémi Verschelde
41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
...
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00