Commit graph

5256 commits

Author SHA1 Message Date
Rémi Verschelde
7865266f24
Merge pull request #94609 from bruvzg/pixel_font_detect
[Font Import] Detect pixel fonts and disable subpixel positioning.
2024-08-16 14:32:14 +02:00
Rémi Verschelde
d1706b0200
Merge pull request #95450 from clayjohn/RD-local-device
Fail when submit or sync called on main rendering device
2024-08-16 10:36:09 +02:00
Rémi Verschelde
afbcd0810f
Merge pull request #95438 from clayjohn/SSR-roughness-fix
Use transformed roughness instead of raw roughness to calculate roughness fade in SSR
2024-08-16 10:36:03 +02:00
Rémi Verschelde
94e9b2e2af
Merge pull request #95379 from SlashScreen/fix_dir_light_layers
Consider visual layers for DirectionalLight
2024-08-16 10:35:44 +02:00
Rémi Verschelde
b1c624beb5
Merge pull request #95270 from Lssikkes/ls-multimesh-reset-only
Fix for multimesh motion vector corruption
2024-08-16 10:35:26 +02:00
Rémi Verschelde
5098ac587e
Merge pull request #94896 from jsjtxietian/carry-subgroup
Fix uniform subgroup in shader will carry out to next group
2024-08-16 10:35:00 +02:00
Rémi Verschelde
46c6865979
Merge pull request #92391 from rburing/fti_3d
Physics interpolation (3D)
2024-08-16 10:33:37 +02:00
Chaosus
3272f00525 Fix middle expression of for loop to accept not only operators 2024-08-15 10:29:19 +03:00
kobewi
065dd099dd Remove empty bind_methods() 2024-08-15 08:24:32 +02:00
jsjtxietian
970a237c20 Fix undefined alpha_scissor in standard shader 2024-08-15 11:44:11 +08:00
Slashscreen
4457b11ff0 Apply patch for considering visual layers for DirectionalLight
Co-authored-by: majikayogames <152851004+majikayogames@users.noreply.github.com>
2024-08-13 08:45:38 -07:00
clayjohn
b0e33aa00f Fail when submit or sync called on main rendering device
Fail if submit or sync called multiple times in a row
2024-08-12 15:50:01 -07:00
clayjohn
b99d0d778a Use transformed roughness instead of raw roughness to calculate roughness fade in SSR 2024-08-12 12:04:16 -07:00
Chaosus
d74749fd60 Fix shader crash when the comma used in for loop as a trailing 2024-08-10 11:23:11 +03:00
bruvzg
932acce8f2
Fix TextServer::shaped_text_*_character_pos for the first character of wrapped string. Allow starting/ending RTL selection before line start. 2024-08-09 00:03:00 +03:00
Yahkub-R
bcd776e441 Fix AudioStreamPlayer get_playback_position() for web build 2024-08-08 15:58:25 -04:00
Sen
52cd5acdda Fix for multimesh motion vector corruption by resetting motion vector state and filling both halves of buffer 2024-08-08 16:19:31 +02:00
Chaosus
dc6f90acd8 Forbid function declaration with a const qualifier in shaders 2024-08-08 11:23:27 +03:00
Jamie Pate
f8c99efc3b
Fix LightmapGI causes crash when using --headless
Fixes #89119

Add dummy LightmapInstance and Lightmap resources for headless rendering

