3262 Commits

Author SHA1 Message Date
1bcfe5dd09 Fix build warning with memset value being too large
Should resolve issue #83342

(cherry picked from commits b97cb5ec59
and 21ae69a1de)
2025-10-29 12:12:20 +01:00
c3a277097a Move Vulkan includes to a central godot_vulkan.h header
Also fixes Vulkan build problem with recent Clang.

(cherry picked from commit 146ba4106f)
2025-10-29 12:12:19 +01:00
ef9f0beafd [Windows] Rename PKEY_Device_FriendlyName to avoid duplicate symbols with newer MinGW SDKs.
(cherry picked from commit c363e13051)
2025-10-28 22:34:39 +01:00
2fea5c0a66 Style: Apply fixes from clang-format 18.1.3 2025-04-25 16:11:26 +02:00
9a8b5848d8 Style: Apply fixes from black and codespell 2025-04-25 16:09:46 +02:00
cd118f80c6 Fix audio crackling issues due to incorrect WASAPI buffer size
(cherry picked from commit 179b0786c6)
2024-03-10 00:20:27 +01:00
96a480feac [Net] Explicitly handle buffer errors in send/recv
(cherry picked from commit 28001b9ef6)
2023-07-20 14:56:44 +02:00
dd2907f9b7 Fix for Win+M crashing the editor
Fixes #77790
Adds missing 'break' statement to 'VulkanContext::prepare_buffers' function.
It was mistakenly removed in #72859

(cherry picked from commit bd786ce0d9)
2023-07-20 13:46:45 +02:00
d8caf0a726 Replace get_rendering_device() call to prevent crashes on OpenGL.
And make OpenGL video adapter info align with Vulkan.

(cherry picked from commit 2c5e2196bd)
2023-06-29 16:03:22 +02:00
b7d741977c RenderingDeviceVulkan::buffer_get_data: Use draw command buffer instead of setup command buffer
(cherry picked from commit f52c151fcf)
2023-06-29 16:03:21 +02:00
d56e19b012 Fix typo in FinalAction switch statement in RenderingDevice
(cherry picked from commit dd53037f74)
2023-06-29 16:03:21 +02:00
f745ef03a3 Fix AABB for unused bones
Fixes bug where bounding box of 1 unit was used in some skinned models and had wrong LODs.
(this could become very large if the mesh is scaled, such as FBX conversions)
Also fixes a mistake in calcualting bone index.

(cherry picked from commit 791d8001db)
2023-06-29 16:03:20 +02:00
ab2c3712e2 Add mono audio support to WASAPI
(cherry picked from commit 8d010b44c1)
2023-05-12 14:14:04 +02:00
f93a4287cf Enable shadow warnings and fix raised errors
(cherry picked from commit 71ee65dc57)
2023-05-12 13:56:48 +02:00
9d9b7511a0 Fix Rotation Issue with NODE_POSITION_VIEW Visual Shader Node
(cherry picked from commit e35bbd76a3)
2023-05-12 12:31:22 +02:00
bb785cfcc0 Fix gles3 rendering on android studio emulator
Use a temporary framebuffer for screen copy from rendertarget to screen.

This solves GLES3 rendering in android studio emulator (before this change there is just a black screen)

Based on discussion in:
https://github.com/godotengine/godot/issues/74828

(cherry picked from commit 5956aa1a6a)
2023-05-12 12:31:22 +02:00
cf0bd389cc Support long path in file access on windows
Changed windows file access file to check for path length and use the \\?\ long format when needed

(cherry picked from commit 59f04e16b8)
2023-05-12 12:31:22 +02:00
2d7228251d Improve RenderingServer, RenderingDevice, ShaderGlobalsOverride documentation
This brings the overall class reference completion percentage from 87% to 92%.

(cherry picked from commit 5056c427d3)
2023-05-12 12:31:19 +02:00
813fc0940d Allow creation of rendering buffers at any time
(cherry picked from commit d4c46f15ae)
2023-05-12 12:10:35 +02:00
908325c29e Fix unsupported sampler filter used for voxel GI
(cherry picked from commit 09aa1bbdb3)
2023-04-27 08:43:30 +02:00
5120afc236 Fix crash caused by invalid mix_rate assignment due to bogus
project settings.

We'll default to a sensible value in the case that a user has
somehow managed to modify the configuration file incorrectly.

Closes 69819

