Commit Graph

3384 Commits

Author SHA1 Message Date
clayjohn a24347d041
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:01:23 +01:00
AlexOtsuka 702be5e2f2
Fix audio crackling issues due to incorrect WASAPI buffer size
(cherry picked from commit 179b0786c6)
2024-03-11 15:01:23 +01:00
ShirenY 211dd2fb53 Transform mesh's AABB to skeleton's space when calculate mesh's bounds.
(cherry picked from commit 27f71c4e78)
2024-01-24 18:54:11 +01:00
Rémi Verschelde 329f2ce49b 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 18:20:39 +01:00
Pedro J. Estébanez 62485a51fd Remove superfluous locking in RID owners in Vulkan RD
(cherry picked from commit 72bf8dfecf)
2024-01-24 18:12:40 +01:00
Pedro J. Estébanez 4b71c38e47 Remove redundant explicit clears in the Vulkan RD
(cherry picked from commit 4964d9a083)
2024-01-24 18:12:40 +01:00
clayjohn dc6ae4a8f0 Disable scissor test after rendering batches in compatibility renderer
(cherry picked from commit 062e8802b7)
2024-01-24 18:04:32 +01:00
Alessandro Famà 1fa33b6072 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 18:00:49 +01:00
LRFLEW 38037bae47 Fix transparent viewport backgrounds with custom clear color
(cherry picked from commit 6effd3cde7)
2024-01-23 22:40:53 +01:00
HolySkyMin c51b59c1fc GLES3: Skip batches with zero instance count while rendering
(cherry picked from commit 51dcb38840)
2024-01-23 20:22:00 +01:00
Gabor Koncz 46bcfa82e1 Remove incorrect system_fbo overwrite
(cherry picked from commit 0198eedb06)
2024-01-23 19:15:03 +01:00
Pedro J. Estébanez 1aeff1a7a5 [GLES3] Avoid freeing proxy textures clearing onwer's data
(cherry picked from commit a67559931b)
2024-01-23 17:38:48 +01:00
David Snopek 10eafe236c Fix `GPUParticles3D` on the Meta Quest 2 with OpenGL renderer
(cherry picked from commit 58775a6c67)
2023-10-24 19:51:53 +02:00
bitsawer dac7049e16 Fix errors when freeing GPUParticles
(cherry picked from commit 898d1a2d5f)
2023-10-24 19:00:16 +02:00
clayjohn 51fd44318f Avoid default fallback material when using world_vertex_coords
This avoids z-fighting between the opaque shader and the depth prepass shader

(cherry picked from commit 04846c1d6d)
2023-10-24 19:00:16 +02:00
bitsawer 75671b7937 Fix GLES3 instanced rendering color and custom data defaults
(cherry picked from commit 6f88ed73be)
2023-10-24 18:59:55 +02:00
jsjtxietian a8e67284a9 Fix clear color's alpha value will affects 2D editor in Compatibility mode
When the rt's transparency is false, force the alpha of the clear color to one

(cherry picked from commit e21a485dbc)
2023-10-24 16:33:54 +02:00
bitsawer 7d76bcbac6 Fix Vulkan multithreaded compute list and GPU particle processing
(cherry picked from commit 5d18e2ee00)
2023-10-24 16:05:00 +02:00
Adam Scott 6318354212 Fix integer value for GL_MAX_UNIFORM_BLOCK_SIZE overflowing
(cherry picked from commit 9c7db7397f)
2023-09-21 15:28:24 +02:00
bitsawer 8d22e58063 Fix GLES3 multimesh rendering when using colors or custom data
(cherry picked from commit 9897f1cfb9)
2023-09-21 15:28:24 +02:00
jsjtxietian 2e71f6a806 fix glMapBufferRange return null when r_index + last_item_index > max_instances
(cherry picked from commit d48b95a305)
2023-09-21 15:12:59 +02:00
bitsawer 904582b4a8 Fix Vulkan texture update
(cherry picked from commit 3daa19dd95)
2023-09-21 14:09:19 +02:00
clayjohn 5261d12a66 Enable depth writes during shadow pass and depth pass. Disable during color pass
This fixes an unreported performance bug. Basically, without this change, the depth prepass did nothing

(cherry picked from commit b986afed46)
2023-09-21 13:50:25 +02:00
Adam Scott 4f59255059 Fix file permissions for the web platform
(cherry picked from commit b6faccccd5)
2023-09-21 13:34:46 +02:00
A Thousand Ships 4e539028fb Fix memory access error for `MultiMesh` with GLES3
Buffer was incorrectly assigned when invalid data was provided

(cherry picked from commit 6cb28e481f)
2023-09-20 22:44:04 +02:00
Malcolm Nixon d7f7c92f61 Unbind the framebuffer when updating meshes.
While the vertex shaders used to update the meshes aren't actually rendering to the framebuffer, they may still refuse to run with some framebuffers bound - such as XR with multiple views.

