Commit Graph

5643 Commits

Author SHA1 Message Date
clayjohn
1b5a15d5d1 Correctly check time since shadow was allocated in atlas to avoid unnecessary re-allocations
Co-authored-by: jitspoe <jitspoe@yahoo.com>
2024-12-05 11:13:37 -08:00
DeeJayLSP
afd68d785b Use qoa.c and custom compress procedure 2024-12-05 13:20:09 -03:00
clayjohn
e316739a13 Use a vector instead of an array in canvas shader instance buffer.
This avoids a pathological performance cliff on Adreno devices
2024-12-04 16:36:46 -08:00
clayjohn
0dfbf4a5df Optimize batch uniform set creation by caching ptrw when creating batch uniform 2024-12-03 17:16:44 -08:00
Thaddeus Crews
26e7b6bdd6
Merge pull request #99164 from bruvzg/int_files
[Export] Write text server data from memory, instead of using temporary file.
2024-12-03 14:40:58 -06:00
Thaddeus Crews
40a65e739d
Merge pull request #99371 from bruvzg/beep
Implement `DisplayServer.beep`.
2024-12-03 14:40:50 -06:00
Thaddeus Crews
42eb4fbc07
Merge pull request #93831 from what-is-a-git/wav-runtime
Add runtime file loading to `AudioStreamWAV`
2024-12-03 14:40:42 -06:00
Dario
fa7615be9e Add specialization for directional light split blend and fog. 2024-12-03 15:12:46 -03:00
Pāvels Nadtočajevs
84650f2018 Implement DisplayServer.beep. 2024-12-03 12:43:26 +02:00
what-is-a-git
707f1038c3 Add runtime file loading to AudioStreamWAV 2024-12-02 20:03:53 -05:00
Pāvels Nadtočajevs
c5ca56f40b [Export] Write text server data from memory, instead of using temporary file. 2024-12-02 18:22:55 +02:00
Rémi Verschelde
e60b18493d
Merge pull request #99704 from Chaosus/shader_pp_fix_orphan_strings
Fix orphan strings in shader preprocessor
2024-12-02 17:20:39 +01:00
Rémi Verschelde
bb09a6f061
Merge pull request #99642 from bruvzg/mac_win_tile
[macOS] Use native window drag for the custom editor title bars.
2024-12-02 17:20:19 +01:00
Rémi Verschelde
5836a24a1c
Merge pull request #99488 from bruvzg/te_brk_cases
[TextServer] Fix some line breaking edge cases.
2024-12-02 17:20:15 +01:00
Rémi Verschelde
fa264115ce
Merge pull request #98664 from bruvzg/ts_reset_subpixel_shift
[TextServer] Reset subpixel shift on blank glyphs.
2024-12-02 17:20:07 +01:00
Pāvels Nadtočajevs
b248d66265 [macOS] Use native window drag for the custom editor title bars. 2024-12-02 17:40:27 +02:00
Rémi Verschelde
d2c82a8ffc
Merge pull request #97378 from rune-scape/less-const-cast
Get rid of easily removable uses of `const_cast`
2024-12-02 15:50:06 +01:00
Rémi Verschelde
14ce5ba8a1
Merge pull request #94368 from CrazyRoka/optimize-render-pass-uniform-set
Optimize `RenderForwardClustered::_setup_render_pass_uniform_set` by reducing Vector allocations
2024-12-02 15:49:58 +01:00
CrazyRoka
d9ef826c54
Optimize RenderForwardClustered::_setup_render_pass_uniform_set by reducing Vector allocations during push_back operations 2024-12-02 15:03:50 +01:00
Joshua Staub
16ee2f22eb
Check device texture size limits in RenderingDevice::texture_create 2024-12-02 14:30:02 +01:00
rune-scape
d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
Wagner
6995b6a03e Allow changing the anisotropic filter level at run-time per Viewport 2024-11-30 00:50:45 -03:00
Rémi Verschelde
4aed2b7981
Merge pull request #99086 from Calinou/editor-visual-profiler-show-hardware-info
Display CPU and GPU model name in the editor visual profiler
2024-11-29 22:46:58 +01:00
Rémi Verschelde
88e81ee730
Fix various typos and code style issues 2024-11-28 17:40:42 +01:00
Dario
c7198dda64 Fix another incorrect clear color flag on texture storage. 2024-11-28 09:59:03 -03:00
Chaosus
5a48e527b2 Fix orphan strings in shader preprocessor 2024-11-28 11:22:17 +03:00
Dario
1c6aad660f Fix incorrect clear color flag on canvas renderer. 2024-11-27 20:01:23 -03:00
Thaddeus Crews
ed01f5f2aa
Merge pull request #98670 from DarioSamo/rd-transient-targets
Automatically resolve initial and final action for draw lists.
2024-11-27 10:47:29 -06:00
Thaddeus Crews
c58ae91efa
Merge pull request #99220 from Flarkk/fix_sss_reverse_z
Fix regression in SSS with reverse-z
2024-11-27 10:46:56 -06:00
Dario
0ce4c6dac3 Improve performance of shader lighting code in Forward renderers.
- Skip sampling shadows if attenuation is very small.
- Skip computing diffuse and specular light if attenuation and shadow are very small.
2024-11-27 12:20:31 -03:00
ze2j
97e0b43faa Add ArrayMesh::surface_remove 2024-11-27 13:46:15 +01:00
Florent Guiocheau
3376b9166b Fix SSS with reverse-z 2024-11-26 10:51:22 +01:00
Dario
6d5ac8f7ef Resolve load and store ops automatically for render passes for discardable textures. 2024-11-25 11:27:48 -03:00
Pāvels Nadtočajevs
0708048530 [TextServer] Fix some line breaking edge cases. 2024-11-25 10:31:07 +02:00
Chaosus
7ecdfc8b52 Add samplerExternalOES type to shader globals 2024-11-24 14:33:52 +03:00
Bastiaan Olij
1bffefb346 Adding ability to include build-in include files (precursor to custom shader templates) 2024-11-24 08:47:45 +11:00
Thaddeus Crews
dcb59f0e7e Merge pull request #99548 from Repiteo/style/clang-format-19-options
Style: Add 19.1.0 LLVM options to `.clang-format`
2024-11-22 14:54:29 -06:00
Thaddeus Crews
e8a4b45ce4
Style: Add 19.1.0 LLVM options to .clang-format 2024-11-22 09:24:32 -06:00
clayjohn
2b68c63a88 Mask out shadows on CanvasItems that don't have a matching item_shadow_mask
This restores the behavior from 3.x
2024-11-21 22:15:54 -08:00
Thaddeus Crews
38ebcf92ed
Merge pull request #99463 from DarioSamo/rd-partial-coverage-fix-part-two
Do not check for command intersections when not using the write list.
2024-11-21 17:56:47 -06:00
Thaddeus Crews
8eee5066eb
Merge pull request #94981 from Chaosus/shader_fix_screen_uv_in_spatial_light
Allow `SCREEN_UV` to be used in light function of spatial shader
2024-11-21 17:56:45 -06:00
Rémi Verschelde
7c1f42506a
Merge pull request #99448 from clayjohn/RD-sky-flip
Unify y-flip behavior for sky in RD backends
2024-11-20 17:03:19 +01:00
Dario
8bfb631afc Do not check for command intersections when not using the write list. 2024-11-20 10:04:17 -03:00
clayjohn
02efdb28dc Unify y-flip behavior for sky in RD backends 2024-11-19 16:59:04 -08:00
Dario
288717d7eb Improve dependency detection in render graph for draw lists with partial coverage. 2024-11-19 11:23:11 -03:00
Chaosus
a64b3fd3f8 Allow SCREEN_UV to be used in light function of spatial shader 2024-11-19 11:39:49 +03:00
Thaddeus Crews
fd4c29a189
Merge pull request #98683 from clayjohn/wireframe
Ensure shadow material and mesh are not used with wireframe mode
2024-11-18 09:23:54 -06:00
Thaddeus Crews
3ded11d0bc
Merge pull request #85359 from miv391/faster-exit-from-cull_canvas_item
Faster exit from `_cull_canvas_item` if alpha is zero
2024-11-18 09:23:51 -06:00
Thaddeus Crews
0a50cef751
Merge pull request #98788 from Bonkahe/master
Add `multimesh_get_buffer_rd_rid` method to `RenderingServer`.
2024-11-18 09:23:46 -06:00
Thaddeus Crews
7a5b1ed736
Merge pull request #99299 from Bonkahe/ResolveParticlesSetViewAxisThreadIssue
Move `_scene_particles_set_view_axis` to new static function to allow call to be done on render thread, preventing multi threaded error on compute shader execution.
2024-11-18 09:23:45 -06:00
Thaddeus Crews
fa29dde142
Merge pull request #99367 from BlueCube3310/mobile-probe-capture
Fix updating lightmap captures on Mobile
2024-11-18 09:23:32 -06:00
BlueCube3310
bb3d0045b0 Fix updating lightmap captures on Mobile 2024-11-17 19:29:21 +01:00
clayjohn
90b4b48b5a Ensure shadow material and mesh are not used with wireframe mode
And in the Compatibility renderer actually use the wireframe render mode
2024-11-16 22:25:00 -08:00
David House
7e3d480087 Created static method and moved _particles_set_view_axis over to it to allow calling on render thread. 2024-11-16 13:26:26 -06:00
Mika Viskari
39423d99fa Faster exit from _cull_canvas_item if alpha is zero 2024-11-16 13:27:45 +02:00
Chris
fb75078308 Changed some image error messages to print the file path 2024-11-15 20:42:03 +01:00
David House
6e9d31f602 Implemented multimesh_get_buffer_rd_rid function into RenderingServer.
Fixed style error.

