Commit Graph

3565 Commits

Author SHA1 Message Date
MarianoGnu 63be8ecbb2 Make an early return when rendering buffer failed to allocate instead of crashing 2024-07-05 15:33:57 -03:00
clayjohn b5660604e4 Avoid switch statement in glsl files to workaround shader compiler crash on macOS devices 2024-05-01 20:56:53 -07:00
ArthasMenethil 28abd259f7
Fix OpenGL: _shadow_atlas_find_shadow: Condition "!sli" is true.
(cherry picked from commit 17e489b93d)
2024-04-08 15:48:30 +02:00
Hugo Locurcio 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
Dominic Austria 51d7ffde6d
implement overdraw, lighting, and unshaded debug draw modes for opengl
(cherry picked from commit c8bdd1d774)
2024-03-12 00:38:27 +01:00
bruvzg 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
ArthasMenethil 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
clayjohn 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
jsjtxietian 9926e7e8fa
Add shader_cache_dir_valid check to _save_to_cache
(cherry picked from commit a365c070b3)
2024-03-11 15:00:44 +01:00
clayjohn 2ec1d8043c
Store ArrayMesh path in RenderingServer for use in error messages
(cherry picked from commit ead36fdcc4)
2024-03-11 15:00:43 +01:00
AlexOtsuka 4b7d5eb4e1
Fix audio crackling issues due to incorrect WASAPI buffer size
(cherry picked from commit 179b0786c6)
2024-03-11 15:00:42 +01:00
Samuel Venable 6c8375b73d Fix NetBSD Executable Path
(cherry picked from commit 52da1e9b6b)
2024-01-25 18:45:02 +01:00
Dominic 93fd5da49c Add wireframe for compatibility mode
(cherry picked from commit bae6f86257)
2024-01-25 18:32:35 +01:00
kleonc 663ba67016 Fix 2D normals for transposed texture
(cherry picked from commit 0fe7eead02)
2024-01-25 18:08:45 +01:00
clayjohn 03ec65203c Disable scissor test after rendering batches in compatibility renderer
(cherry picked from commit 062e8802b7)
2024-01-24 16:38:29 +01:00
Alessandro Famà 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
clayjohn 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
Rémi Verschelde 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
Bastiaan Olij b05514dd0d Fix radiance for sky in GLES stereo rendering
(cherry picked from commit e06ac4d40c)
2024-01-24 15:56:51 +01:00
ShirenY 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
Pedro J. Estébanez fe834981e1 Remove superfluous locking in RID owners in Vulkan RD
(cherry picked from commit 72bf8dfecf)
2024-01-24 15:56:50 +01:00
Pedro J. Estébanez c605bacdc9 Remove redundant explicit clears in the Vulkan RD
(cherry picked from commit 4964d9a083)
2024-01-24 15:56:50 +01:00
HolySkyMin fc15ffed1e GLES3: Skip batches with zero instance count while rendering
(cherry picked from commit 51dcb38840)
2023-12-11 12:43:30 +01:00
clayjohn 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
Alexander Hartmann 6e4a7eecf5
Vulkan: Fix incorrect access to the buffers on Android
(cherry picked from commit 04a142cf71)
2023-12-07 10:27:07 +01:00
clayjohn 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
jsjtxietian 2cbe02ad70
Add shadows_disabled macro in Compatibility renderer
(cherry picked from commit 716fd3edfc)
2023-12-07 10:27:03 +01:00
Matias N. Goldberg 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
BlueCube3310 8d9d58b9b7
Automatically ensure correct normals in Compatibility renderer
(cherry picked from commit f31371c04e)
2023-12-07 10:27:01 +01:00
Rémi Verschelde 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
Bastiaan Olij 47983e30c5 Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene 2023-11-16 13:34:34 +11:00
Gabor Koncz 0198eedb06 Remove incorrect system_fbo overwrite 2023-11-16 01:56:20 +01:00
Rémi Verschelde 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
Rémi Verschelde 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
Rémi Verschelde ba713c80df
Fix various typos with codespell
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +01:00
Rémi Verschelde 0e04203293
GLES3: Ensure all ShaderData is properly initialized in set_code
Fixes #84418.
2023-11-11 15:13:23 +01:00
lawnjelly 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
clayjohn 9c5adac342 Properly rename INSTANCE_ID and VERTEX_ID in canvas item shaders in the compatibility backend 2023-11-07 17:55:51 +01:00
Rémi Verschelde 95b8a75aaf
Merge pull request #84288 from bruvzg/angle_detect_2
[macOS] Improve ANGLE support detection.
2023-11-02 09:11:55 +01:00
Rémi Verschelde 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
clayjohn 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
bruvzg 4c74c7d11a
[macOS] Improve ANGLE support detection.
Try opening EGL display when checking if ANGLE is supported.
2023-11-01 08:34:35 +02:00
David Snopek 67d8102f95 Fix WebXR on desktop emulator by reseting active texture unit 2023-10-31 16:18:38 -05:00
David Snopek a039d0b61a Linux: Disable RTLD_DEEPBIND mode for dlopen() in sanitizer builds 2023-10-30 16:16:08 -05:00
Rémi Verschelde 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
bruvzg 25dc729dd4
Parse OpenGL and Vulkan strings as UTF-8. 2023-10-30 17:24:31 +02:00
Rémi Verschelde acbc341a58
OpenGL: Fix uninitialized memory usage for GPUPartciles `interp_to_end`
Fixes #84072.
2023-10-30 15:08:24 +01:00
Rémi Verschelde 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
Rémi Verschelde 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