Commit Graph

2026 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
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
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
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
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
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
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
Pedro J. Estébanez 5c25fa4c78 Fix potential double-close of draw command label 2023-11-20 18:59:06 +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
Bastiaan Olij 47983e30c5 Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene 2023-11-16 13:34:34 +11:00
Alistair Leslie-Hughes 367079ffee Renderer Viewport correct sizeof usage.
The current usage.

In viewport_find_from_screen_attachment
- Allocates a list of pointers, eg sizeof(RID*) * ridcount.

We need fill that buffer
viewport_owner.fill_owned_buffer(rids);
...
 p_rid_buffer[idx] = _make_from_id((validator << 32) | i);

_make_from_id returns an RID object, not a pointer.

Since there isn't a copy constructor, a bitwise copy of the object occurs.

This issue will only present itself under 32bit builds.
sizeof(RID)  : 8
sizeof(RID*) : 4

whereas 64bit builds they are both 8.
2023-11-16 11:02:12 +11:00
Bastiaan Olij b1c4d4e55b Ensure optional variants are loaded last. 2023-11-15 14:31:25 +11:00
clayjohn a74cfc2629 Use default samplers in base uniform set when rendering to reflection probes 2023-11-07 17:46:05 +01:00
clayjohn d1043a5f93 Enhance checks and user experience around tangents.
Ensure `ensure_tangents` option actually creates tangent array. Even if it is just a dummy array.

Allow mesh to generate its own tangents when using compression. This allows users to compress meshes without tangents.

Warn users if they are trying to read from tangents without providing tangents.
2023-11-01 22:40:42 +01:00
Rémi Verschelde 2bc35308fc
Merge pull request #81494 from jsjtxietian/Fix-int-to-uint-implicit-cast-error-when-use-uniform-mat3-in-gles3
Fix int to uint implicit cast error when use mat3 uniform in compatibility renderer
2023-10-31 20:14:14 +01:00
Bastiaan Olij e3b8af723e Fix cubemap downsampler logic 2023-10-31 10:36:42 +11:00
clayjohn 57ba7ded87 Fix bug with alpha to coverage by enabling depth discard when using alpha to coverage 2023-10-30 23:07:30 +01:00
jsjtxietian 967e0e6485 Fix int to uint implicit cast error when use uniform mat in gles3 2023-10-27 10:46:52 +08:00
Rémi Verschelde 2dafd06114
Merge pull request #83906 from clayjohn/GL-vertex-padding
Add padding to normal attribute in Compatibility renderer to match the RD renderers
2023-10-26 16:00:56 +02:00
Rémi Verschelde 815b24d280
Merge pull request #83491 from jsjtxietian/pass-screen-size-when-render-shadow
Pass viewport size to shadow pass instead of using Vector2i(1,1)
2023-10-26 12:09:21 +02:00
jsjtxietian 26d32554bd Pass viewport size to shadow pass instead of using vector2i(1,1) 2023-10-26 15:25:22 +08:00
Rémi Verschelde 9f49da24da
Merge pull request #83830 from jsjtxietian/fix-varying-assign-swizzle-check
Fix assign with swizzle in shader not doing varying validation check
2023-10-25 10:30:22 +02:00