Commit Graph

3562 Commits

Author SHA1 Message Date
562613ac37 Make Overdraw, Lighting and Shadow Splits debug draw modes ignore decals
This also makes the Overdraw and Shadow Splits debug draw modes ignore fog.
The Lighting debug draw mode still displays fog as that debug draw mode
is intended to preview scene lighting, and fog has an impact on how
lighting is perceived.

(cherry picked from commit 26a220bd31)
2024-03-12 00:38:27 +01:00
51d7ffde6d implement overdraw, lighting, and unshaded debug draw modes for opengl
(cherry picked from commit c8bdd1d774)
2024-03-12 00:38:27 +01:00
1e55de9b8b [Windows] Fix windows is_path_invalid, and apply it to directory creation.
(cherry picked from commit be8f60a78d)
2024-03-11 17:28:55 +01:00
14bd7d061f Fix shader cache with transform feedback on some android devices
(cherry picked from commit d31d3e503e)
2024-03-11 15:00:44 +01:00
ACB
f4ac543b99 Make RID_Owner<Texture> threadsafe in TextureStorage for gles3
(cherry picked from commit 09d2c09434)
2024-03-11 15:00:44 +01:00
8e31ea244b Significantly improve the speed of shader compilation in compatibility backend
Compile the unlit version by default to save on both cache size and compile time

(cherry picked from commit f1781fe9d1)
2024-03-11 15:00:44 +01:00
9926e7e8fa Add shader_cache_dir_valid check to _save_to_cache
(cherry picked from commit a365c070b3)
2024-03-11 15:00:44 +01:00
2ec1d8043c Store ArrayMesh path in RenderingServer for use in error messages
(cherry picked from commit ead36fdcc4)
2024-03-11 15:00:43 +01:00
4b7d5eb4e1 Fix audio crackling issues due to incorrect WASAPI buffer size
(cherry picked from commit 179b0786c6)
2024-03-11 15:00:42 +01:00
6c8375b73d Fix NetBSD Executable Path
(cherry picked from commit 52da1e9b6b)
2024-01-25 18:45:02 +01:00
93fd5da49c Add wireframe for compatibility mode
(cherry picked from commit bae6f86257)
2024-01-25 18:32:35 +01:00
663ba67016 Fix 2D normals for transposed texture
(cherry picked from commit 0fe7eead02)
2024-01-25 18:08:45 +01:00
03ec65203c Disable scissor test after rendering batches in compatibility renderer
(cherry picked from commit 062e8802b7)
2024-01-24 16:38:29 +01:00
acaa906093 Fix Dummy audio driver initialization issue on WASAPI output device initialization failure
`AudioDriverWASAPI::init` consistently returns `Error::OK`, even when encountering a failure during the initialization of the output device. This behaviour blocks the dummy driver from initializing in `AudioDriverManager::initialize`.

(cherry picked from commit 998078f8d7)
2024-01-24 16:38:27 +01:00
52b3d2915a Only copy the relevant portion of the screen when copying to backbuffer in Compatibility backend
(cherry picked from commit e69968b794)
2024-01-24 15:57:59 +01:00
ed06389a34 Style: Mark clang-format 16 as supported for pre-commit hook
It only introduced a difference in a .glsl file, which I've worked
around by removing an empty line. This keeps formatting consistent
between clang-format 15 and 16.

Also added a change in the 3-to-4 project converter to fix bogus
formatting in clang-format < 17.

(cherry picked from commit 49f4860ce3)
2024-01-24 15:57:59 +01:00
b05514dd0d Fix radiance for sky in GLES stereo rendering
(cherry picked from commit e06ac4d40c)
2024-01-24 15:56:51 +01:00
045b1d5990 Transform mesh's AABB to skeleton's space when calculate mesh's bounds.
(cherry picked from commit 27f71c4e78)
2024-01-24 15:56:50 +01:00
fe834981e1 Remove superfluous locking in RID owners in Vulkan RD
(cherry picked from commit 72bf8dfecf)
2024-01-24 15:56:50 +01:00
c605bacdc9 Remove redundant explicit clears in the Vulkan RD
(cherry picked from commit 4964d9a083)
2024-01-24 15:56:50 +01:00
fc15ffed1e GLES3: Skip batches with zero instance count while rendering
(cherry picked from commit 51dcb38840)
2023-12-11 12:43:30 +01:00
4cce0d9711 Ensure that 2D meshes use a proper input mask
The input mask was wrongly ignored in earlier versions. Now it is actually used so the input mask variable needs to be a valid number

(cherry picked from commit 777d6ae1c6)
2023-12-11 11:41:59 +01:00
6e4a7eecf5 Vulkan: Fix incorrect access to the buffers on Android
(cherry picked from commit 04a142cf71)
2023-12-07 10:27:07 +01:00
bca878ffd9 Use vertex input mask for creating vertex arrays
Also fix bug in creation of vertex input mask