(cherry picked from commit 679f5bf410)
2023-08-31 20:19:31 +02:00
LRFLEW e47abd790a GLES3: Don't call glTexParameter* for invalid filter and repeat modes
(cherry picked from commit 3e9173f11a)
2023-08-31 20:19:31 +02:00
LRFLEW f8ffad873a GLES3: reset anisotropic filtering when changing texture filtering mode
(cherry picked from commit 90f0e97eb9)
2023-08-31 20:19:31 +02:00
Fabio Alessandrelli f6e436c34c [Net] Explicitly handle buffer errors in send/recv
(cherry picked from commit 28001b9ef6)
2023-08-31 20:19:30 +02:00
Rémi Verschelde fc63a8d349 libpng: Enable intrinsics on x86/SSE2, ppc64/VSX, and all arm/NEON
(cherry picked from commit 2c9b7fc7a8)
2023-08-31 19:26:49 +02:00
Kamil Brzoskowski 6becf94f49 Fix formatting of dlopen error message on Windows
And harmonize the format for all platforms.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit 3cd865dbe8)
2023-07-10 18:09:57 +02:00
clayjohn 7447946dd1 Avoid freeze when interacting with menus on Wayland by re-aquiring next swapchain image after updating swapchain
(cherry picked from commit df021b5063)
2023-07-10 18:09:57 +02:00
Joe Marshall fa6fb0ac70 fix threading bug in vulkan rendering device
(cherry picked from commit c52fadbe75)
2023-07-10 17:46:08 +02:00
Hugo Locurcio e32330473a Remove uses of `vformat()` with no placeholders
This is identical to passing the string directly.

(cherry picked from commit dcc92c174e)
2023-07-10 17:46:07 +02:00
clayjohn bc9bc236c0 Initialize particles instance buffer in case it is used before being updated
(cherry picked from commit 35ed7c770b)
2023-07-10 17:11:22 +02:00
clayjohn 7c37a32897 Use a filter with mipmaps when initializing textures with mipmaps in GL Compatibility renderer
This works around a driver bug in some older devices and should be harmless on any spec-compliant device
2023-06-26 10:45:24 -07:00
clayjohn cc89321c9c Reset filter/repeat state of textures in GL Compatibility renderer when render target is cleared 2023-06-23 10:57:56 -07:00
Brecht Kuppens 55fc56bfd4 Moved variables closer to usage to fix unused variable warning 2023-06-22 23:01:09 +02:00
Rémi Verschelde cb73a6e9f9
Merge pull request #78490 from clayjohn/GLES3-particles-subemit
Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
2023-06-22 21:02:38 +02:00
Qiqi Wu df740f6865 free color and depth texture after check framebuffer complete failed 2023-06-22 09:13:24 +08:00
clayjohn 8a5af8183a Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-06-21 12:56:52 -07:00
bitsawer dab0871d41 Fix invalid RID errors when freeing a mesh with blend shapes 2023-06-19 11:07:15 +03:00
bruvzg 131e49bf13
[Unix] Fix temporary file permissions. 2023-06-16 23:34:27 +03:00
Qiqi Wu c8e3f00e5d GLES3: Remove unimplemented texture_create() declaration 2023-06-16 18:58:23 +08:00
Rémi Verschelde 7dddd8a22c
Merge pull request #78302 from clayjohn/GLES3-screen-warning
Remove outdated warning when using screen texture in GL Compatibility renderer
2023-06-16 10:23:27 +02:00
Rémi Verschelde 9e81aeda33
Merge pull request #78287 from clayjohn/GLES3-texture-replace
Copy texture filter/repeat modes when replacing a texture in the GL Compatibility backend
2023-06-16 10:23:03 +02:00
Rémi Verschelde 1710a7d303
Merge pull request #78285 from clayjohn/GLES3-viewport-filter
Ensure filter/repeat is cached by Viewport texture in GL Compatibility renderer
2023-06-16 10:22:33 +02:00
clayjohn 36a005fafc
Add RENDERING_INFO parameters to GL Compatibility renderer
This also fixes RENDERING_INFO_TOTAL_PRIMITIVES_IN_FRAME for the RD renderers as it was incorrectly reporting vertex/index count at times

This also adds memory tracking to textures and buffers to catch memory leaks.

This also cleans up some memory leaks that the new system caught.
2023-06-16 09:10:00 +02:00
clayjohn 8a7f02addb Remove outdated warning when using screen texture in GL Compatibility renderer 2023-06-15 18:48:50 -07:00
clayjohn 96b2743782 Ensure filter/repeat is cached by Viewport texture in GL Compatibility renderer 2023-06-15 13:08:55 -07:00