3892 Commits

Author SHA1 Message Date
81c1e8f9ad [Windows] Rename PKEY_Device_FriendlyName to avoid duplicate symbols with newer MinGW SDKs.
(cherry picked from commit c363e13051)
2025-10-28 21:53:18 +01:00
e6522a4e1c CI: Sync configuration with 4.4 branch
Includes cherry-picks of warning fixes from a44f691fc7
and 8d1462c748.
2025-04-24 23:55:20 +02:00
2f88ea9d0e Correctly check time since shadow was allocated in atlas to avoid unnecessary re-allocations
Co-authored-by: jitspoe <jitspoe@yahoo.com>
(cherry picked from commit 1b5a15d5d1)
2025-02-07 14:00:02 +01:00
c2a3644072 Clean up two recently introduced WebGL errors
(cherry picked from commit 0305e437ff)
2025-02-07 14:00:02 +01:00
90f21a35c7 Move Vulkan includes to a central godot_vulkan.h header
Also fixes Vulkan build problem with recent Clang.

(cherry picked from commit 146ba4106f)
2024-12-16 11:36:53 +01:00
3a2804a7e7 Fix for GLES3 radiance cubemap update
(cherry picked from commit 3038de4245)
2024-09-17 10:00:12 +02:00
34251cf5b3 [Windows] Use GetFileTime for FileAccess
Prevents DST from rearranging file times.

(cherry picked from commit 7139f46c9a)
2024-09-17 08:57:45 +02:00
4addddd8df Compatibility: Fix alignment of compressed textures when retrieving
(cherry picked from commit 0182294b37)
2024-09-17 08:57:45 +02:00
3fac9e43af Fixed OpenGL shadow textures not honoring texture type when reusing textures
(cherry picked from commit 359aaa48ee)
2024-09-17 08:57:44 +02:00
281642831c Enable MSAA support for all non-web platforms
MSAA support is built into GLES3 core, eliminating the need to check for GL_EXT_framebuffer_multisample, which was necessary only in GLES2 due to the lack of inherent multisample framebuffer support. This commit corrects an oversight from GLES2-based code, ensuring compatibility with GLES3 where multisampling is natively supported without extensions.

(cherry picked from commit fc955fa89f)
2024-09-17 08:57:44 +02:00
e09cada53f Only use backbuffer mipmaps in SCREEN_TEXTURE when generated.
(cherry picked from commit d2f5c1a552)
2024-09-17 08:57:43 +02:00
2b05cf154a Sky: No more auto-selecting REALTIME mode if radiance is not 256
(cherry picked from commit 44e526d3d5)
2024-09-17 08:57:43 +02:00
af8caffd0e Fix shadow mesh recursion.
(cherry picked from commit 70860aafd8)
2024-09-17 08:57:43 +02:00
0a1724f713 Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases

(cherry picked from commit f4ccba7508)
2024-09-17 08:57:41 +02:00
8e1d1a54fe Compatibility: Fix crash when initializing certain compressed layered textures
(cherry picked from commit e8b4568900)
2024-09-16 17:18:24 +02:00
139f5ee15e Add model_normal_matrix for fragment shader
(cherry picked from commit e698351db2)
2024-09-16 17:09:36 +02:00
ecbb9a9c6a Fix GLES3 crash with Mesh surface with exactly 65536 vertices
Fixes #95837.

(cherry picked from commit bde165ccb3)
2024-09-16 17:09:12 +02:00
f0f69a7b7c Fix Parallax2D repeats being not relative to its transform
(cherry picked from commit 1bd8372813)
2024-09-16 17:04:12 +02:00
6c202154a7 Add fixed fog to the sky in the Compatibility renderer
And apply luminance multiplier after fog in RD renderer

(cherry picked from commit 578049b7b9)
2024-09-16 17:01:45 +02:00
6e78eec37f Fix reload of GDExtension libraries in framework package on macos
`GDExtension::open_library` has a check in it to see if the library was loaded
from a temp file, and if it was to restore the original name as that is the one
we actually care about. This check is breaking extension reloading on Mac when
the library path is to a framework folder, as the file inside the framework
will not generally be the same name as the folder.

This check also shouldn't be necessary even on Windows, which is the only
platform that uses `generate_temp_files`, since disposal of the created temp
file is handled within `OS_Windows::open_dynamic_library`, and
`GDExtension::open_library` (which is the only function to call
`open_dynamic_library` with a `p_data` argument) only cares about the original
library file path and has to do extra work to remove the name of the temp file.
Instead, I have removed that check and set `OS_Windows::open_dynamic_library`
to return the name of the original file and not the name of the copy.

This fixes GDExtension reloading on macOS. I do not have a Windows machine
available to test that it still works properly on Windows, so someone should
check that before merging this.

