Matias N. Goldberg
472226422e
Fix uninitialized variable ending up sent to Vulkan
...
The first time a shader is compiled Godot performs the following:
```cpp
for (uint32_t i = 0; i < SHADER_STAGE_MAX; i++) {
if
(spirv_data.push_constant_stages_mask.has_flag((ShaderStage)(1 << i))) {
binary_data.push_constant_vk_stages_mask |=
shader_stage_masks[i];
}
}
```
However binary_data.push_constant_vk_stages_mask is never initialized to
0 and thus contains garbage data or'ed with the good data.
This value is used by push constants (and many other things) thus it can
be a big deal.
Fortunately because the relevant flags are always guaranteed to be set
(but not guaranteed to be unset), the damage is restricted to:
1. Performance (unnecessary flushing & over-excessive barriers)
2. Overwriting push descriptors already set (this would be serious,
doesn't seem to be an issue)
3. Driver implementations going crazy when they see bits set they don't
expect (unknown if this is an issue)
This uninitialized value is later saved into the binary cache.
Valgrind is able to detect this bug on the first run, but not on the
subsequent ones because they data comes from a file.
cache_file_version has been bumped to force rebuild of all cached
shaders. Because the ones generated so far are compromised.
2023-07-29 18:28:33 -03:00
Yuri Sizov
1fe49e7271
Merge pull request #79142 from BastiaanOlij/register_render_buffers
...
Expose RenderSceneBuffers(RD) through ClassDB
2023-07-27 15:22:27 +02:00
Yuri Sizov
0c2399d6ec
Merge pull request #63826 from deakcor/dev_clipboard
...
Add `clipboard_has/get_image` methods to DisplayServer
2023-07-27 15:22:16 +02:00
Yuri Sizov
d49ea2b7d8
Merge pull request #79288 from BastiaanOlij/custom_texture_api
...
Add custom texture create function
2023-07-26 18:40:01 +02:00
Bastiaan Olij
4874b96033
Expose RenderingSceneBuffers through ClassDB
2023-07-26 23:48:30 +10:00
Bastiaan Olij
63d6e9c557
Add custom texture create function
2023-07-26 20:46:34 +10:00
smix8
69fad39cf5
Add NavigationServer API to enable regions and links
...
Adds NavigationServer API to enable regions and links.
2023-07-26 01:20:15 +02:00
Yuri Sizov
3f2e901633
Merge pull request #79865 from clayjohn/discard-shader
...
Fix use of discard in shaders
2023-07-25 21:26:27 +02:00
Yuri Sizov
08cffc128f
Merge pull request #79812 from ParsleighScumble/parsleigh/init-sky-scene-state
...
Use defaults to initialize sky data in case of no sky
2023-07-25 21:26:23 +02:00
Yuri Sizov
0e9e373b87
Merge pull request #79603 from bitsawer/fix_instance_uniform_update
...
Fix instance uniform data buffer update delay
2023-07-25 21:26:02 +02:00
Yuri Sizov
4b0d1026af
Merge pull request #78365 from smix8/ps_navmap_default_up_4.x
...
Add ProjectSettings navigation map default up
2023-07-25 21:25:50 +02:00
Clay
7c812cd7e9
Fix use of discard in shaders
...
discard was being included in all shaders set to depth pass opaque, which is the majority of shaders
Instead it should only be used with alpha prepass materials
2023-07-24 23:21:04 +02:00
Parsleigh Scumble
67c13fe4eb
Use defaults to initialize sky data in case of no sky
2023-07-24 10:41:13 -07:00
Yuri Sizov
ee06d3e83f
Merge pull request #79844 from bruvzg/btn_el_out
...
[Text Server] Fix ellipsis outline drawing
2023-07-24 19:33:45 +02:00
Yuri Sizov
360633089c
Merge pull request #79590 from 0010200303/master
...
Fix bad LOD selection when Camera in Mesh AABB
2023-07-24 19:32:54 +02:00
Yuri Sizov
372e9abcfc
Merge pull request #79459 from MoltenCoffee/fix-shader-arguments-error
...
Add error for undefined function in shader
2023-07-24 19:32:46 +02:00
bruvzg
55c8cdb332
[Text Server] Fix ellipsis outline drawing.
2023-07-24 08:07:29 +03:00
Yuri Sizov
1e856b61ae
Merge pull request #79624 from mandryskowski/patch-1
...
Revert the change of the limit for interpolation of F0 for dielectrics and metals for Screen Space Reflections
2023-07-21 17:54:50 +02:00
Yuri Sizov
dd05012122
Merge pull request #79528 from univeous/video_adapter_fix
...
Fix crash when calling `get_video_adapter_*` in a thread
2023-07-20 16:28:47 +02:00
Jonas Schönbrodt
26c4644b38
Fix bad LOD selection when Camera in Mesh AABB
...
Fixed an issue where a bad LOD would be selected although the Camera being inside the Meshes AABB.
2023-07-19 18:07:37 +02:00
univeous
0a64abe891
Fix crash when calling get_video_adapter_* in a thread
...
co-authored-by: Clay John <claynjohn@gmail.com>
2023-07-19 23:31:27 +09:00
mandryskowski
33e46aac13
Revert the change of the limit for interpolation of R0 with respect to metallic and SSR
...
Commit 2c000cb72f
changed the interpolation limits from (0.04, 1.0) to (0.04, 0.37). This is incorrect, as we want to have an F0 of 0.04 for dielectrics (materials with metalness of 0.0) and an F0 of 1.0 for metals.
The Schlick approximation uses an F0 of 0.04 for all dielectrics and it's good enough.
Having it lower than 1.0 leads to an incorrect application of the Fresnel effect for metals and leads to bugs like #79549
2023-07-18 19:18:19 +02:00
Yuri Sizov
d70488892c
Merge pull request #79483 from smix8/nav2d_pj_props_4.x
...
Change 2D navigation ProjectSettings from integers to floats
2023-07-18 13:15:23 +02:00
bitsawer
7a9783737a
Fix instance uniform data buffer update delay
2023-07-18 12:19:15 +03:00
MoltenCoffee
16c3f4be2d
Add error for undefined function in shader
2023-07-18 10:01:29 +02:00
Vincent D
c13e3a9fb0
add clipboard get image methods for windows and macos
...
Co-Authored-By: RedworkDE <10944644+RedworkDE@users.noreply.github.com>
Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-07-17 23:47:27 +02:00
Clay John
f880892c3d
Merge pull request #79402 from Haydoggo/repeat-filter-autocomplete
...
Add autocomplete for filter/repeat hints on uniform arrays
2023-07-17 11:32:20 +02:00
Bastiaan Olij
a22f495a3c
Split raster barrier into vertex and fragment barrier
2023-07-15 12:30:32 +10:00
smix8
2852fb43f7
Change 2D navigation ProjectSettings from integers to floats
...
Changes 2D navigation ProjectSettings from integers to floats.
2023-07-14 22:36:06 +02:00
Hayden Leete
fc7063b2e2
Add autocomplete for filter/repeat hints on uniform arrays
2023-07-13 11:27:28 +12:00
bruvzg
4790da7900
[macOS] Implement optional native file selection dialog support for sandboxed apps.
2023-07-12 22:36:24 +03:00
Yuri Sizov
ff689003a5
Merge pull request #77993 from bruvzg/key_lbl_from_p
...
Implement DisplayServer.keyboard_get_label_from_physical method.
2023-07-12 21:02:37 +02:00
Yuri Sizov
0fa808ba5e
Merge pull request #77085 from BastiaanOlij/visualise_direction_shadowmap_frustum
...
Draw frustum splices ontop of direction shadow atlas for debug purposes
2023-07-12 21:02:25 +02:00
Yuri Sizov
bb15241e06
Merge pull request #77740 from ChibiDenDen/simplify_vulkan
...
Replace sampler arrays with constant sampler elements, simplify and reuse code for all shaders
2023-07-12 17:16:12 +02:00
Yuri Sizov
d676246647
Merge pull request #79137 from smix8/region_bake_depr_4.x
...
Mark NavigationServer3D.region_bake_navigation_mesh() as deprecated
2023-07-12 15:09:50 +02:00
Yuri Sizov
5dff3c4484
Merge pull request #78538 from Sauermann/fix-code-simplifications
...
Remove unnecessary value assignments throughout the codebase
2023-07-12 15:09:26 +02:00
Yuri Sizov
65cc4db0ae
Merge pull request #79100 from KoBeWi/[filter,_filter,_filter,_filter,_filter,_filter]
...
Allow more hint types for uniform arrays
2023-07-12 14:18:34 +02:00
Rémi Verschelde
7030ac555f
Merge pull request #79270 from clayjohn/particle-trails-error
...
Unify error condition for particles trail lifetime
2023-07-10 10:38:34 +02:00
clayjohn
78ecdb17f9
Unify error condition for particles trail lifetime
2023-07-10 10:17:27 +02:00
Rémi Verschelde
46cd84b362
Merge pull request #78839 from lewiji/normal_roughness_mobile_fix
...
Fix invalid shader compilation when using `hint_normal_roughness_texture` in mobile backend
2023-07-08 18:19:49 +02:00
Rémi Verschelde
ea3aaeac05
Merge pull request #78624 from puchik/canvas-background-specular-ghosting
...
Clear specular buffer if sky mode is canvas and screen space effects are used
2023-07-08 18:16:05 +02:00
Rémi Verschelde
b2ada1b690
Merge pull request #78972 from bitsawer/fix_shader_float_precision
...
Fix shader language float literal precision truncation
2023-07-07 08:32:09 +02:00
Rémi Verschelde
25ec523596
Merge pull request #78906 from Chaosus/shader_allow_hex_uint
...
Fix using uint suffix at the hex number declaration in shaders
2023-07-07 08:29:17 +02:00
Rémi Verschelde
b8f28e287e
Merge pull request #78902 from nklbdev/Fix_wrong_type_casting_in_RenderingServer
...
Fix wrong type casting for octahedral tangents
2023-07-07 08:28:52 +02:00
smix8
f7ebce2626
Mark NavigationServer3D.region_bake_navigation_mesh() as deprecated
...
Marks NavigationServer3D.region_bake_navigation_mesh() as deprecated.
2023-07-07 02:30:14 +02:00
kobewi
8ae2e6681e
Allow more hint types for uniform arrays
2023-07-06 15:05:26 +02:00
bitsawer
356297f909
Fix shader language float literal precision truncation
2023-07-03 12:48:33 +03:00
Yuri Roubinski
1994c25701
Fix using uint suffix at the hex number declaration in shaders
2023-07-01 14:33:48 +03:00
nklbdev
c022f52f11
Fix wrong type casting for octahedral tangents
2023-07-01 15:15:48 +05:00
clayjohn
35ed7c770b
Initialize particles instance buffer in case it is used before being updated
2023-06-29 13:24:40 -07:00