Updated dummy mesh_storage to move from cpp to h the return of a blank Rid on _multimesh_get_buffer_rd_rid.
2024-11-14 15:52:08 -06:00
Thaddeus Crews
7f6b272b28
Merge pull request #99163 from clayjohn/Mobile-normal-interp
Normalize normal, tangent, and binormal before interpolating in the mobile renderer to avoid precision errors on heavily scaled meshes
2024-11-14 14:52:02 -06:00
clayjohn
2c158c386b Normalize normal tangent and binormal before interpolating in the mobile renderer to avoid precision errors on heavily scaled meshes 2024-11-13 12:24:28 -08:00
Thaddeus Crews
76fa7b2914
Merge pull request #99066 from DarioSamo/rd-transfer-worker-deadlock-fix
Give the barrier pool its own mutex to avoid a deadlock with transfer workers.
2024-11-13 08:34:36 -06:00
Thaddeus Crews
e71a52dff7
Merge pull request #99073 from DarioSamo/rd-graph-dependency-fix
Improve graph's detection of intersection between draw lists.
2024-11-13 08:33:52 -06:00
David Snopek
d6a4fe6c05 XR: Allow locking the camera to the XROrigin3D for benchmarking or automated testing 2024-11-12 15:06:27 -06:00
Thaddeus Crews
74645109c4
Merge pull request #98767 from jadeharley2/master
Fix inability to set TextureLayeredRD as `TEXTURE_TYPE_CUBE` or `TEXTURE_TYPE_CUBE_ARRAY`
2024-11-11 14:18:29 -06:00
Thaddeus Crews
e5b77b184f
Merge pull request #98755 from Chaosus/shader_compiler_fix_struct_member_names
Add prefix to struct member names in shader compiler
2024-11-11 14:18:23 -06:00
Thaddeus Crews
4b447ec4e5
Merge pull request #85430 from Calinou/os-expose-rendering-driver-method
Expose RenderingServer methods to get rendering driver and method name
2024-11-11 14:18:10 -06:00
Hugo Locurcio
3e8a24d0da
Display CPU and GPU model name in the editor visual profiler
This shows the information from the remote device, which will typically
differ from the local device in remote debugging scenarios.
2024-11-11 19:51:54 +01:00
Dario
a8269820b9 Improve graph's detection of intersection between draw lists. 2024-11-11 11:59:47 -03:00
Dario
bf8ecd3a9d Give the barrier pool its own mutex to avoid a deadlock with transfer workers. 2024-11-11 10:31:12 -03:00
jadeharley2
a4d1d36c85 Fix inability to set TextureLayeredRD as TEXTURE_TYPE_CUBE or TEXTURE_TYPE_CUBE_ARRAY 2024-11-11 15:31:43 +03:00
tetrapod00
899f5151c3 Standardize terms for renderers in error strings
Use "Forward+", "Mobile", "Compatibility", and "renderer" or "rendering method".
2024-11-10 13:30:44 -08:00
Thaddeus Crews
9dfb36ca0c
Merge pull request #98549 from Chaosus/shader_renderer_states
Add renderer state defines to shader preprocessor
2024-11-10 12:13:04 -06:00
Thaddeus Crews
3cff32a92d
Merge pull request #98910 from darksylinc/matias-id_arm32
Force `RDD::id` to be always `uint64_t`
2024-11-10 12:12:53 -06:00
Thaddeus Crews
2b02143d35
Merge pull request #98307 from clayjohn/Light2D-shadow-projection
Precompute projection matrices when rendering 2D shadows
2024-11-10 12:12:14 -06:00
Matias N. Goldberg
e69a0c7d60 Force RID::id to be always uint64_t
On Vulkan, some handles are meant to always be u64, even on 32-bit
architectures such as arm32.