(cherry picked from commit c0c1efc5da)
2023-12-07 10:27:06 +01:00
2cbe02ad70 Add shadows_disabled macro in Compatibility renderer
(cherry picked from commit 716fd3edfc)
2023-12-07 10:27:03 +01:00
a813176bb3 Fix buffer updates going to the wrong cmd buffer if barriers were 0
From what I could see only SSAO & SSIL were affected when they both
call:

int zero[1] = { 0 };
RD::get_singleton()->buffer_update(ssao.importance_map_load_counter, 0,
sizeof(uint32_t), &zero, 0);

int zero[1] = { 0 };
RD::get_singleton()->buffer_update(ssil.importance_map_load_counter, 0,
sizeof(uint32_t), &zero, 0);

Also documented what setup_command_buffer & draw_command_buffer are for.

(cherry picked from commit c9ec1f7727)
2023-12-07 10:27:02 +01:00
8d9d58b9b7 Automatically ensure correct normals in Compatibility renderer
(cherry picked from commit f31371c04e)
2023-12-07 10:27:01 +01:00
bd74d92ef7 Merge pull request #84957 from BastiaanOlij/fix_msaa2d_when_no_2d
Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene
2023-11-22 21:56:23 +01:00
47983e30c5 Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene 2023-11-16 13:34:34 +11:00
0198eedb06 Remove incorrect system_fbo overwrite 2023-11-16 01:56:20 +01:00
787e98e955 Merge pull request #84752 from akien-mga/gles3-shaderdata-initialize
GLES3: Ensure all ShaderData is properly initialized in `set_code`
2023-11-13 12:20:33 +01:00
ef2cc1cc2b Merge pull request #84741 from lawnjelly/bogus_shader_log
[GLES3] Protect against bogus `glGetShaderInfoLog` return values.
2023-11-12 12:15:31 +01:00
ba713c80df Fix various typos with codespell
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +01:00
0e04203293 GLES3: Ensure all ShaderData is properly initialized in set_code
Fixes #84418.
2023-11-11 15:13:23 +01:00
593cdf00ff [GLES3] Protect against bogus glGetShaderInfoLog return values.
On some buggy drivers `GL_INFO_LOG_LENGTH` returns incorrect values, which may lead to incorrectly filling in the log string. This could lead to uninitialized data being attempted to be printed and a crash.
This PR zeros the array to ensure uninitialized data is not used.
2023-11-11 06:56:46 +00:00
9c5adac342 Properly rename INSTANCE_ID and VERTEX_ID in canvas item shaders in the compatibility backend 2023-11-07 17:55:51 +01:00
95b8a75aaf Merge pull request #84288 from bruvzg/angle_detect_2
[macOS] Improve ANGLE support detection.
2023-11-02 09:11:55 +01:00
44a54f4500 Merge pull request #84252 from clayjohn/ensure_tangents
Enhance checks and user experience around tangent arrays in meshes.
2023-11-02 09:11:32 +01:00
d1043a5f93 Enhance checks and user experience around tangents.
Ensure `ensure_tangents` option actually creates tangent array. Even if it is just a dummy array.

Allow mesh to generate its own tangents when using compression. This allows users to compress meshes without tangents.

Warn users if they are trying to read from tangents without providing tangents.
2023-11-01 22:40:42 +01:00
4c74c7d11a [macOS] Improve ANGLE support detection.
Try opening EGL display when checking if ANGLE is supported.
2023-11-01 08:34:35 +02:00
67d8102f95 Fix WebXR on desktop emulator by reseting active texture unit 2023-10-31 16:18:38 -05:00
a039d0b61a Linux: Disable RTLD_DEEPBIND mode for dlopen() in sanitizer builds 2023-10-30 16:16:08 -05:00
dcbee437f7 Merge pull request #84197 from bruvzg/opengl_utf8
Parse OpenGL and Vulkan strings as UTF-8.
2023-10-30 17:47:51 +01:00
25dc729dd4 Parse OpenGL and Vulkan strings as UTF-8. 2023-10-30 17:24:31 +02:00
acbc341a58 OpenGL: Fix uninitialized memory usage for GPUPartciles interp_to_end
Fixes #84072.
2023-10-30 15:08:24 +01:00
c5c90fd7b7 Merge pull request #83998 from chybby/83380-soft-shadows
Fix reading shadow filter quality from project settings in compatibility
2023-10-26 16:02:08 +02:00
2dafd06114 Merge pull request #83906 from clayjohn/GL-vertex-padding
Add padding to normal attribute in Compatibility renderer to match the RD renderers
2023-10-26 16:00:56 +02:00
253711ec98 Merge pull request #82430 from RandomShaper/fix_gles3_tex_free
[GLES3] Avoid freeing proxy textures clearing onwer's data
2023-10-26 15:58:55 +02:00
b9446dde7e Fix reading shadow filter quality from project settings in compatibility
Fixes #83380.
2023-10-26 23:57:42 +11:00
46cb7f94f7 Merge pull request #83988 from bruvzg/egl_static
Fix macOS and Windows build with statically linked ANGLE/EGL.
2023-10-26 12:10:56 +02:00