Commit Graph

56317 Commits

Author SHA1 Message Date
Matias N. Goldberg
4ce41495b1 Fix validation layer warnings
1. Validation layers on Windows were complaining w/
VUID-VkSwapchainCreateInfoKHR-surface-01270 that we were not calling
vkGetPhysicalDeviceSurfaceSupportKHR before vkCreateSwapchainKHR.

2. Godot was only calling vkGetPhysicalDeviceSurfaceSupportKHR at
startup, but it should be doing this for every window w/ a new surface
it wants to create, not just the first one.
- In practice this will likely not make a difference. If
vkGetPhysicalDeviceSurfaceSupportKHR returns false after initialization,
there's nothing we can do about it and it is likely because something
else went terribly wrong, which is why the error message is worded like
that.
- This is mostly to shut up validation layers. Though technically,
the layers are right.

3. Do not call vkGetPhysicalDeviceSurfaceSupportKHR on queues we don't
even plan on ever using. We don't know how drivers will react to that
(e.g. they may preemptetively allocate resources to support presentation
on exotic queues, instead of just saying no). Just behave like every
other Vulkan app out there.
2023-07-30 17:07:27 -03:00
clayjohn
b986afed46 Enable depth writes during shadow pass and depth pass. Disable during color pass
This fixes an unreported performance bug. Basically, without this change, the depth prepass did nothing
2023-07-30 21:59:28 +02:00
Aaron Franke
955104385c
Cosmetic changes in GLTF node generation code 2023-07-30 13:51:25 -05:00
Haoyu Qiu
f3dc1bc7c2 Avoid punning [param enabled] in documentation 2023-07-31 00:31:23 +08:00
Clay John
262d1eaa63
Merge pull request #80034 from darksylinc/matias-fixes
Fix uninitialized variable ending up sent to Vulkan
2023-07-30 16:46:26 +02:00
LRFLEW
6effd3cde7 Fix transparent viewport backgrounds with custom clear color 2023-07-30 06:19:47 -05:00
AbeniMatteo
e5d8ac4020 Avoid dictionary lookup for common colors 2023-07-30 09:17:59 +02:00
Michael Alexsander
3e539fff78
Fix some issues with scene tabs
- Stop scene creation on double-click when hovering the offset buttons.
- Fix the "Add Scene" button's position on RTL mode.
2023-07-30 01:13:36 -03:00
kobewi
d39b040114 Edit TileSet source on double click 2023-07-30 02:27:40 +02:00
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
Danil Alexeev
ae42c23e09
GDScript: Add constant string support for POT generator 2023-07-29 19:24:48 +03:00
Aaron Franke
75f9c97dea
Merge pull request #79981 from RandomShaper/fix_res_imp_life_2
Fix life cycle of ResourceImporterTexture better
2023-07-29 10:56:28 -05:00
Fredia Huya-Kouadio
867fc02551 Fix npe when registering the sensors. 2023-07-28 18:58:16 -07:00
Yogendra Manawat
f0362cd37b Fixed Tree Selection Bug 2023-07-29 00:30:39 +05:30
Raul Santos
77e5e195f5
C#: Print error when MethodBind/Callable call fails 2023-07-28 19:18:08 +02:00
George Marques
c1bca65d09
GDScript: Optimize operators by assuming the types
This assumes that operators are called usually with the same type of
operands as the first time. So it stores the types of the first run and
if matched it uses an optimized path by calling the validated operator
function directly. Otherwise it uses the regular untyped evaluator.

With this change, if operators do use the same type they run quite
faster. OTOH, if the types mismatch it takes longer to run than they
would with the previous code.
2023-07-28 13:08:21 -03:00
Kirill Diduk
8b729e5b7e [bugfix] Fix reimporting scene withh default values selected
This commit fixes #78140

When the scene was re-imported with non-default values of some settings, re-importing it again using default values for those settings didn't have the effect.

