Commit Graph

4603 Commits

Author SHA1 Message Date
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
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
Anutrix 3c82f4a371 Added docs for DRAW_ORDER_REVERSE_LIFETIME constant and minor XR log improvement 2023-11-11 21:17:19 +05:30
Rémi Verschelde 34e34f0945
Merge pull request #82478 from jsjtxietian/fix-AudioStreamRandomizer-random_volume_offset_db-not-working
Fix `AudioStreamRandomizer.random_volume_offset_db` not working
2023-11-10 21:53:45 +01:00
Rémi Verschelde f0c52c0e35
Merge pull request #84576 from clayjohn/mesh-tangents-always
Create tangent array if mesh created without tangents
2023-11-08 19:09:36 +01:00
clayjohn a74cfc2629 Use default samplers in base uniform set when rendering to reflection probes 2023-11-07 17:46:05 +01:00
clayjohn 031f221b9d Create tangent array if mesh created without tangents
This extends our previous change to ensure that compressed meshes have tangents

Now we ensure tangents are always used. This greatly simplifies our compression code at the cost of a small amount of bandwidth
2023-11-07 14:24:23 +01:00
Rémi Verschelde 44a54f4500
Merge pull request #84252 from clayjohn/ensure_tangents
Enhance checks and user experience around tangent arrays in meshes.
2023-11-02 09:11:32 +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
clayjohn be386e1876 Overhaul the SurfaceUpgradeTool
This defers the update to a fresh restart of the editor (to ensure we aren't mid way through loading scenes anymore.

It also ensures that the popup can't be used by multiple threads at once

Co-authored-by: Yuri Sizov <yuris@humnom.net>
2023-11-01 15:32:54 +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
Rémi Verschelde 93cdacbb0a
Merge pull request #84211 from clayjohn/a2c
Fix bug with alpha to coverage by enabling depth discard when using alpha to coverage
2023-10-30 23:24:12 +01:00
clayjohn 3f5c16dd9e Fix multiple issues with UV compression 2023-10-30 23:11:34 +01: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 bb54190253
Merge pull request #83840 from clayjohn/mesh-flat-bug
Ensure `r_aabb` is always used when creating surfaces through the RenderingServer
2023-10-26 16:00:32 +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
Rémi Verschelde 4cc8f0f36d
Merge pull request #83649 from BastiaanOlij/no_2d_stereo
Skip 2D rendering if stereo enabled and fix couple of MSAA issues
2023-10-25 10:29:09 +02:00
Rémi Verschelde 9798ae3d6a
Merge pull request #82974 from mrjustaguy/Split-fix
Directional 2 Split Shadow Stabilization Fix
2023-10-25 10:28:21 +02:00
Rémi Verschelde f021d33940
Merge pull request #81167 from bitsawer/fix_sdfgi_editor_change
Reset SDFGI when changing editor scene tabs
2023-10-25 10:27:03 +02:00
clayjohn a88e519f18 Add padding to normal attribute in Compatibility renderer to match the RD renderers 2023-10-24 22:32:34 +02:00
Rémi Verschelde 261fe7ce6a
Merge pull request #83704 from clayjohn/misc-mesh-fixes
Some more fixes for compressed meshes
2023-10-24 10:54:23 +02:00
Rémi Verschelde 64f80295e5
Merge pull request #83199 from Repiteo/texture-storage-default-scale
Fix `TextureStorage` not assigning default scale
2023-10-24 10:53:56 +02:00
clayjohn 8f9cd4e1e3 Some more fixes for compressed meshes
This cleans up a few more cases of uint32_t->uint64_t

Importantly this fixes an edge case in the axis-angle compression by
using the pre-existing Basis methods instead
2023-10-24 09:38:12 +02:00
Rémi Verschelde 50d17f6b8c
Merge pull request #83613 from clayjohn/surface_upgrade_tool
Add an editor tool to automatically upgrade and re-save meshes
2023-10-24 00:10:37 +02:00
clayjohn 318ef8461f Implementation of tool to automatically upgrade and re-save meshes 2023-10-23 22:39:48 +02:00
clayjohn 3c17f556ad Ensure r_aabb is always used when creating surfaces through the RenderingServer 2023-10-23 20:36:20 +02:00
Rémi Verschelde 17aa5c5170
Merge pull request #83780 from jsjtxietian/prevent-null-variant-crash
Prevent `_allocate_placeholders` crash if `p_version->variants` is null
2023-10-23 12:42:04 +02:00
Rémi Verschelde 814de86494
Merge pull request #83493 from clayjohn/light-pair-bug
Ensure that only visible paired lights are used
2023-10-23 12:40:07 +02:00
jsjtxietian 089e7f473d Fix assign with swizzle in shader not doing varying validation check 2023-10-23 17:52:50 +08:00
jsjtxietian 5f85a042b6 Prevent `_allocate_placeholders` crash if `p_version->variants` is null 2023-10-22 23:19:00 +08:00
Hugo Locurcio 0012478ecb
Add property hint for 2D shadow size project setting
Previously, it was possible to use zero or negative values, which are
invalid.

This also prevents crashing the engine by setting a shadow size of
0 or lower from a script.
2023-10-22 00:28:19 +02:00
Rémi Verschelde 2a995c09ac
Merge pull request #83639 from stoofin/frustum-buffer-size
Fix shadow map debug visualization camera frustum index buffer size
2023-10-20 15:12:34 +02:00
Bastiaan Olij 425e943576 Skip 2D rendering if stereo enabled and fix MSAA2D with 3D issue. 2023-10-20 14:02:55 +11:00