Fixes #98654
2024-11-06 20:03:56 -03:00
Thaddeus Crews
4dc69c827b
Merge pull request #98131 from KeyboardDanni/remove_playback_fadein
Remove playback fade-in and add comments to `AudioServer`
2024-11-05 18:36:15 -06:00
Danni
e55ceebbf9 Add some more comments to AudioServer and remove playback fade-in
Co-authored-by: Ellen Poe <ellen@ellenhp.me>
2024-11-05 15:36:42 -05:00
Thaddeus Crews
88d9903f6d
Merge pull request #86138 from EnlightenedOne/master
Fix Frustum Sky projection translation logic shearing
2024-11-04 21:52:07 -06:00
Thaddeus Crews
2450dee1bc
Merge pull request #93401 from Repiteo/style/clang-tidy-fixes
Style: Apply `clang-tidy` fixes
2024-11-04 21:52:05 -06:00
Thaddeus Crews
2b49543478
Merge pull request #98709 from darksylinc/matias-upsidedown-splash
Fix splash screen upside down on Android
2024-11-04 21:52:01 -06:00
Thaddeus Crews
edc60c63f1
Merge pull request #98701 from DarioSamo/rd-graph-improvements
Add dependency detection improvements to the render graph.
2024-11-04 21:51:58 -06:00
Thaddeus Crews
c68ec6c369
Merge pull request #98825 from DarioSamo/mobile-scs
Add multiple specialization constants to Forward+ and Mobile.
2024-11-04 21:51:55 -06:00
Thaddeus Crews
11b90086b7
Merge pull request #96705 from elmajime/camera_from_external_feed
Add support for external camera feed from external plugin on Android
2024-11-04 21:51:50 -06:00
Thaddeus Crews
bb5f390fb9
Style: Apply clang-tidy fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Thaddeus Crews
89a311205f
Style: Apply clang-tidy fixes
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
Dario
53099c56f0 Add multiple specialization constants to Forward+ and Mobile. 2024-11-04 14:35:40 -03:00
EnlightenedOne
1d141ab32a Fix Frustum Sky projection translation logic, all pipelines, fixes 63863 2024-11-02 21:34:55 +00:00
Chaosus
5efe8ccdea Add prefix to struct member names in shader compiler 2024-11-02 12:13:23 +03:00
Dario
5216ef5f9c Add dependency detection improvements to the render graph.
- Buffers changing their usage are no longer treated as write usage unless the API requires it.
- Draw lists are not treated as being dependent on each other if their regions do not intersect despite both being write commands.
- Particles were tweaked to use different unused buffers to reduce dependencies.
2024-11-01 09:46:52 -03:00
bruvzg
e81a2afbc4
[TextServer] Reset subpixel shift on blank glyphs and import option to enable/disable it. 2024-11-01 10:18:57 +02:00
Matias N. Goldberg
b9a2f108fc Fix splash screen upside down on Android
Fixes an issue introduced in #96439 (see
https://github.com/godotengine/godot/pull/96439#issuecomment-2447288702)