Prevents the RenderingServer from crashing when it accesses
lightmap_instance->base_data
2024-08-07 11:38:05 +02:00
clayjohn
04d0e7f7a4 Check if RD is supported in the ProjectManager and disable creating RD projects if not supported. 2024-08-02 12:36:45 -07:00
Rémi Verschelde
52f22902c7
Merge pull request #94902 from clayjohn/SHADER-hints
Restrict sampler hint validation to only screen texture hints
2024-07-30 12:29:04 +02:00
Yuri Rubinsky
e41048e16e Fix texture samplers to not being last in the property list 2024-07-29 09:19:09 +03:00
clayjohn
a2f2699208 Restrict sampler hint validation to only screen texture hints 2024-07-28 22:31:57 -07:00
jsjtxietian
e6c45fbe5d Fix uniform subgroup in shader will carry out to next group 2024-07-29 11:07:09 +08:00
Bastiaan Olij
1eb0039b6e Fix regression around OpenGL swapchain optimisation for OpenXR 2024-07-29 12:46:58 +10:00
Rémi Verschelde
8e47aafa08
Merge pull request #94812 from clayjohn/SHADER-normal-roughness
Emit `normal_roughness` compatibility code in custom functions
2024-07-28 17:46:45 +02:00
Rémi Verschelde
e773f8c3ba
Merge pull request #94800 from adamscott/fix-sample-playback-list-typo
Fix typo that prevented samples finishing
2024-07-28 17:46:39 +02:00
clayjohn
ba3457dfff Emit normal_roughness compatibility code in custom functions 2024-07-26 10:45:36 -07:00
Adam Scott
7802c361b7
Fix typo that prevented samples finishing 2024-07-26 09:56:44 -04:00
Rémi Verschelde
13c6c0cdb7
Merge pull request #94706 from alvinhochun/window-set-transient-parent-on-create
Pass window exclusive and transient properties for subwindow creation
2024-07-26 13:44:03 +02:00
jsjtxietian
38fad35356 Fix editor crash when shader has incorrect global array declaration 2024-07-26 11:53:11 +08:00
BlueCube3310
eb3b217777 RenderingDevice: Use the correct amount of layers for Cubemaps for boundary checks 2024-07-24 20:26:46 +02:00
Alvin Wong
97aa278edb Pass window exclusive and transient properties for subwindow creation
On Windows this allows to avoid having to change the owner of the window
after it has been created, which in rare circumstances may cause the
window to bug out.
2024-07-25 00:27:27 +08:00
Rémi Verschelde
62c88a4052
Merge pull request #94671 from Chaosus/shader_fix_varying
Fix shader crash when using a varying in separate func before it defined
2024-07-24 09:59:31 +02:00
Rémi Verschelde
139cf025c9
Merge pull request #94629 from RandomShaper/fix_undef_position
Fix position from vertex shader partially uninitialized
2024-07-24 09:59:24 +02:00
Feiyue Zhang
6f30df4b6a
Linearize color if HDR 2D is on 2024-07-24 09:49:50 +02:00
Yuri Rubinsky
965b2f6ca4 Fix shader crash when using a varying in separate func before it defined 2024-07-23 21:55:18 +03:00
bruvzg
32bc1c2f33
[Font Import] Detect pixel fonts and disable subpixel positioning. 2024-07-23 20:34:39 +03:00
Rémi Verschelde
e4f7b69470
Merge pull request #94656 from BlueCube3310/cubemap-layers-retrieve-fix
RenderingDevice: Fix getting cubemap layer data
2024-07-23 15:55:53 +02:00
Rémi Verschelde
29e1bdee2b
Merge pull request #94653 from mihe/bind-physics-state-sync
Bind `PhysicsServer*D::body_set_state_sync_callback`
2024-07-23 15:55:46 +02:00
BlueCube3310
741bb152ae RenderingDevice: Fix getting cubemap data 2024-07-23 13:44:28 +02:00
Mikael Hermansson
a559a1c6d8 Bind PhysicsServer*D::body_set_state_sync_callback 2024-07-23 13:30:44 +02:00
Pedro J. Estébanez
0064532c1e Fix position from vertex shader partially uninitialized 2024-07-23 09:04:54 +02:00
Yuri Rubinsky
574e61a542 Fix crash when assigning more textures than expected to texture array 2024-07-22 20:51:11 +03:00
Rémi Verschelde
587f1d0cb0
Merge pull request #92817 from Alex2782/fix_glsl_Mali-G
Fix glsl shader for Android Mali-GXXx GPUs and Vulkan API 1.3.xxx
2024-07-22 17:24:04 +02:00
Alexander Hartmann
78ede4f8b6 Fix glsl shader for Android Mali-GXXx GPUs and Vulkan API 1.3.xxx 2024-07-20 22:01:35 +02:00
Garteal
2606831d71 SDFGI: fix crash if update_data is nullptr 2024-07-19 18:27:32 +02:00
Rémi Verschelde
47e99d55b3
Merge pull request #94388 from BastiaanOlij/expose_more_methods_scene_buffers_rd
Expose more state in RenderSceneBuffersRD
2024-07-19 11:10:46 +02:00
Rémi Verschelde
1e81a946cc
Merge pull request #94412 from dsnopek/xr-always-render
Always render when XR is enabled, even if no OS windows can draw
2024-07-18 15:38:14 +02:00
Rémi Verschelde
ceb1801db2
Merge pull request #94492 from jsjtxietian/fsr-1
Add warning when use FSR1 on renderer other than forward plus
2024-07-18 10:45:50 +02:00
Rémi Verschelde
0f1e2c38a8
Merge pull request #94069 from RandomShaper/fix_vk_vali_blocky
RenderingDevice: Leave handling of compressed block granularity to the driver
2024-07-18 10:45:27 +02:00
Rémi Verschelde
590628feda
Merge pull request #86516 from jsjtxietian/fix-camera-direction
Fix incorrect `CAMERA_DIRECTION_WORLD` calculation
2024-07-18 10:45:20 +02:00
jsjtxietian
46ed290fef Add warning when use FSR1 on renderer other than forward plus 2024-07-18 12:10:18 +08:00
Adam Scott
2f5f84b470
Fix audio samples not being able to be "finished" 2024-07-17 10:45:38 -04:00
David Snopek
7a5a8597eb Always render when XR is enabled, even if no OS windows can draw 2024-07-17 08:19:21 -05:00
Rémi Verschelde
a963f111cb
Merge pull request #94462 from jsjtxietian/more-type
Make ShaderLanguage's parser recognize sampler passed in from array
2024-07-17 12:24:11 +02:00
Rémi Verschelde
c5e5fa3d9f
Merge pull request #94289 from clayjohn/MOBILE-multimesh-spec-constant
Use a spec constant to control whether the MultiMesh branch is used in the vertex shader.
2024-07-17 12:24:01 +02:00
Rémi Verschelde
82b57201b3
Merge pull request #94279 from clayjohn/physics-sync-warn
Only print physics sync warning on dev builds to avoid warning spam from using `move_and_slide`
2024-07-17 11:43:47 +02:00
Rémi Verschelde
c2375d0b12
Merge pull request #94184 from mertkasar/ssr-rotation-fix
Fix SSR orientation issues when using orthogonal camera
2024-07-17 11:43:25 +02:00
Rémi Verschelde
0268ceaa5c
Merge pull request #94064 from bruvzg/lcd_aa_modulate
Fix LCD font AA modulation in RendererRD.
2024-07-17 11:43:03 +02:00
jsjtxietian
3859817614 Make shaderLanguage's parser recognize sampler passed in from array 2024-07-17 16:52:44 +08:00
Bastiaan Olij
9442eb8194 Expose more state in RenderSceneBuffersRD 2024-07-15 22:04:10 +10:00
Robert Borghese
1052985b00 Add hint_enum for uniform int in gdshader 2024-07-13 14:30:08 -04:00
clayjohn
4cbc967f50 Use a spec constant to control whether the MultiMesh branch is used in the vertex shader.
This works around a bug on the Quest3 and slightly improves performance on all mobile devices at the cost of increased pipeline count.
2024-07-12 15:44:06 -07:00
Mert Kasar
56ed2cb6d1 Fix SSR orientation issues when using orthogonal camera
- Use negative clip space values to fix reversed rotations in reflections
- Use constant -z view vector when raymarching to fix perspective in reflections
2024-07-12 21:56:31 +03:00
clayjohn
8ce4f655f4 Only print physics sync warning on dev builds to avoid warning spam from using move_and_slide
The check should be restored once we implement move_and_slide in a way that doesn't sync the physics thread
2024-07-12 10:52:30 -07:00
Rémi Verschelde
198e55e402
Merge pull request #94153 from clayjohn/SSAO-linearize
Properly linearize depth buffer for SSAO when using orthogonal camera
2024-07-11 00:27:43 +02:00
Rémi Verschelde
f5bb5db8ae
Merge pull request #94135 from Calinou/vulkan-swapchain-resize-error-fail-silently
Silence Vulkan "Unable to acquire framebuffer." swapchain error
2024-07-11 00:27:36 +02:00
Rémi Verschelde
c5ca288771
Merge pull request #94121 from BastiaanOlij/remove_render_thread_guard
Remove our `ERR_ON_RENDER_THREAD` guard, it is not reliable
2024-07-11 00:27:21 +02:00
Rémi Verschelde
46e8377a5e
Merge pull request #93960 from BastiaanOlij/fix_mobile_compositor
Pre transparent compositor effects needs to run later
2024-07-11 00:27:06 +02:00
clayjohn
e0f736ec10 Properly linearize depth buffer for SSAO when using orthogonal camera 2024-07-09 15:29:45 -07:00
Yuri Rubinsky
af5fc8354b Fix a bunch of orphan StringName errors at ProjectSettings/Editor exit 2024-07-09 19:38:52 +03:00
Hugo Locurcio
cf2d2e2dd8
Silence Vulkan "Unable to acquire framebuffer." swapchain error
This error is harmless and can be safely ignored.
2024-07-09 17:12:54 +02:00
Rémi Verschelde
40cb283dd7
Merge pull request #93866 from Chaosus/shader_fix_global_func_set
Improve code for setup of `global_func_set` in `ShaderLanguage`
2024-07-09 16:47:13 +02:00
Bastiaan Olij
bf8c85e13b Remove our ERR_ON_RENDER_THREAD guard, it is not reliable 2024-07-09 18:48:00 +10:00
Rémi Verschelde
6f9c0aa40d
Merge pull request #93630 from BastiaanOlij/scene_data_projection_correction
Make RenderSceneData take projection correction into account
2024-07-09 00:03:14 +02:00
Pedro J. Estébanez
00e89229bf RenderingDevice: Leave handling of compressed block granularity to the driver 2024-07-08 11:58:51 +02:00
bruvzg
4790e12f66
Fix LCD font AA modulation in RendererRD. 2024-07-08 11:17:31 +03:00
Ricardo Buring
2f8ab4a654 Fixed Timestep Interpolation (3D)
Adds 3D fixed timestep interpolation to the rendering server.
This does not yet include support for multimeshes or particles.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 22:15:23 +02:00
Adam Scott
a38f30fbd5 Fix Web samples finished missing signal 2024-07-07 14:47:54 -04:00
Rémi Verschelde
7197678df2
Merge pull request #91551 from m4rr5/configure_timestamp_query_elements
Add a project setting to configure the maximum number of timestamps.
2024-07-07 12:38:19 +02:00
Bastiaan Olij
e42870b4d1 Pre transparent compositor effects needs to run later 2024-07-05 12:37:26 +10:00
Rémi Verschelde
099b9b2e85
Merge pull request #93916 from zeux/aabb-zfight
Fix AABB computation for position compression to not depend on vertex order
2024-07-04 23:27:13 +02:00
Arseny Kapoulkine
4e9e35b58a Fix AABB computation for position compression to not depend on vertex order
The previous computation was dependent on the vertex order in two ways:

