Commit Graph

3546 Commits

Author SHA1 Message Date
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
Rémi Verschelde 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
Adam Chyb b9446dde7e Fix reading shadow filter quality from project settings in compatibility
Fixes #83380.
2023-10-26 23:57:42 +11:00
Rémi Verschelde 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
Rémi Verschelde 815b24d280
Merge pull request #83491 from jsjtxietian/pass-screen-size-when-render-shadow
Pass viewport size to shadow pass instead of using Vector2i(1,1)
2023-10-26 12:09:21 +02:00
bruvzg 2d0cd5f2cd
Fix macOS and Windows build with statically linked ANGLE/EGL. 2023-10-26 12:15:59 +03:00
jsjtxietian 26d32554bd Pass viewport size to shadow pass instead of using vector2i(1,1) 2023-10-26 15:25:22 +08:00
Rémi Verschelde 1b3e00dc29
Merge pull request #83930 from underdoeg/feature-support-egl-1-4
Add support for EGL 1.4
2023-10-26 08:58:46 +02:00
Philip Whitfield 249aed43bf add support for EGL 1.4 2023-10-25 12:08:48 +02:00
Rémi Verschelde f021d33940
Merge pull request #81167 from bitsawer/fix_sdfgi_editor_change
Reset SDFGI when changing editor scene tabs
2023-10-25 10:27:03 +02:00
clayjohn a88e519f18 Add padding to normal attribute in Compatibility renderer to match the RD renderers 2023-10-24 22:32:34 +02:00
Rémi Verschelde 261fe7ce6a
Merge pull request #83704 from clayjohn/misc-mesh-fixes
Some more fixes for compressed meshes
2023-10-24 10:54:23 +02:00
Rémi Verschelde 64f80295e5
Merge pull request #83199 from Repiteo/texture-storage-default-scale
Fix `TextureStorage` not assigning default scale
2023-10-24 10:53:56 +02:00
clayjohn 8f9cd4e1e3 Some more fixes for compressed meshes
This cleans up a few more cases of uint32_t->uint64_t

Importantly this fixes an edge case in the axis-angle compression by
using the pre-existing Basis methods instead
2023-10-24 09:38:12 +02:00
Rémi Verschelde 50d17f6b8c
Merge pull request #83613 from clayjohn/surface_upgrade_tool
Add an editor tool to automatically upgrade and re-save meshes
2023-10-24 00:10:37 +02:00
clayjohn 318ef8461f Implementation of tool to automatically upgrade and re-save meshes 2023-10-23 22:39:48 +02:00
Rémi Verschelde 814de86494
Merge pull request #83493 from clayjohn/light-pair-bug
Ensure that only visible paired lights are used
2023-10-23 12:40:07 +02:00
David Snopek 58775a6c67 Fix `GPUParticles3D` on the Meta Quest 2 with OpenGL renderer 2023-10-21 16:49:24 -05:00
Pedro J. Estébanez 7e598642d2 Bump version of Vulkan RD binary shader format 2023-10-18 17:45:10 +02:00
Clay 623a050269 Ensure that only visible paired lights are used
This is a longstanding issue in both the Mobile and GL Compatibility renderer.

Meshes pair with all lights that touch them, and then at draw time, we send all paired lights indices to the shader (even if that light isn't visible). The problem is that non-visible lights aren't uploaded to the GPU and don't have an index. So we end up using a bogus index
2023-10-17 13:02:46 +02:00