The problem was that when handling the reimport, a wrong dictionary of the settings was used.
2023-07-28 16:53:33 +02:00
Clay John
031aa99d31
Merge pull request #79983 from detomon/initialize-msdf-parameters-in-base-material
Initialize MSDF parameters in BaseMaterial3D with default
2023-07-28 16:10:53 +02:00
kobewi
f7238fb3f4 Reverse condition for skipping directories 2023-07-28 16:07:18 +02:00
viksl
45b757e5df Update C# example of tween_method in Tween class with a parameter to the lambda method 2023-07-28 13:46:33 +02:00
detomon
d275a7487d Initialize MSDF parameters in BaseMaterial3D with default 2023-07-28 13:24:44 +02:00
Pedro J. Estébanez
abd0dcac88 Fix life cycle of ResourceImporterTexture better 2023-07-28 11:52:09 +02:00
Bastiaan Olij
10f796dae3 Add exceptions for breakage introduced in RD barriers and prevent future breakage 2023-07-28 14:21:34 +10:00
Sam Freed
1ab7d1fcad Respect "editor/naming/node_name_casing" in Create New Scene dialog 2023-07-27 14:01:43 -07:00
Yuri Sizov
da81ca62a5
Merge pull request #79405 from Calinou/doc-import-options
Fill in descriptions for import options in the class reference
2023-07-27 20:32:04 +02:00
Hugo Locurcio
bc58a8a34e Fill in descriptions for import options in the class reference 2023-07-27 19:18:27 +02:00
Yuri Sizov
6c11fcd01a
Merge pull request #74717 from KoBeWi/tilesetmap_handler_plugin
Add separate editor plugin for TileMap and TileSet
2023-07-27 19:11:37 +02:00
Yuri Sizov
1e314d5501
Merge pull request #79941 from KoBeWi/scene_tile_devastation
Properly clear scene tiles
2023-07-27 19:09:40 +02:00
Yuri Sizov
a0f572494e Merge pull request #79954 from RandomShaper/fix_res_imp_life
Fix life cycle of ResourceImporterTexture not tracked properly
2023-07-27 15:23:05 +02:00
Yuri Sizov
4e22ce827a Merge pull request #79953 from RandomShaper/revert_wtp_for_range
Revert "Implement parallel foreach() for easier multithreading"
2023-07-27 15:23:01 +02:00
Yuri Sizov
4aae6d3f23 Merge pull request #78944 from bgie/particle_mask
Add option to center image when loading particle emission mask
2023-07-27 15:22:58 +02:00
Yuri Sizov
08e1a69897 Merge pull request #79937 from Sauermann/fix-expected-safe-rect-error
Disable error condition for accessing safe rect
2023-07-27 15:22:54 +02:00
Yuri Sizov
7a9a0dc51f Merge pull request #79934 from Sauermann/fix-mousefilter-doc
Add note about mouse movement input events in `MouseFilter` constants
2023-07-27 15:22:50 +02:00
Yuri Sizov
b2e2973a67 Merge pull request #79928 from timothyqiu/fonts
Sort system font menu in Inspector
2023-07-27 15:22:47 +02:00
Yuri Sizov
6535b7475d Merge pull request #79908 from YeldhamDev/output_icon_space
Fix spacing between icon and "Output" button
2023-07-27 15:22:44 +02:00
Yuri Sizov
cd074f965f Merge pull request #79904 from KoBeWi/how_to_create_huge_tiles_using_a_simple_trick
Add help label about creating multiple/big tiles
2023-07-27 15:22:40 +02:00
Yuri Sizov
f29a0ad21c Merge pull request #79512 from KoBeWi/tile_expanded_universe
Add option to expand tile polygon editors
2023-07-27 15:22:36 +02:00
Yuri Sizov
6bfda7f5c5 Merge pull request #79156 from dsnopek/gdextension-string-resize
Allow resizing Strings from GDExtension
2023-07-27 15:22:32 +02: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
37c3e2e55b Merge pull request #68259 from konczg/openxr_extension_wrapper_gdextension
Add GDExtension support for OpenXR extension wrappers
2023-07-27 15:22:22 +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
Pedro J. Estébanez
79c798fa0b Fix life cycle of ResourceImporterTexture not tracked properly 2023-07-27 13:54:30 +02:00
Pedro J. Estébanez
f34d580861 Revert "Implement parallel foreach() for easier multithreading"
This reverts commit e28868e30c.
2023-07-27 13:41:27 +02:00
bruvzg
56bd7adae4 [macOS Export] Disable unpacked .app bundle export on Windows. 2023-07-27 13:21:23 +03:00
Hrvoje Varga
ba2850759d Fix current-scene update 2023-07-27 07:45:53 +02:00
Hrvoje Varga
51923fc528 Fix scene tab close 2023-07-27 07:38:40 +02:00
David Snopek
e87900970c Allow resizing String's from GDExtension 2023-07-26 21:31:37 -05:00
kobewi
055b9892d2 Properly clear scene tiles 2023-07-27 01:31:20 +02:00
Yuri Sizov
41a7f6b380
Merge pull request #77537 from henriquelalves/feature/ei_save_all_scenes
Expose `save_all_scenes` method to EditorInterface
2023-07-26 23:43:08 +02:00
Michael Alexsander
2883a40aa1
Fix spacing between icon and "Output" button 2023-07-26 15:22:44 -03:00