- If the first vertex was on the AABB boundary, the AABB would be
  increased by the epsilon due to size clamping
- Every time the AABB would get expanded, we would recompute end from
  size and reconstruct size again, which resulted in slow floating point
  drift.

In isolation this may not seem like it matters, but it means that the
same mesh with a different vertex order may result in a slightly different
AABB. This can be a significant issue due to shadow meshes and their use in
depth prepass: shadow meshes reorder vertex data as part of the
deduplication process, as they append one unique position at a time and
as such remove the duplicate positions; this can result in a different
AABB which would result in a different reconstructed vertex position
during a depth pre-pass, causing mesh self-occlusion.
2024-07-03 23:53:24 -07:00
Yuri Rubinsky
4f657f5c6d Improve code for setup of global_func_set in ShaderLanguage 2024-07-02 18:16:04 +03:00
Yuri Rubinsky
dc78ef1722 Fix orphan StringName's in ShaderLanguage 2024-07-02 09:27:40 +03:00
Rémi Verschelde
d4fdf16353
Merge pull request #92806 from mihe/headless-input
Add input event callback to `DisplayServerHeadless`
2024-07-01 18:28:41 +02:00
Yuri Rubinsky
4bf9f3eb58 Prevent shader crash when doing invalid operation on boolean vector 2024-06-30 22:24:25 +03:00
Mark DiBarry
6b17d51425 Add alternative pixel rounding 2024-06-29 10:33:39 -04:00
Pedro J. Estébanez
32d9c93af3 Improve handling of rendering startup errors 2024-06-28 19:31:50 +02:00
Rémi Verschelde
a365cf59c8
Merge pull request #93635 from Chaosus/shader_fix_vec4_uniform
Use `PackedVector4Array` instead of float array for vec4 array uniform
2024-06-28 14:42:57 +02:00
Yuri Rubinsky
72c7e51905 Use PackedVector4Array instead of float array for vec4 array uniform 2024-06-28 13:34:43 +03:00
clayjohn
27b040dc61
Remove warning when project setting requests a larger global shader uniform buffer than the hardware supports.
Instead provide a better error message when the limit is exceeded and avoid crash with a small limit.
2024-06-28 10:38:18 +02:00
ze2j
37479cfad5 Remove useless instantiation in RDShaderFile::parse_versions_from_text 2024-06-27 08:57:06 +02:00
Bastiaan Olij
6ed6212949 Make RenderSceneData take projection correction into account 2024-06-27 10:44:30 +10:00
Rémi Verschelde
ba3bb44194
Merge pull request #93617 from jsjtxietian/protect-enum
Add safety check when setting several rendering effect quality
2024-06-26 14:51:25 +02:00
jsjtxietian
a313fa13fd Add safety check when setting several rendering effect quality 2024-06-26 17:06:21 +08:00
ueshita
e1d6ab4c80 Fix userdata not copied when trails started 2024-06-25 23:33:26 +09:00
Rémi Verschelde
2e8ebb4a5e
Merge pull request #93469 from Chaosus/shader_fix_crash
Fix crash on shader constant initialization on MinGW compiler
2024-06-25 10:01:46 +02:00
Rémi Verschelde
cc625a168d
Merge pull request #93358 from Chaosus/shader_forbid_derivative_usage
Forbid calling of derivative functions in incorrect functions
2024-06-25 09:19:42 +02:00