Rémi Verschelde
5e58bcd793
Merge pull request #88205 from 0x0ACB/thread_safe_texture_rid
...
Make `RID_Owner<Texture>` threadsafe in `TextureStorage` for GLES3
2024-02-13 23:43:40 +01:00
Rémi Verschelde
404f226d1d
Merge pull request #88254 from bruvzg/dxil_load
...
[D3D12] Improve shader validation handling.
2024-02-13 11:25:14 +01:00
Rémi Verschelde
d3a8ae8b86
Merge pull request #88144 from GNSS-Stylist/ConDotFix
...
Fix invalid file path handling in Windows when there is dot in the file name
2024-02-13 11:25:01 +01:00
GNSS-Stylist
c5e1b327c6
Fix invalid file path handling in Windows when there is dot in the file name
...
This basically re-adds dot-removal removed by the previous commit.
2024-02-13 10:39:03 +01:00
Erik Johnson
eab95698cd
Fix shadows for billboarded Sprite3D's
2024-02-13 10:36:38 +01:00
bruvzg
1a2f9741cf
[D3D12] Improve shader validation handling.
2024-02-13 11:27:48 +02:00
Pedro J. Estébanez
5a0ae10f58
Direct3D 12: Fix cubemap slicing
2024-02-12 16:08:27 +01:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
Rémi Verschelde
b8b0eea1f8
Merge pull request #87570 from RandomShaper/d3d12_defensive
...
Direct3D 12: Make format feature check more defensive
2024-02-12 13:34:09 +01:00
ACB
09d2c09434
Make `RID_Owner<Texture>` threadsafe in `TextureStorage` for gles3
2024-02-11 17:23:00 +01:00
A Thousand Ships
684752e75b
Replace error checks against `size` with `is_empty`
2024-02-09 12:50:15 +01:00
bruvzg
be8f60a78d
[Windows] Fix windows is_path_invalid, and apply it to directory creation.
2024-02-09 10:47:07 +02:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
...
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
Rémi Verschelde
7223c5b54a
Fix various typos with codespell
...
Using 2.2.7.dev115+g0eb441d6.
Had to add `cancelled` to the ignore list, as it's a Wayland signal which
we're handling in our code, so we don't want codespell to fix that "typo".
Also includes the typo fix from #87927 .
Co-authored-by: Divyanshu Shekhar <61140213+divshekhar@users.noreply.github.com>
2024-02-07 11:09:34 +01:00
Alula
ea229f5148
OpenGL: Implement 3D Texture support
2024-02-05 20:10:39 +01:00
Rémi Verschelde
efa587ad36
Merge pull request #87795 from RandomShaper/d3d12_dont_leak_please
...
Direct3D 12: Avoid terrible leak related to command allocators
2024-02-02 12:04:25 +01:00
Pedro J. Estébanez
6057ec9b06
Direct3D 12: Avoid terrible leak related to command allocators
2024-01-31 20:00:23 +01:00
Riteo
7e0f7d3abd
Add Wayland support
...
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:
- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.
- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.
- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.
- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.
- The cursor doesn't yet support fractional scaling.
- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).
- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.
This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.
Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
Rémi Verschelde
6809791fee
Merge pull request #87553 from clayjohn/GLES3-shader-compilation
...
Significantly improve the speed of shader compilation in compatibility backend
2024-01-29 21:33:49 +01:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
...
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde
6305277312
Merge pull request #87670 from RandomShaper/d3d12_16bit
...
Direct3D 12: Query support for 16-bit operations
2024-01-29 13:18:00 +01:00
Rémi Verschelde
604f8b093e
Merge pull request #87624 from bruvzg/dx12_old_mingw
...
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in.
2024-01-29 13:17:41 +01:00
Rémi Verschelde
78680cdebc
Merge pull request #87572 from RandomShaper/d3d12_custom_dbg_print
...
Direct3D 12: Fix and enable custom debug printing
2024-01-29 13:17:21 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary `this->` expressions
2024-01-29 09:59:18 +01:00
Pedro J. Estébanez
f77f46ebff
Direct3D 12: Query support for 16-bit operations
2024-01-28 12:43:58 +01:00
bruvzg
dfa303f7c4
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in.
2024-01-26 20:43:18 +02:00
Dario
39f279710c
Improve stage and slice tracking behavior of RenderingDeviceGraph to fix various synchronization issues.
2024-01-26 10:12:54 -03:00
Rémi Verschelde
184009eda6
Merge pull request #87482 from RandomShaper/d3d12_spacey
...
Direct3D 12: Let NIR runtime data and push constants use the same register scheme as bindings
2024-01-26 11:45:49 +01:00
Rémi Verschelde
1ce40ebb44
Merge pull request #87386 from clayjohn/GLES3-lightmap-bake
...
Add GLES3 infrastructure for lightmap baking in the compatibility backend
2024-01-26 11:44:37 +01:00
Rémi Verschelde
cd5e973d7a
Merge pull request #86717 from mrbbbaixue/d3d12-sdk-install-python
...
Add a python script to install Direct3D 12 SDK components.
2024-01-26 11:43:49 +01:00
Yuri Sizov
3f7ea71e88
Merge pull request #87495 from jsjtxietian/USE_LIGHT_SHADER_CODE
...
Clean up outdated `USE_LIGHT_SHADER_CODE` usage
2024-01-25 16:27:14 +01:00
Yuri Sizov
1b83e8ae81
Merge pull request #87460 from BastiaanOlij/stereo_ivec
...
Add ivec variants to multiview_uv for stereo rendering
2024-01-25 16:27:10 +01:00
Pedro J. Estébanez
47da9f8892
Direct3D 12: Fix and enable custom debug printing
2024-01-25 10:42:39 +01:00
Pedro J. Estébanez
6807cd8673
Direct3D 12: Make format feature check more defensive
2024-01-25 10:12:07 +01:00
clayjohn
efb1cbaad4
Add GLES3 infrastructure for lightmap baking in the compatibility backend
2024-01-24 17:13:30 -08:00
clayjohn
f1781fe9d1
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
2024-01-24 14:05:03 -08:00
Yuri Sizov
6876303c85
Merge pull request #87489 from clayjohn/GLES3-scissor
...
Disable scissor test after rendering batches in compatibility renderer
2024-01-24 14:08:44 +01:00
Yuri Sizov
0fa5aa5c8a
Merge pull request #86677 from daustria/debug-modes-opengl
...
Implement overdraw, lighting, and unshaded debug draw modes for opengl
2024-01-24 14:08:03 +01:00
Yuri Sizov
2ce450f8bc
Merge pull request #84894 from clayjohn/tangent-error-message
...
Store ArrayMesh path in RenderingServer for use in error messages
2024-01-24 14:07:47 +01:00
MrBBBaiXue
ea2c6f1d0b
Add a python script to install Direct3D 12 SDK components.
...
This makes it much faster to get started with Direct3D 12 builds,
as you only need to run `python .\misc\scripts\install_d3d12_sdk_windows.py`
then run `scons d3d12=yes`.
This installs DirectX Shader Compiler, Mesa NIR, WinPixEventRuntime
and DirectX 12 Agility SDK.
- Define a default path that uses the locations from the script.
- Now the default path is in "%LOCALAPPDATA%\Godot\build_deps\"
- Updated CI to use this new python script.
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-01-24 20:11:43 +08:00
jsjtxietian
2004ad1ac5
Clean up outdated `USE_LIGHT_SHADER_CODE` usage
2024-01-24 12:30:27 +08:00
Giwayume
bb83c4adec
Add custom shader attributes to Canvas Item Shaders
2024-01-23 14:36:39 -05:00
Bastiaan Olij
1066f01607
Add ivec variants to multiview_uv for stereo rendering
2024-01-23 16:13:31 +11:00
clayjohn
062e8802b7
Disable scissor test after rendering batches in compatibility renderer
2024-01-22 14:55:20 -08:00
Yuri Sizov
bf94131e41
Merge pull request #87225 from kleonc/transposed-texture-fix-2d-normals
...
Fix 2D normals for transposed texture
2024-01-22 20:39:04 +01:00
Yuri Sizov
e95456b7f3
Merge pull request #86073 from m4rr5/add_reflection_mask
...
Add a reflection mask to the reflection probes
2024-01-22 20:38:37 +01:00
Pedro J. Estébanez
0a89a2db9e
Direct3D 12: Let NIR runtime data and push constants use the same register scheme as bindings
2024-01-22 19:39:27 +01:00
Marcel Offermans
25f573ca63
Add a reflection mask to the reflection probes.
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-01-20 08:07:31 +01:00
Rémi Verschelde
fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
...
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread
2024-01-17 13:58:29 -05:00
Yuri Sizov
44013b88eb
Merge pull request #87298 from RandomShaper/d3d12_qp
...
D3D12 RDD: Fix wrong argument when resolving timestamp queries
2024-01-17 18:53:37 +01:00
Pedro J. Estébanez
925263c35b
D3D12 RDD: Fix wrong argument when resolving timestamp queries
2024-01-17 16:59:13 +01:00
Rémi Verschelde
7d17496535
Merge pull request #87206 from bruvzg/dx12_old_msvc
...
Fix DX12 build on older MSVC versions, fix missing PIX include.
2024-01-16 10:37:12 +01:00
kleonc
0fe7eead02
Fix 2D normals for transposed texture
2024-01-15 17:34:29 +01:00
Rémi Verschelde
bf7e19887e
Merge pull request #87096 from jsjtxietian/save-to-cache
...
Add `shader_cache_dir_valid` check to `_save_to_cache`
2024-01-15 13:29:03 +01:00
Rémi Verschelde
463edd0daf
Merge pull request #87067 from moonpirates/bugfix-canvastexture-uvs-compatibility
...
Fix UV issues in Compatibility renderer
2024-01-15 13:28:14 +01:00
Rémi Verschelde
1248fb9c18
Merge pull request #86855 from RandomShaper/fix_vk_get_image
...
Fix determination of copyable layout for compressed textures in Vulkan
2024-01-15 13:25:24 +01:00
bruvzg
2893c0b475
Fix DX12 build on older MSVC versions, fix missing PIX include.
2024-01-15 11:03:16 +02:00
jsjtxietian
a365c070b3
Add shader_cache_dir_valid check to _save_to_cache
2024-01-12 17:34:33 +08:00
Jordi Scharp
ac87d5f9a2
Fix issue where the UV's were off in Compatibility
...
Fixes a bug where CanvasTexture's UVs were off when using the Compatibility mode's renderer.
Fixes #86746
2024-01-11 13:26:57 +01:00
Alessandro Famà
998078f8d7
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`.
2024-01-09 17:36:13 +01:00
Rémi Verschelde
a56dd6ca52
Merge pull request #86920 from griffinkh/build_warning_fix
...
Fix build warning with memset value being too large
2024-01-09 11:29:55 +01:00
Dominic Austria
c8bdd1d774
implement overdraw, lighting, and unshaded debug draw modes for opengl
2024-01-08 17:34:09 -05:00
Dario
cc4d39b0c1
Acyclic Command Graph for RenderingDevice.
...
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
Griffin Kroah-Hartman
b97cb5ec59
Fix build warning with memset value being too large
...
Should resolve issue #83342
2024-01-08 17:26:41 +01:00
Rémi Verschelde
25011e9144
Merge pull request #84244 from BastiaanOlij/skip_present_if_needed
...
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 14:52:07 +01:00
Rémi Verschelde
c10d268974
Merge pull request #86787 from ryevdokimov/code-spell-check
...
Fix various spelling errors across engine solution
2024-01-08 11:55:55 +01:00
Bastiaan Olij
d6caa69e11
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 21:51:04 +11:00
Rémi Verschelde
774c4631fd
Merge pull request #84733 from clayjohn/GL-CanvasGroup-performance
...
Only copy the relevant portion of the screen when copying to backbuffer in Compatibility backend
2024-01-08 11:50:12 +01:00
Aarni Koskela
a4c5dae8cb
Attempt to parse environment variables as UTF-8
2024-01-07 19:53:43 +02:00
Pedro J. Estébanez
e1c7c18ead
Fix determination of copyable layout for compressed textures in Vulkan
2024-01-06 00:06:28 +01:00
Rémi Verschelde
e72e63a6b5
Merge pull request #85837 from akien-mga/clang-format-16
...
Style: Mark clang-format 16 as supported for pre-commit hook
2024-01-05 12:04:44 +01:00
Rémi Verschelde
d1b7c60afc
Merge pull request #77712 from nklbdev/Fix_lossless_formats_in_PortableCompressedTexture2D
...
Fix lossless formats in PortableCompressedTexture2D
2024-01-05 12:02:14 +01:00
nklbdev
47d991678d
Fix lossless formats in PortableCompressedTexture2D
...
Update scene/resources/portable_compressed_texture.cpp
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-05 00:11:01 +05:00
Rémi Verschelde
5d44c85d4c
Merge pull request #84107 from BlueCube3310/file-access-optimization
...
Use platform-specific methods for FileAccess reading and writing
2024-01-04 16:39:47 +01:00
Robert Yevdokimov
f9826a1dd7
Fix various spelling errors
2024-01-04 09:56:43 -05:00
Rémi Verschelde
c921b6587c
Merge pull request #84469 from time-killer-games/patch-1
...
Fix NetBSD executable path
2024-01-04 14:25:46 +01:00
Rémi Verschelde
6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
...
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde
37df2ff387
Merge pull request #86682 from Daylily-Zeleen/daylily-zeleen/distinguish_between_dynamic_libaray_not_found_and_can't_open
...
Distinguish between dynamic library not found and can't be opened.
2024-01-02 18:06:17 +01:00
bruvzg
126a763f7a
[D3D12] Dynamically load Agility SDK.
2024-01-02 17:15:59 +02:00
Rémi Verschelde
f3df5f7d37
Merge pull request #86435 from jsjtxietian/fix-fp-unsupport
...
Add `RD_ENABLED` when `VULKAN_ENABLED` or `D3D12_ENABLED` is added
2024-01-02 15:09:05 +01:00
EddieBreeg
8747c67d9e
Fix potential integer underflow in rounded up divisions
...
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.
Fixes #80358 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
Daylily-Zeleen
fe6b073811
Distinguishs between dynamic library not found and can't be opened.
2024-01-01 20:01:57 +08:00
jsjtxietian
078bfae6a4
Add RD_ENABLED when VULKAN_ENABLED or D3D12_ENABLED is added
2023-12-25 11:13:01 +08:00
Yuri Sizov
7d03a22329
Merge pull request #86405 from warriormaster12/pipeline-message-fix
...
Fix wrong error message when graphics pipeline creation fails
2023-12-22 17:20:15 +01:00
Yuri Sizov
44ded3eaa4
Merge pull request #86316 from clayjohn/RD-BFN-normals
...
Use best fit normals for storing screen space normals
2023-12-22 17:19:58 +01:00
clayjohn
43cf21cb71
Use best fit normals for storing screen space normals
2023-12-21 14:41:29 -07:00
warriormaster12
e729d511df
Fix wrong error message when graphics pipeline creation fails
2023-12-21 22:32:58 +02:00
Pedro J. Estébanez
12a519bae2
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
...
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy
2023-12-16 13:36:44 -05:00
Rémi Verschelde
5088cd8ab7
Merge pull request #86018 from BastiaanOlij/fix_gles_stereo_sky
...
Fix radiance for sky in GLES stereo rendering
2023-12-13 10:32:23 +01:00
Rémi Verschelde
41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
...
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00
Pedro J. Estébanez
2f47c57385
Add Direct3D 12 RenderingDevice implementation
2023-12-12 19:10:04 +01:00
Rémi Verschelde
342531597b
Merge pull request #85811 from clayjohn/2D-render-info
...
Implement render info counters for the 2D renderer
2023-12-12 10:41:06 +01:00
Bastiaan Olij
e06ac4d40c
Fix radiance for sky in GLES stereo rendering
2023-12-12 13:35:39 +11:00
Rémi Verschelde
ae7c533937
Merge pull request #84686 from dsnopek/webxr-msaa
...
Add MSAA support for WebXR
2023-12-12 00:17:16 +01:00
Rémi Verschelde
4943b6e6b3
Merge pull request #84451 from ShirenY/FixSkeletonMeshCulling
...
Transform mesh's AABB to skeleton's space when calculating mesh's bounds
2023-12-12 00:16:51 +01:00
David Snopek
275c496bc8
Add MSAA support for WebXR
2023-12-11 09:01:24 -06:00
clayjohn
777d6ae1c6
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
2023-12-09 12:15:59 -07:00
ShirenY
27f71c4e78
Transform mesh's AABB to skeleton's space when calculate mesh's bounds.
2023-12-09 11:41:15 +08:00
Yuri Sizov
36f260babe
Merge pull request #85778 from HolySkyMin/weird_box_killer_try2
...
GLES3: Skip batches with zero instance count while rendering canvas
2023-12-08 16:58:49 +01:00
Yuri Sizov
c2151bbfbf
Merge pull request #85621 from daustria/opengl-compatibility-wireframe
...
Add wireframe for compatibility mode
2023-12-08 15:23:41 +01:00
Yuri Sizov
b0339b68ff
Merge pull request #85532 from RandomShaper/kill_redund_clear
...
Apply some low-hanging fruit optimizations to Vulkan RD
2023-12-08 15:23:36 +01:00
Yuri Sizov
44d544fc98
Merge pull request #85120 from dsnopek/gl-lightmap
...
OpenGL: Implement rendering of lightmaps
2023-12-08 15:23:27 +01:00
Rémi Verschelde
a311a4b162
Merge pull request #83976 from BastiaanOlij/gles3_msaa_scaler
...
Add 3D MSAA and scaling support to GLES3
2023-12-07 14:36:42 +01:00
clayjohn
528b4a3283
Implement render info counters for the 2D renderer
...
This provides information for the debug monitors
2023-12-06 14:39:33 -07:00
Rémi Verschelde
49f4860ce3
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.
2023-12-06 13:26:53 +01:00
HolySkyMin
51dcb38840
GLES3: Skip batches with zero instance count while rendering
2023-12-05 18:49:59 +09:00
David Snopek
749f60ee36
OpenGL: Implement rendering of lightmaps
2023-12-04 18:34:06 -06:00
Bastiaan Olij
caddce14dd
Add 3D MSAA and scaling support to GLES3
2023-12-05 10:01:00 +11:00
Rémi Verschelde
74e49b7271
Merge pull request #85092 from clayjohn/GL-vertex-input-mask
...
Use vertex input mask for creating vertex arrays
2023-12-04 23:10:26 +01:00
Rémi Verschelde
a9ba8695d4
Merge pull request #84852 from Alex2782/fix_vulkan_buffer_android
...
Vulkan: Fix incorrect access to the buffers on Android
2023-12-04 23:06:04 +01:00
Rémi Verschelde
6f16e3f257
Merge pull request #84416 from jsjtxietian/shadow_disabled
...
Add `shadows_disabled` macro in Compatibility renderer
2023-12-04 23:03:10 +01:00
Rémi Verschelde
6f4da7a976
Merge pull request #83736 from darksylinc/matias-broken_buffer_update
...
Fix buffer updates going to the wrong cmd buffer if barriers were 0
2023-12-04 22:58:24 +01:00
Rémi Verschelde
1749ea8d00
Merge pull request #82804 from BlueCube3310/compat_correct_normals
...
Automatically ensure correct normals in Compatibility renderer
2023-12-04 22:57:59 +01:00
Dominic
bae6f86257
Add wireframe for compatibility mode
2023-12-02 13:09:56 -05:00
Pedro J. Estébanez
72bf8dfecf
Remove superfluous locking in RID owners in Vulkan RD
2023-12-01 16:12:21 +01:00
Pedro J. Estébanez
4964d9a083
Remove redundant explicit clears in the Vulkan RD
2023-12-01 16:11:59 +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
clayjohn
c0c1efc5da
Use vertex input mask for creating vertex arrays
...
Also fix bug in creation of vertex input mask
2023-11-19 16:32:55 +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
Alexander Hartmann
04a142cf71
Vulkan: Fix incorrect access to the buffers on Android
2023-11-15 14:46:25 +01:00
clayjohn
ead36fdcc4
Store ArrayMesh path in RenderingServer for use in error messages
2023-11-14 16:27:10 +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
e69968b794
Only copy the relevant portion of the screen when copying to backbuffer in Compatibility backend
2023-11-11 00:17:26 +01: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
jsjtxietian
716fd3edfc
Add shadows_disabled macro in Compatibility renderer
2023-11-07 18:55:26 +08:00
Samuel Venable
52da1e9b6b
Fix NetBSD Executable Path
2023-11-06 06:33:36 -08: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
BlueCube3310
6ed1731746
Use platform-specific methods for FileAccess reading and writing
2023-10-29 17:34:18 +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
BlueCube3310
f31371c04e
Automatically ensure correct normals in Compatibility renderer
2023-10-22 15:00:11 +02:00
David Snopek
58775a6c67
Fix `GPUParticles3D` on the Meta Quest 2 with OpenGL renderer
2023-10-21 16:49:24 -05:00
Matias N. Goldberg
c9ec1f7727
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.
2023-10-21 13:14:38 -03: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
Rémi Verschelde
348c1ff96b
Merge pull request #83266 from bruvzg/linux_case_check
...
[Linux] Implement DirAccess.is_case_sensitive for EXT4 and F2FS.
2023-10-13 22:19:24 +02:00
Rémi Verschelde
a19f05604e
Merge pull request #83252 from mrjustaguy/opengl-fade-fix
...
Fix OpenGL Directional Shadow Last Split Fading
2023-10-13 22:18:13 +02:00
bruvzg
54eae6221a
[Linux] Implement DirAccess.is_case_sensitive for EXT4 and F2FS.
2023-10-13 15:48:03 +03:00
Rémi Verschelde
51f81e1c88
Merge pull request #82957 from bruvzg/fs_case_check
...
Add method to check if filesystem is case sensitive.
2023-10-13 12:55:35 +02:00
mrjustaguy
09a2a7c54e
Remove PSSM Fade
2023-10-13 12:01:23 +02:00
Thaddeus Crews
9ee41c707e
Fix texture storage not assigning default scale
...
• Print errors if an invalid value is passed
2023-10-12 12:02:24 -05:00
Rémi Verschelde
b1371806ad
Merge pull request #82431 from bitsawer/fix_gpuparticles_free
...
Fix errors when freeing GPUParticles
2023-10-12 00:22:33 +02:00
Rémi Verschelde
775ab4e983
Merge pull request #83141 from BastiaanOlij/fix_shadow_size
...
Fix compatibility shadow size not being initialised
2023-10-11 18:30:55 +02:00
Bastiaan Olij
59cd86f89d
Fix compatibility shadow size not being initialised
2023-10-11 22:02:38 +11:00
Rémi Verschelde
4b7cc99bc1
Merge pull request #79169 from reduz/debug-canvas-item-redraw
...
Debug CanvasItem redraw
2023-10-11 08:40:05 +02:00
Rémi Verschelde
55282ddc10
Merge pull request #79527 from QbieShay/qbe/particles-rework
...
Particle internal refactor and additions for more artistic control
2023-10-10 22:48:50 +02:00
QbieShay
c228fe1a0d
Particle internal refactor and additions for more artistic control
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-10-10 20:03:35 +02:00
Rémi Verschelde
49495293c7
Merge pull request #82973 from dsnopek/gdextension-linux-favor-local-symbols
...
On Linux, favor local symbols when loading a shared library
2023-10-10 12:33:06 +02:00
Rémi Verschelde
a28dab7e82
Merge pull request #79711 from adamscott/web-non-blocking-main-thread
...
Add `proxy_to_pthread` option to `platform=web`
2023-10-09 23:22:22 +02:00
Adam Scott
78c2a08fae
Add `proxy_to_pthread` option to `platform=web`
...
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2023-10-09 11:50:01 -04:00
Rémi Verschelde
a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
...
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
bruvzg
97bcd8a631
Add method to check if filesystem is case sensitive.
2023-10-09 11:00:15 +03:00
A Thousand Ships
f18aa00e85
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-08 17:23:33 +02:00
A Thousand Ships
034c0f1624
Replace `sanity` with `safety` for checks
2023-10-08 16:22:24 +02:00
David Snopek
7f4e700bf7
On Linux, favor local symbols when loading a shared library
2023-10-07 11:06:56 -05:00
Rémi Verschelde
c05f521e16
Merge pull request #82892 from clayjohn/tangent-binormal-transform
...
Only perform modelview transform on tangent and binormal when vertex shader is in local space
2023-10-06 12:53:05 +02:00
clayjohn
af1d81d95a
Only perform modelview transform on tangent and binormal when vertex shader is in local space
2023-10-05 22:08:36 -06:00
clayjohn
04846c1d6d
Avoid default fallback material when using world_vertex_coords
...
This avoids z-fighting between the opaque shader and the depth prepass shader
2023-10-05 19:11:48 -06:00
Rémi Verschelde
68926d5919
Merge pull request #81827 from darksylinc/matias-vkfeatures-opt-in
...
Opt-in to Vulkan features we actually use.
2023-10-05 22:49:21 +02:00
clayjohn
51ed3aef63
Vertex and attribute compression to reduce the size of the vertex format.
...
This allows Godot to automatically compress meshes to save a lot of bandwidth.
In general, this requires no interaction from the user and should result in
no noticable quality loss.
This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.
Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
Rémi Verschelde
b42aa5ad9d
Merge pull request #81575 from bitsawer/fix_gles_instancing
...
Fix GLES3 instanced rendering color and custom data defaults
2023-10-05 10:06:39 +02:00
Rémi Verschelde
146d87c230
Merge pull request #82679 from lyuma/workaround_xr_off_crash
...
Workaround crash due to null shader when running XR project with `--xr-mode` off
2023-10-04 15:36:22 +02:00
Lyuma
1d34033143
Workaround crash due to null shader when running XR project with --xr-mode off
2023-10-02 06:12:01 -07:00
Thaddeus Crews
e9b2af91cf
check_c_headers from tuple array to dictionary
2023-10-01 14:09:39 -05:00
bitsawer
6f88ed73be
Fix GLES3 instanced rendering color and custom data defaults
2023-09-29 11:44:37 +03:00
Yuri Sizov
7ae0fa1083
Merge pull request #77496 from clayjohn/GLES3-shadows
...
Implement 3D shadows in the GL Compatibility renderer
2023-09-28 20:03:53 +02:00
clayjohn
cb7200b028
Implement 3D shadows in the GL Compatibility renderer
2023-09-28 09:39:26 +02:00
SlugFiller
d468582ef8
Fix build on MSVC 2017
2023-09-27 19:49:59 +03:00
bitsawer
898d1a2d5f
Fix errors when freeing GPUParticles
2023-09-27 11:46:31 +03:00