Commit Graph

4642 Commits

Author SHA1 Message Date
A Thousand Ships 5495edd11c
[Rendering] Improve `(u)int` shader uniform hint 2024-05-18 11:32:26 +02:00
A Thousand Ships 0f6403f719
Fix missing instance type in dummy renderer
(cherry picked from commit 406d7e6d37)
2024-04-16 09:08:55 +02:00
A Thousand Ships a7099ce880
Free dummy renderer objects
These leaked during tests etc.

(cherry picked from commit 666daf47c3)
2024-04-16 09:08:39 +02:00
clayjohn a7c4d3bc08
Add basic multimesh data needed for headless export to the Dummy rendering server
(cherry picked from commit ed2b3d358d)
2024-04-16 09:07:56 +02:00
jsjtxietian 7eb90a35d4
Fail early if shader mode is invalid in dummy renderer
(cherry picked from commit a382e9539b)
2024-04-16 09:03:04 +02:00
jsjtxietian 79b7dc7f94
Change shader compiler default setting to avoid doctool error
(cherry picked from commit 0ed341cd1e)
2024-04-16 08:57:14 +02:00
Jakub Marcowski c1547d1337
Fully initialize all members of structs `IdentifierActions`, `GeneratedCode` and `DefaultIdentifierActions`
(cherry picked from commit b38ac30fe0)
2024-04-16 08:57:05 +02:00
clayjohn 4cffca7fbc
Clear RIDs of weight buffers when freeing to avoid double free
(cherry picked from commit bafbde9f4b)
2024-04-14 18:05:31 +02:00
Markus Mikonsaari 5e2477e571
Fix separating axes for 3D cylinder-face collisions
When checking for lateral surfaces of a cylinder against the points on a
face, the axis projection does not remove the cylinder position. This
results in the axis pointing to the wrong direction and reports
collisions when there shouldn't be.

(cherry picked from commit 3f69af9e64)
2024-04-08 15:48:30 +02:00
smix8 09280edd41
Fix NavigationServer.set_debug_enabled() doing nothing
Fixes NavigationServer.set_debug_enabled() doing nothing because it was not updated for newer dirty flags.

(cherry picked from commit 282d772f1b)
2024-04-08 15:48:29 +02:00
Pedro J. Estébanez 68bfb779d1
Fix missed light clusters when inside clipped lights
(cherry picked from commit 605fdb655c)
2024-04-08 15:48:29 +02:00
Bill b4ba90e432
Add fix for TAA passes rendering black meshes on XR
(cherry picked from commit b44f1c5176)
2024-04-08 15:48:29 +02:00
David Sullivan 94ddc44a12
Fix: Address mobile resource leaks in render
Update render_forward_mobile destructor to include instance buffers.
Update render_scene_buffers_rd cleanup to include weight buffers / blur
textures.

(cherry picked from commit dfa326ef55)
2024-04-08 15:48:28 +02:00
Mikael Hermansson db47101f68
Allow for 32 max collisions in `test_body_motion`
(cherry picked from commit 7901a0524b)
2024-04-08 15:48:28 +02:00
Hugo Locurcio 562613ac37
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.

(cherry picked from commit 26a220bd31)
2024-03-12 00:38:27 +01:00
bitsawer 4495fbd758
Fix Volumetric Fog VoxelGI updates
(cherry picked from commit 89d772a799)
2024-03-12 00:38:27 +01:00
Per Melin 7204d66b28
Initialize particle trail history frame numbers
Fixes #88712

All particle trail sections were activated at once on the first cycle, instead
of being spread out over the trail's lifetime.

(cherry picked from commit 9b2d77a238)
2024-03-11 23:24:06 +01:00
MJacred 05abecb701
Fix AudioServer::start_playback_stream does not iterate through given p_bus_volumes
(cherry picked from commit e81887f996)
2024-03-11 23:20:53 +01:00
baptr 82d2375382
Fix editor profiler script function sort order
The engine internally limits the number of functions reported back (to
16 by default). To this point, it's been sort the profiling info in
*ascending* order of time spent, then trimming the list. This meant
we may only see the best (fastest) functions, instead of the worst
that you probably want when profiling.

Now the servers_debugger sort more closely matches the local_debugger
one, which worked fine.

(cherry picked from commit 90a5f23e79)
2024-03-11 16:39:14 +01:00
风青山 3ebb5ea482
Display functions that were previously forgotten in Profiler
The array data in `add()` contains these data, but some data may
have been forgotten to be converted into `ServerFunctionInfo`.

This results in some information not being displayed in the Profiler.

(cherry picked from commit 3d3c4e87c7)
2024-03-11 16:29:44 +01:00
ACB f4ac543b99
Make `RID_Owner<Texture>` threadsafe in `TextureStorage` for gles3
(cherry picked from commit 09d2c09434)
2024-03-11 15:00:44 +01:00
jsjtxietian 63b1d100fb
Make dummy rendering server appear as a high end platform
to fix vulkan shader compile error when exporting