(cherry picked from commit f44d6a235f)
2024-09-16 16:55:39 +02:00
c831bdbbe2 D3D12: Be explicit about all-resources texture barriers
(cherry picked from commit 3260437afc)
2024-09-16 16:45:55 +02:00
b84dbab84d Fix undefined alpha_scissor in standard shader
(cherry picked from commit 970a237c20)
2024-09-16 16:42:01 +02:00
cbee16418a Increase precision of skeleton transforms in the skeleton shader in the Compatibility renderer
(cherry picked from commit 1bf594fb5a)
2024-09-16 16:33:38 +02:00
a7756d530e Fixed crash on PowerVR GE8320 GPUs
(cherry picked from commit 1c31e30359)
2024-09-16 16:32:56 +02:00
e1af61467a OpenGL: Unconditionally do glDisable(GL_FRAMEBUFFER_SRGB) because we do our own sRGB conversion
(cherry picked from commit dfcff4ef46)
2024-09-16 16:30:06 +02:00
32eb97fd2a Merge pull request #95074 from RandomShaper/d3d12_exit_crash
D3D12: Avoid crash on exit
2024-08-08 10:16:24 +02:00
33bd994087 D3D12: Avoid crash on exit 2024-08-02 18:18:10 +02:00
8cf2903c7f D3D12: Avoid cases of redundant render target clears 2024-08-02 14:26:17 +02:00
1eb0039b6e Fix regression around OpenGL swapchain optimisation for OpenXR 2024-07-29 12:46:58 +10:00
7eac9e855b Remove linearization of canvas modulate in GLES3 backend
The GLES3 renderer is always in sRGB space, even when using an HDR format
2024-07-24 10:27:25 -07:00
6f30df4b6a Linearize color if HDR 2D is on 2024-07-24 09:49:50 +02:00
ad1955a63d Merge pull request #94628 from Chaosus/rendering_fix_crash
Fix crash when assigning more textures than expected to texture array
2024-07-23 13:08:18 +02:00
6a79d848a8 Merge pull request #94564 from rothej/fix-94183
Fix FOG shader issue in Compatibility mode
2024-07-23 13:08:12 +02:00
d751545391 Fix FOG shader issue in Compatibility mode 2024-07-23 11:25:10 +02:00
fa8b4d84fb GLES3: Fix directional shadow on Metal ANGLE 2024-07-23 11:24:13 +02:00
574e61a542 Fix crash when assigning more textures than expected to texture array 2024-07-22 20:51:11 +03:00
6621d8e8cc Merge pull request #93931 from /fix-compatibility-depth_prepass_alpha 2024-07-20 16:07:30 +02:00
0445ccf428 Fix Image CowData crash when baking large lightmaps
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.

VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +02:00
de27d3a7fc Merge pull request #94233 from ChristopheClaustre/screenshot_compat_broken_with_hdr
Fix black `get_texture()` on viewport in compatibility mode with HDR enabled
2024-07-18 10:45:30 +02:00
590628feda Merge pull request #86516 from jsjtxietian/fix-camera-direction
Fix incorrect `CAMERA_DIRECTION_WORLD` calculation
2024-07-18 10:45:20 +02:00
ffd6162c76 Merge pull request #94267 from RandomShaper/d3d12_db
D3D12: Avoid enabling depth bounds test if unsupported
2024-07-17 11:43:39 +02:00
a8adb2bbc3 D3D12: Avoid enabling depth bounds test if unsupported 2024-07-15 09:49:34 +02:00
1aa1a1879d Merge pull request #94203 from RandomShaper/bye_bye_dxil_dll
D3D12: Get rid of `DXIL.dll`!
2024-07-11 23:16:59 +02:00
626106da00 gl_type_cache is used mainly for texture to image conversion need to be adjusted for when HDR format is activated 2024-07-11 21:47:18 +02:00
ee2c1584e4 D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
247a481001 Fix a couple GCC 14 -Wmaybe-uninitialized warnings 2024-07-09 16:12:22 +02:00
5b213dcd26 Use GL_COLOR_ATTACHMENT in depth prepass when using Multiview.
I am certain this is a driver bug. But on some devices when no draw buffer is specified, the depth operations fail when there is no color buffer.
2024-07-08 12:52:20 -07:00
af62d15ebc fix depth_prepass_alpha not work in compatibility mode 2024-07-04 17:38:14 +08:00
643da5dfad Merge pull request #93331 from dsnopek/macos-fix-use-volk
Fix building with `use_volk=yes` on MacOS
2024-07-04 11:31:51 +02:00
207f523441 D3D12: Use the right state for resources in certain heap types 2024-07-01 08:06:26 +02:00