(cherry picked from commit 5a08091168)
2023-04-26 14:51:00 +02:00
4c8946c080 Fix issues with Vulkan layout transitions
(cherry picked from commit 882b869220)
2023-04-26 14:48:18 +02:00
46e7f334fb [Windows] Cleanup COM library initialization/uninitialization.
(cherry picked from commit 83dc545ea2)
2023-04-26 14:14:07 +02:00
410b503aac Translate inactive particles to -INF
(cherry picked from commit 6229c2a1f9)
2023-04-24 16:28:30 +02:00
27df8b93aa Properly calculate lifetime_split for particles
(cherry picked from commit f35ca4a9c7)
2023-04-24 16:28:28 +02:00
d4c9ca3975 Ensure that depth write state is updated before transparent pass in OpenGL3 renderer
(cherry picked from commit ed0c378bda)
2023-04-24 16:28:27 +02:00
c1ec270b44 Fix "error X3708: continue cannot be used in a switch" in HTML export
(cherry picked from commit 5062df41a5)
2023-04-24 16:28:27 +02:00
aeca8f07fa Check for instancing without relying on instance_count when drawing 2D meshes
This ensures that Particles and MultiMeshes still draw when instance_count is 1

(cherry picked from commit 579ca03e88)
2023-04-24 16:28:26 +02:00
99beeb3992 Recreate swap chain when suboptimal to avoid error spam
(cherry picked from commit c9d2bc91aa)
2023-04-07 17:44:37 +02:00
ff125a638a Commit Fix for GLES3 point size not working
(cherry picked from commit f23f0a27c1)
2023-03-27 16:51:10 +02:00
34a087cc2c Incorporating the availability of screen and depth textures for the GLES3 backend
(cherry picked from commit 98697b05d8)
2023-03-27 16:32:25 +02:00
d508d0a642 Fixes a canvas item set to clip children being drawn as black if no children are visible
(cherry picked from commit f25508befb)
2023-03-14 13:59:03 +01:00
18bf2663f9 Fix AABB calculation for meshes using Skeleton2D
(cherry picked from commit 06a1fe0364)
2023-03-14 13:59:03 +01:00
278fc7538d Avoid overflow when calculating ptr address for 3D textures in RenderingDevice texture update
(cherry picked from commit 06042a23b6)
2023-03-14 13:59:02 +01:00
bc6743c96d Add proper default texture filter and repeat modes for Canvas shaders in the OpenGL3 renderer
(cherry picked from commit 46b416f3b1)
2023-03-13 21:58:51 +01:00
5662542526 Avoid copying CanvasTexture when updating proxy
(cherry picked from commit 84482ef90b)
2023-03-13 14:10:38 +01:00
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08:00
ae21832823 Merge pull request #73622 from ChibiDenDen/patch-2
Fix use-after-free for VkAttachmentReference
2023-02-21 21:15:43 +01:00
5e57205365 Merge pull request #73478 from NewDefectus/master
Use the original canvas to calculate light positioning
2023-02-21 21:14:51 +01:00
2d7db30f0d Use the original canvas to calculate light positioning 2023-02-21 11:57:16 +02:00
94831c7209 Forbid passing multiview sampler to the custom function in shaders 2023-02-21 11:23:17 +03:00
d68cfb43ef Merge pull request #73662 from BastiaanOlij/fix_opengl_wobbly_sky
Fix wobbly sky in stereoscopic OpenGL
2023-02-21 07:16:21 +01:00
c71fea4467 Merge pull request #73659 from BastiaanOlij/fix_opengl_clearscreen
Fix issue with clearing screen after part has been drawn
2023-02-21 07:16:00 +01:00
2852c9c319 Fix wobbly sky in stereoscopic OpenGL 2023-02-21 16:11:57 +11:00
67cb660532 Fix issue with clearing screen after part has been drawn 2023-02-21 14:18:23 +11:00
d104d8447b Fix use-after-free for VkAttachmentReference
In the flow where VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME does not exist
VkAttachmentReference are created inside a loop and their backing buffer is referenced in the subpass object.
the VkAttachmentReference vectors are freed once the loop exists, causing the subpass to point to freed data.

Add all the VkAttachmentReference to a vector in the scope of the entire function, to ensure they are not freed until vkCreateRenderPass is called
2023-02-20 11:54:52 +02:00
aeab31b13a Fix bufSize parameter for glGetSynciv
According to the docs:
https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glGetSynciv.xhtml
Bufsize is in integers, not bytes.
The current code overflows data unto other stack variables.
2023-02-20 11:35:28 +02:00
37589edf17 Merge pull request #73524 from clayjohn/GL-occluder
Avoid unnecessary binding of occlusion polygon vertex array
2023-02-18 16:19:44 +01:00
5bbf5b8e72 Avoid unecessary binding of occlusion polygon vertex array
By binding this and unbinding it, the state was getting modified in other parts of the pipeline
2023-02-17 13:11:25 -08:00
7f8fa79e94 OpenGL: fix culling without depth prepass
This commit ensures a known backface culling state when rendering, even
if no depth prepass is used. This fixes backside culling not being
applied properly in some situations, most notably in scenes that only
use backside culling on mobile platforms.
2023-02-17 00:01:36 +01:00