(cherry picked from commit f6aabd2b72)
2024-03-11 15:00:44 +01:00
clayjohn 5f92e6e7e3
Add DummyShader handling to Dummy RenderingServer to ensure shader parameters are saved in headless export
(cherry picked from commit 21ade7f0f7)
2024-03-11 15:00:44 +01:00
jsjtxietian 9926e7e8fa
Add shader_cache_dir_valid check to _save_to_cache
(cherry picked from commit a365c070b3)
2024-03-11 15:00:44 +01:00
clayjohn 2ec1d8043c
Store ArrayMesh path in RenderingServer for use in error messages
(cherry picked from commit ead36fdcc4)
2024-03-11 15:00:43 +01:00
clayjohn 6ba9c6bf6d
Avoid singularity when generated tangents and validate that tangents are good enough when using compression
(cherry picked from commit 781cd27fe4)
2024-03-11 15:00:43 +01:00
clayjohn a61a84ff09
Properly calculate binormal when creating SurfaceTool from arrays
(cherry picked from commit f267b2aa87)
2024-03-11 15:00:43 +01:00
Lasuch 8e3740d425 Expose copy_effects copy compute shader in Mobile backend
(cherry picked from commit 608d41a969)
2024-01-25 18:32:35 +01:00
kleonc 663ba67016 Fix 2D normals for transposed texture
(cherry picked from commit 0fe7eead02)
2024-01-25 18:08:45 +01:00
jsjtxietian 2ba4a7dd3d Add thread guard for force_draw and update relared doc
force_draw must be called from main thread

(cherry picked from commit b88b84ce18)
2024-01-25 17:38:15 +01:00
Bastiaan Olij 41dcabb0cf Fix SSR not working properly in stereo
(cherry picked from commit 10a8b88165)
2024-01-25 17:19:41 +01:00
Yuri Sizov 36f34c8f86 Avoid crashes when engine leaks canvas items and friends
(cherry picked from commit 34ecfff672)
2024-01-25 17:03:57 +01:00
jsjtxietian d41639a4cb Use render method from OS in compositor RD; Update related UI
(cherry picked from commit 453c2246b6)
2024-01-25 17:03:57 +01:00
bruvzg ee3a87caf1 Fix CanvasOcclusionShaderRD format error with double precision build.
(cherry picked from commit c0a1c5ae61)
2024-01-25 17:03:56 +01:00
Occalepsus c12a46d3f4 Fix body leaving area gravity influence
(cherry picked from commit 492f1c2406)
2024-01-24 16:38:28 +01:00
ShirenY 045b1d5990 Transform mesh's AABB to skeleton's space when calculate mesh's bounds.
(cherry picked from commit 27f71c4e78)
2024-01-24 15:56:50 +01:00
Aaron Franke 836e0181ab
Add a descriptive error message when creating a mesh surface from arrays
(cherry picked from commit 7d5b902838)
2023-12-07 10:27:07 +01:00
clayjohn d2d7261c1e
Set ReflectionProbe frame before mapping id in mobile renderer
(cherry picked from commit 394edf8288)
2023-12-07 10:27:05 +01:00
jsjtxietian b768561154
Fix bad parameter of rendering_method crashes Godot
Print error and default to forward plus

(cherry picked from commit b6bee1c21e)
2023-12-07 10:27:03 +01:00
Matias N. Goldberg a813176bb3
Fix buffer updates going to the wrong cmd buffer if barriers were 0
From what I could see only SSAO & SSIL were affected when they both
call:

int zero[1] = { 0 };
RD::get_singleton()->buffer_update(ssao.importance_map_load_counter, 0,
sizeof(uint32_t), &zero, 0);

int zero[1] = { 0 };
RD::get_singleton()->buffer_update(ssil.importance_map_load_counter, 0,
sizeof(uint32_t), &zero, 0);

Also documented what setup_command_buffer & draw_command_buffer are for.

(cherry picked from commit c9ec1f7727)
2023-12-07 10:27:02 +01:00
Rémi Verschelde bd74d92ef7
Merge pull request #84957 from BastiaanOlij/fix_msaa2d_when_no_2d
Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene
2023-11-22 21:56:23 +01:00
clayjohn e2a5d2bf46 Enable non-multiview advanced shader group whenever advanced shaders are requested
This is needed because xr_enabled does not guarantee that we won't use the non-multiview variants
2023-11-21 15:16:25 -07:00
Rémi Verschelde c2f8fb3015
Merge pull request #85039 from RandomShaper/mingwthreads
Use mingw-std-threads in MinGW builds
2023-11-21 15:44:18 +01:00
Rémi Verschelde fa1fb2a53e
Merge pull request #85147 from RandomShaper/fix_gfx_dbg_labels
Fix potential double-close of draw command label
2023-11-20 21:20:54 +01:00
Pedro J. Estébanez 5c25fa4c78 Fix potential double-close of draw command label 2023-11-20 18:59:06 +01:00
Rémi Verschelde dfd61cdac6
Merge pull request #85138 from YuriSizov/rendering-borked-meshes-dont-bork-the-editor
Avoid division by zero in the fix surface compatibility routine
2023-11-20 18:36:26 +01:00
Yuri Sizov 98011e032d Avoid division by zero in the fix surface compatibility routine 2023-11-20 16:22:58 +01:00
Rémi Verschelde ac29e8e3fe
Merge pull request #85086 from clayjohn/shaders-amount-ratio
Make `AMOUNT_RATIO` constant in the shader language specification.
2023-11-20 14:14:46 +01:00
clayjohn 8a95b2956f Make AMOUNT_RATIO constant in the shader language specification.
Writing to it doesn't do anything and will crash the compatibility backend.
2023-11-19 14:36:26 +01:00
Pedro J. Estébanez fe4850c0d0 Use mingw-std-threads in MinGW builds 2023-11-18 11:56:05 +01:00