Godot was relying on Java's
activity.getWindowManager().getDefaultDisplay().getRotation(); to apply
pre-rotation but this is wrong.

First, getRotation() may temporarily return a different value from the
correct one; which is what was causing the splash screen to be upside
down. It would return -90 instead of 90 for the first rendered frame.

But unfortunately, the splash screen is just one frame rendered for a
very long time, so the error lingered for a long time for everyone to
see.

Second, to determine what rotation to use, we should be looking at what
Vulkan told us, which is the value we pass to
VkSurfaceTransformFlagBitsKHR::preTransform.

This commit removes the now-unnecessary
screen_get_internal_current_rotation() function (which was introduced by
#96439) and now saves the preTransform value in the swapchain.
2024-10-31 16:52:26 -03:00
maxime.chambefort
6f846eb5c5 Added external camera feed from external plugin on Android 2024-10-30 18:30:28 +01:00
Anish Mishra
0dfd18c84b [DisplayServer] Add feature flag for native file dialog access to user/res and options 2024-10-30 14:13:43 +05:30
Thaddeus Crews
6d09a20c82
Merge pull request #97247 from thimenesup/draw_indirect_rd
Add draw indirect to Rendering Device
2024-10-29 19:25:57 -05:00
Thaddeus Crews
a8931f1aa9
Merge pull request #98652 from stuartcarnie/2d_texture_state_fixes
2D: Fix various issues and minor performance optimisations
2024-10-29 19:25:54 -05:00
Thaddeus Crews
73830b3c12
Merge pull request #88628 from bruvzg/i_have_no_idea_what_im_doing
[macOS/iOS] Use hardware sampling rates for audio I/O.
2024-10-29 19:25:47 -05:00
Thaddeus Crews
7a661eaa7c
Merge pull request #98612 from DarioSamo/alignment-transfer-fix
Fix transfer alignment on initial texture transfer.
2024-10-29 19:25:46 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Thaddeus Crews
64b68192cc
Merge pull request #98562 from Rudolph-B/Issue-98561
Fix Occlusion Culling not working for an orthogonal camera.
2024-10-29 19:25:34 -05:00
Stuart Carnie
0d1d945727
2D: Fix various issues and minor performance optimisations 2024-10-30 08:36:45 +11:00
Clay John
748f4079e3
Merge pull request #96439 from darksylinc/matias-TheForge-pr03-rebased
Add Swappy & Pre-Transformed Swapchain
2024-10-29 12:34:40 -07:00
thimenesup
d36a872432 Add draw indirect to Rendering Device 2024-10-29 17:40:28 +01:00
Matias N. Goldberg
aaa0e2fddf Add Swappy & Pre-Transformed Swapchain
- Adds Swappy for Android for stable frame pacing
- Implements pre-transformed Swapchain so that Godot's compositor is in
charge of rotating the screen instead of Android's compositor
(performance optimization for phones that don't have HW rotator)

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.

Changes from original PR:

- Removed "display/window/frame_pacing/android/target_frame_rate" option
to use Engine::get_max_fps instead.
- Target framerate can be changed at runtime using Engine::set_max_fps.
- Swappy is enabled by default.
- Added documentation.
- enable_auto_swap setting is replaced with swappy_mode.
2024-10-28 18:55:37 -03:00
Dario
427ba09efc Fix soft shadows by increasing the bit count for specialization constants. 2024-10-28 10:26:50 -03:00
Dario
03f56fc15d Fix transfer alignment on initial texture transfer.
Fixes the regression caused by transfer workers with textures with non-standard dimensions such as the ones provided in #98601.
2024-10-28 09:56:02 -03:00
Rudolph Bester
76c20383d1 Fix Occlusion Culling not working for an orthogonal camera. 2024-10-26 20:07:34 +02:00
Chaosus
e021076b4c Add renderer state defines to shader preprocessor 2024-10-26 13:49:55 +03:00
Thaddeus Crews
edad871a2d
Merge pull request #98425 from darksylinc/matias-breadcrumbs-race-fix
Fix race conditions in breadcrumbs
2024-10-25 13:04:12 -05:00
Thaddeus Crews
07e759b74a
Merge pull request #97771 from dsnopek/openxr-linux-egl
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 -05:00
Thaddeus Crews
1f346a5dcd
Merge pull request #98435 from Calinou/audio-add-get-driver-name
Add `AudioServer.get_driver_name()` to get the actual audio driver name
2024-10-25 13:03:41 -05:00
Adam Scott
0d350e7108
Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
bruvzg
c8609f4c0f
[macOS/iOS] Use hardware sampling rates for audio I/O. 2024-10-25 19:26:24 +03:00
Yuri Rubinsky
6732a0fd86
Merge pull request #98448 from Chaosus/shader_global_builtins
Make `OUTPUT_IS_SRGB/CLIP_SPACE_FAR` shader built-ins global
2024-10-25 13:55:14 +03:00
Clay John
78a4e634f0
Merge pull request #98257 from Rudolph-B/94210-B
Fix to occlusion culling where all math is based on Euclidean distance.
2024-10-24 21:06:56 -07:00
Thaddeus Crews
cfc05c5e0f
Merge pull request #85338 from EMBYRDEV/shadow-caster-mask
Add `shadow_caster_mask` to Light3D.
2024-10-24 13:22:59 -05:00
Thaddeus Crews
ba4e67e55e
Merge pull request #98266 from m-pranav-r/fix-light-visual-instance
Fix light culling mask behavior in Mobile and Compat renderers
2024-10-24 13:22:58 -05:00
Thaddeus Crews
9f908a3a5b
Merge pull request #86103 from ecmjohnson/fix-inside-volfog
Fix volumetric fog artifacts when inside the fog
2024-10-24 13:22:57 -05:00
Thaddeus Crews
52bbbd4338
Merge pull request #98247 from TCROC/fix-headless-graphics-driver-and-shader-crash
Don't create rendering device or parse glsl shader in headless mode
2024-10-24 13:22:53 -05:00
Thaddeus Crews
8c52533aed
Merge pull request #86539 from stechyo/gdext/expose-audio-playback-methods
Expose some AudioStreamPlayback methods (namely `mix_audio()`).
2024-10-24 13:22:35 -05:00
Chaosus
463e81413e Make OUTPUT_IS_SRGB/CLIP_SPACE_FAR shader built-ins global 2024-10-24 12:32:05 +03:00
Yuri Rubinsky
ff9fb0abea
Merge pull request #93590 from Chaosus/shader_custom_func_discard
Allow usage of `discard` inside custom shader functions
2024-10-24 09:38:10 +03:00
Yuri Rubinsky
03641a425f
Merge pull request #93650 from Chaosus/shader_stage_custom_funcs
Allow using stage functions inside custom shader functions
2024-10-24 09:32:04 +03:00
m-pranav-r
fcea158927 Fixed light culling mask behavior in Mobile and Compat renderers 2024-10-23 08:38:56 +05:30
Matias N. Goldberg
668c9b74e2 Fix race conditions in breadcrumbs
Adds "--accurate-breadcrumbs" CLI command

Additionally, leave out breadcrumbs code in non-debug, non-dev builds.
Fix regression introduced in #98388 where command_insert_breadcrumb() is
called even in non-debug builds.

Fixes #98338
2024-10-22 22:08:46 -03:00
Hugo Locurcio
77c31b9cc8
Add AudioServer.get_driver_name() to get the actual audio driver name
The project setting does not reflect CLI argument overrides
(including `--headless` which sets the audio driver to `Dummy`),
so it can't be reliably used to detect which audio driver is
actually being used at run-time.
2024-10-22 23:14:59 +02:00
Travis Lange
2e1fc241f9 fix headless import attempting to load graphics driver 2024-10-22 16:17:09 -04:00
Clay John
533c616cb8
Merge pull request #98391 from RandomShaper/rd_thread_switch
Implement thread ownership change for RenderingDevice
2024-10-22 13:10:32 -07:00
Thaddeus Crews
7815ccbdd5
Merge pull request #98294 from Calinou/texture-placeholders-use-shared-copy
Use a shared copy of placeholder textures, tweak placeholder appearance
2024-10-21 16:39:29 -05:00
Thaddeus Crews
7dbea98c49
Merge pull request #97005 from Repiteo/core/window-corner-style
Core: Add `DisplayServer` flag for sharp corners
2024-10-21 16:39:25 -05:00
Thaddeus Crews
1a9628f937
Merge pull request #98267 from Chaosus/shader_pp_error
Add `#error` preprocessor directive to shading language
2024-10-21 16:39:23 -05:00
Thaddeus Crews
a14e9e99e5
Merge pull request #98388 from DarioSamo/sync-fixes
Improve synchronization of rendering after changes from transfer queues.
2024-10-21 16:39:21 -05:00
Thaddeus Crews
178342b058
Merge pull request #98258 from LainAmongYou/fix-bgra
Add support for BGRA textures with Texture*RD
2024-10-21 16:39:20 -05:00
Thaddeus Crews
291e4b78e2
Merge pull request #98237 from dustdfg/os_transitive_image_headers_refactor
Don't include `core/io/image.h` in `core/os/os.h`
2024-10-21 16:39:15 -05:00
Thaddeus Crews
c145e85011
Merge pull request #98226 from m-pranav-r/fix-volumetric-shadows
Fix incorrect depth comparison used to calculate volumetric fog shadowing
2024-10-21 16:39:11 -05:00
Thaddeus Crews
5e65747d90
Merge pull request #97925 from huwpascoe/lightmap_dynamic_bugfix
Fix updating dynamic objects in LightmapGI
2024-10-21 16:39:04 -05:00
Pedro J. Estébanez
d5d509bbd6 Implement thread ownership change for RenderingDevice 2024-10-21 20:56:42 +02:00
Dario
4ad424234f Improve synchronization of rendering commands after changes from transfer queues.
Fix an error where barriers are expected to be inserted for the swap chain textures.
Add the relevant synchronization stages and accesses to resources between frames.
Fix an error where debug labels weren't finished correctly between frames.
Breadcrumbs are now behind an optional macro as they currently lead to synchronization errors which are harmless.
2024-10-21 11:27:56 -03:00
clayjohn
62516df757 Precompute projection matrices when rendering 2D shadows 2024-10-18 11:55:00 -07:00
Thaddeus Crews
f8c4a683d7
Core: Add DisplayServer flag for sharp corners 2024-10-18 11:20:21 -05:00
Yevhen Babiichuk (DustDFG)
af6d260c17 Don't include core/io/image.h in core/os/os.h
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot

Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`

^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
Hugo Locurcio
35a20fa96a Use a shared copy of placeholder textures, tweak placeholder appearance
This reduces memory usage a bit in case multiple placeholders were
requested, e.g. when using multiple NoiseTextures with no noise property
defined.

The placeholder texture's appearance was also changed from a plain magenta
color to a checkerboard alternating between magenta and black pixels.
This makes it easier to spot when the placeholder texture ends up
being used in a complex scene (usually by accident).
The texture's dimensions remain identical to keep the physical size
identical in 2D.
2024-10-18 14:51:51 +02:00
Dario
8c3e46b13b Move transitions of textures initialized by transfer workers to the main graphics queue.
Also adds a new possible texture layout and API trait to support a particular behavior in D3D12 where only the COMMON layout is supported in copy queues. Fixes #98158.
2024-10-18 09:15:25 -03:00
Chaosus
155cf6a5b6 Add #error preprocessor directive to shading language 2024-10-18 10:56:58 +03:00
Clay John
0ce4d8fcd3
Merge pull request #98086 from DarioSamo/transfer-queues-semaphores
Rewrite semaphore handling for transfer workers.
2024-10-17 16:54:43 -07:00
Clay John
a2117f5796
Merge pull request #98187 from EnlightenedOne/98102
Fix Mobile Renderer - Shadow Disabled and User Vertex Lighting flags
2024-10-17 16:37:09 -07:00
Dario
7a936e8bac Rewrite semaphore handling for transfer workers. 2024-10-17 14:07:08 -03:00
yesfish
274076c5be Lightmap Dynamic Bugfix 2024-10-17 16:27:30 +01:00
Yuri Rubinsky
ad7e7a51b2 Allow usage of discard inside custom shader functions 2024-10-17 16:06:33 +03:00
Yuri Rubinsky
74c000db17 Allow using stage functions inside custom shader functions 2024-10-17 15:47:01 +03:00
Lain
4e6d9813b2 Add support for BGRA textures with Texture*RD
This adds the ability to use BGRA textures created with RenderingDevice
with classes such as Texture2DRD.
2024-10-16 22:31:43 -07:00
Rudolph Bester
ed3f990952 Alternative fix to occlusion culling where all math is based on Euclidean distance. 2024-10-17 05:59:37 +02:00