Yuri Sizov
13307e7efc
Merge pull request #79776 from LRFLEW/mobilefog
...
Mobile: Uncomment code required for fog rendering on clear color
2023-08-01 17:25:29 +02:00
Yuri Sizov
1c40263665
Merge pull request #79606 from clayjohn/ShaderRD-compilation-groups
...
Shader rd compilation groups
2023-08-01 17:25:16 +02:00
Yuri Sizov
8b12849fef
Merge pull request #79876 from LRFLEW/mobalpha
...
Fix transparent viewport backgrounds with custom clear color
2023-07-31 21:01:32 +02:00
Yuri Sizov
79d3468246
Merge pull request #79696 from reduz/call-on-render-thread
...
Add ability to call code on rendering thread
2023-07-31 21:01:21 +02:00
LRFLEW
6effd3cde7
Fix transparent viewport backgrounds with custom clear color
2023-07-30 06:19:47 -05: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
Bastiaan Olij
10f796dae3
Add exceptions for breakage introduced in RD barriers and prevent future breakage
2023-07-28 14:21:34 +10: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
Juan Linietsky
c7fb6cea3d
Add ability to call code on rendering thread
...
As more users use compute in Godot 4, the way they do is most likely incompatible when running
on separate threads and will start erroring soon as we improve the thread safety of the render thread.
To properly run code on the render thread, this function was added. Use like this:
```GDScript
func initialize_compute_code():
....
func update_compute_code(custom_data):
...
func _ready():
RenderingServer.call_on_render_thread( initialize_compute_code )
func _process():
RenderingServer.call_on_render_thread( update_compute_code.bind(with_data) )
```
2023-07-26 12:28:00 +02: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
LRFLEW
db17415df8
Mobile: Uncomment code required for fog rendering on clear color
2023-07-24 08:46:45 -05: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
clayjohn
e970f5249c
Add Shader compile groups to RD Shader system
...
This allows us to specify a subset of variants to compile at load time and conditionally other variants later.
This works seamlessly with shader caching.
Needed to ensure that users only pay the cost for variants they use
2023-07-21 16:42:30 +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
lewiji
2a93681334
Return shader parse error when using 'hint_normal_roughness_texture' and not using the Forward+ backend
2023-06-29 16:18:31 +01:00
smix8
8bd14e5ca3
Add missing default Callables for new NavigationServer geometry parse and bake functions
...
Adds missing default Callables for new NavigationServer geometry parse and bake functions.
2023-06-25 19:08:50 +02:00
K. S. Ernest (iFire) Lee
39dfa8436e
Varying mismatch causing shaders to fail.
2023-06-23 21:36:38 -07:00
Arman Elgudzhyan
af9d1743f3
Clear specular buffer if bg mode is canvas and ss effects are used
...
Explicitly clear the separate specular buffer when the background mode is canvas and screen space effects (and thus a separate specular buffer) are used.
2023-06-23 12:16:52 -07:00
Rémi Verschelde
dbcbba5575
Merge pull request #78575 from brno32/bind-light-param-intensity
...
Binding LIGHT_PARAM_INTENSITY in RenderingServer
2023-06-23 08:48:20 +02:00
Alex Drozd
d9cc22af8f
Binding LIGHT_PARAM_INTENSITY in RenderingServer
2023-06-22 23:29:47 +02:00
bitsawer
ef00de99b4
Fix error spam when a mesh with bone weights has an invalid skeleton
2023-06-22 15:58:52 +03:00
ChibiDenDen
35715e510f
replace sampler arrays with constant sampler elements
2023-06-22 01:11:57 +03:00
Markus Sauermann
890fdd56df
Code simplifications
...
CPPcheck found most of them.
no need to assign the variable twice:
- AnimationTrackEditTypeAudio
- SSEffects
variable is assigned in all if-else clauses:
- EditorHelp
- AndroidInputHandler
- MenuBar
- ShaderCompiler
same if clause:
- ItemList
clearing an empty bitfield has no effect:
- Viewport
2023-06-21 22:37:26 +02:00
Bastiaan Olij
952b4b3f38
Apply reprojection in multiview for our cluster lookup
2023-06-21 11:17:01 +10:00
Rémi Verschelde
dca1e0bef7
Merge pull request #78436 from BastiaanOlij/fix_stereo_fog
...
Fix volumetric fog in stereo by projection vertex in combined space
2023-06-20 09:21:39 +02:00
Bastiaan Olij
66272ea26e
Fix volumetric fog in stereo by projection vertex in combined space
2023-06-20 14:36:14 +10:00
Wilson E. Alvarez
d19c376d2e
Fix AudioEffectRecord circular reference
2023-06-19 18:13:01 -04:00
Rémi Verschelde
7ff0a3086d
Merge pull request #76138 from rburing/ccd_against_moving
...
Improve rigid body CCD against moving bodies
2023-06-19 22:34:16 +02:00
bitsawer
dab0871d41
Fix invalid RID errors when freeing a mesh with blend shapes
2023-06-19 11:07:15 +03:00
smix8
ae9dd47d0c
Add agent pause mode to NavigationServer
...
Adds agent pause mode to NavigationServer.
2023-06-18 12:37:03 +02:00
smix8
c4f544f802
Add ProjectSettings navigation map default up
...
Adds ProjectSettings navigation map default up.
2023-06-17 11:29:17 +02:00
Rémi Verschelde
014b395ef3
Merge pull request #78262 from bruvzg/ds_window_focus
...
[DisplayServer] Add method to check if native window is focused.
2023-06-16 10:19:33 +02:00
bruvzg
28db3c7158
[DisplayServer] Add method to check if native window is focused.
2023-06-16 10:27:52 +03:00
clayjohn
36a005fafc
Add RENDERING_INFO parameters to GL Compatibility renderer
...
This also fixes RENDERING_INFO_TOTAL_PRIMITIVES_IN_FRAME for the RD renderers as it was incorrectly reporting vertex/index count at times
This also adds memory tracking to textures and buffers to catch memory leaks.
This also cleans up some memory leaks that the new system caught.
2023-06-16 09:10:00 +02:00
Rémi Verschelde
6fb391bc23
Fix various typos with codespell
...
And ignore some false positives introduced by recent versions of codespell.
2023-06-16 08:45:35 +02:00
Rémi Verschelde
0da20d019e
Merge pull request #77412 from smix8/fix_threaded_navmesh_baking_4.x
...
Fix for threaded NavigationMesh baking under new thread guards
2023-06-15 10:49:58 +02:00
Rémi Verschelde
754a52a4ab
Merge pull request #78201 from smix8/navmesh_cell_height_4.x
...
Fix `cell_height` for navigation meshes
2023-06-14 09:27:33 +02:00
Rémi Verschelde
16c2fede71
Merge pull request #78200 from prominentdetail/patch-3
...
Properly handle wireframe mode in RendererRD pipeline cache
2023-06-14 09:27:10 +02:00
Rémi Verschelde
e0651ed4b5
Merge pull request #78199 from clayjohn/detect_3d
...
Ensure that "detect 3D" is only called when using 3D shaders
2023-06-14 09:26:47 +02:00
Rémi Verschelde
41776634b6
Merge pull request #78161 from BastiaanOlij/expose_texture_native_handle
...
Expose `RD::texture_get_native_handle`
2023-06-14 09:25:59 +02:00
Alex
f74464b767
Properly handle wireframe mode in RendererRD pipeline cache
...
Makes wireframe get cached properly so that it doesn't keep being recreated.
Fixes #76237 .
2023-06-14 09:14:34 +02:00
Bastiaan Olij
6dd47e232b
Expose RD::texture_native_handle
2023-06-14 09:58:08 +10:00
smix8
ee14b010ac
Fix for threaded NavigationMesh baking under new thread guards
...
Fixes threaded NavigationMesh baking under new SceneTree thread guards that blocked the process.
2023-06-14 01:53:37 +02:00
smix8
180a5cded1
Fix cell_height
for navigation meshes
...
Fixes `cell_height` for navigation meshes.
2023-06-13 23:24:32 +02:00
clayjohn
0b7e2dfdfc
Ensure that "detect 3D" is only called when using 3D shaders
2023-06-13 13:20:11 -07:00
Aaron Franke
1e6f30e6bd
Set both texture format overrides to false by default
2023-06-12 11:52:02 -05:00
Rémi Verschelde
e208cdb170
Merge pull request #78081 from smix8/obstacle_api_update_4.x
...
Update NavigationObstacle API
2023-06-12 17:10:28 +02:00
Rémi Verschelde
2d6b880987
i18n: Sync translations with Weblate (now tracking 4.1 strings)
2023-06-12 14:57:08 +02:00
smix8
c1fc331b88
Update navigation obstacle API
...
Updates navigation obstacle API.
2023-06-12 14:26:45 +02:00
kleonc
bbb2a889d8
Fix Y-sort modulate for top-most Y-sorted CanvasItem
2023-06-12 13:33:26 +02:00
Bastiaan Olij
d9eb9665da
Draw frustum splices ontop of direction shadow atlas for debug purposes
2023-06-11 11:48:11 +10:00
Aaron Franke
944fbce347
Enable S3TC_BPTC but not ETC2_ASTC by default
2023-06-09 11:38:29 -05:00
Rémi Verschelde
7c71844999
Merge pull request #77703 from RandomShaper/fix_vol_fog_thingy
...
Fix management of life cycle of vol. fog related uniform sets
2023-06-09 11:05:11 +02:00
Rémi Verschelde
9ce42d176d
Merge pull request #76977 from manueldun/light-shader-builtins
...
Enable the use of all supported builtins on the light shader
2023-06-09 11:04:46 +02:00
Rémi Verschelde
166643df32
Merge pull request #74937 from bitsawer/fix_uniform_storage
...
Fix shader uniform storage conversions and crash
2023-06-09 11:04:16 +02:00