godot/servers
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
..
audio Fix AudioEffectRecord circular reference 2023-06-19 18:13:01 -04:00
camera One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
debugger Fix deserializing resource usage debug data 2023-04-07 17:00:38 +02:00
extensions Merge pull request #76051 from rburing/contact_local_velocity_2d 2023-04-17 20:14:00 +02:00
movie_writer Print CPU and GPU usage statistics after Movie Maker is finished 2023-05-08 12:02:52 -04:00
navigation Allow compiling out the navigation module 2023-02-09 23:04:16 -08:00
physics_2d Merge pull request #76138 from rburing/ccd_against_moving 2023-06-19 22:34:16 +02:00
physics_3d Merge pull request #76138 from rburing/ccd_against_moving 2023-06-19 22:34:16 +02:00
rendering Fix uninitialized variable ending up sent to Vulkan 2023-07-29 18:28:33 -03:00
text [TextServer] Add support for retrieving OpenType name strings. 2023-05-22 18:08:34 +03:00
xr Add a get_system_info method to XRInterface 2023-03-15 13:11:48 +11:00
audio_server.cpp Fix crash caused by invalid mix_rate assignment due to bogus 2023-04-25 23:52:50 -07:00
audio_server.h Fix crash caused by invalid mix_rate assignment due to bogus 2023-04-25 23:52:50 -07:00
camera_server.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
camera_server.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
display_server.cpp Merge pull request #63826 from deakcor/dev_clipboard 2023-07-27 15:22:16 +02:00
display_server.h Merge pull request #63826 from deakcor/dev_clipboard 2023-07-27 15:22:16 +02:00
display_server_headless.h [DisplayServer] Add method to check if native window is focused. 2023-06-16 10:27:52 +03:00
navigation_server_2d.cpp Add NavigationServer API to enable regions and links 2023-07-26 01:20:15 +02:00
navigation_server_2d.h Add NavigationServer API to enable regions and links 2023-07-26 01:20:15 +02:00
navigation_server_3d.cpp Add NavigationServer API to enable regions and links 2023-07-26 01:20:15 +02:00
navigation_server_3d.h Add NavigationServer API to enable regions and links 2023-07-26 01:20:15 +02:00
navigation_server_3d_dummy.h Add NavigationServer API to enable regions and links 2023-07-26 01:20:15 +02:00
physics_server_2d.cpp Change the "Physics Engine" project settings to prompt a restart 2023-06-04 17:24:42 +02:00
physics_server_2d.h PhysicsDirectBodyState2D: add get_contact_local_velocity_at_position 2023-04-14 11:40:06 +02:00
physics_server_2d_wrap_mt.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
physics_server_2d_wrap_mt.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
physics_server_3d.cpp Change the "Physics Engine" project settings to prompt a restart 2023-06-04 17:24:42 +02:00
physics_server_3d.h Resolved issues with script PhysicsDirectBodyState3d contacts 2023-04-12 11:40:34 -07:00
physics_server_3d_wrap_mt.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
physics_server_3d_wrap_mt.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
register_server_types.cpp Expose RenderingSceneBuffers through ClassDB 2023-07-26 23:48:30 +10:00
register_server_types.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
rendering_server.cpp Add custom texture create function 2023-07-26 20:46:34 +10:00
rendering_server.h Add custom texture create function 2023-07-26 20:46:34 +10:00
SCsub Add NavigationPathQuery 2022-09-20 22:20:11 +02:00
server_wrap_mt_common.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
text_server.cpp [Text Server] Fix ellipsis outline drawing. 2023-07-24 08:07:29 +03:00
text_server.h [TextServer] Add support for retrieving OpenType name strings. 2023-05-22 18:08:34 +03:00
xr_server.cpp Add XRServer.world_origin property 2023-03-01 22:18:47 +11:00
xr_server.h Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00