Rémi Verschelde
8b39d7f326
Merge pull request #95666 from kleonc/parallax2d_repeat_offsets_relative_to_source
...
Fix `Parallax2D` repeats being not relative to its transform
2024-08-19 14:34:21 +02:00
Rémi Verschelde
c6400a8fe4
Merge pull request #95662 from clayjohn/GLES3-sky-fog
...
Add fixed fog to the sky in the Compatibility renderer
2024-08-19 12:09:10 +02:00
Rémi Verschelde
824a97120e
Merge pull request #92213 from clayjohn/ambient-disabled
...
Disable all sources of ambient light when `ambient_light_disabled` render mode is used
2024-08-19 12:08:31 +02:00
kleonc
1bd8372813
Fix Parallax2D repeats being not relative to its transform
2024-08-19 11:43:16 +02:00
BlueCube3310
ef9bb1a207
Implement support for bicubic lightmap filtering
...
Co-authored-by: Calinou <hugo.locurcio@hugo.pro>
2024-08-19 09:52:09 +02:00
Ricardo Buring
1728f80e7c
Fixed Timestep Interpolation: MultiMesh
...
Adds fixed timestep interpolation to multimeshes.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-08-18 17:14:59 +02:00
clayjohn
578049b7b9
Add fixed fog to the sky in the Compatibility renderer
...
And apply luminance multiplier after fog in RD renderer
2024-08-17 23:33:26 -07:00
Rémi Verschelde
851d0a764d
Merge pull request #95536 from jsjtxietian/rename-alpha-scissor
...
Fix undefined `alpha_scissor` in standard shader
2024-08-16 14:35:38 +02:00
Rémi Verschelde
a298512bc4
Merge pull request #95452 from clayjohn/GLES3-skeleton
...
Increase precision of skeleton transforms in the skeleton shader in the Compatibility renderer
2024-08-16 10:36:16 +02:00
Rémi Verschelde
ae9fb96a36
Merge pull request #95433 from dsnopek/openxr-composition-layers-srgb
...
OpenGL: Unconditionally do `glDisable(GL_FRAMEBUFFER_SRGB)` because we do our own sRGB conversion
2024-08-16 10:35:56 +02:00
Rémi Verschelde
a8bbb09bd5
Merge pull request #95143 from TV4Fun/fix_non_windows_library_load
...
Fix reload of GDExtension libraries in framework package on macOS
2024-08-16 10:35:19 +02:00
Rémi Verschelde
074d8b0938
Merge pull request #94835 from MileyHollenberg/bugfix-powervr-gpu-crash
...
Fix crash on powerVR GPUs when a cached shader wasn't loaded in properly
2024-08-16 10:34:55 +02:00
Rémi Verschelde
1fea6ed01c
Merge pull request #94733 from RandomShaper/d3d12_tex_barr_fast
...
D3D12: Be explicit about all-resources texture barriers
2024-08-16 10:34:49 +02:00
Rémi Verschelde
cddf321d30
Merge pull request #94731 from RandomShaper/d3d12_no_null_barr_grps
...
D3D12: Avoid validation warnings about zero-sized barrier groups
2024-08-16 10:34:42 +02:00
jsjtxietian
970a237c20
Fix undefined alpha_scissor
in standard shader
2024-08-15 11:44:11 +08:00
clayjohn
1bf594fb5a
Increase precision of skeleton transforms in the skeleton shader in the Compatibility renderer
2024-08-12 16:12:04 -07:00
David Snopek
dfcff4ef46
OpenGL: Unconditionally do glDisable(GL_FRAMEBUFFER_SRGB)
because we do our own sRGB conversion
2024-08-12 12:40:38 -05:00
Hannah Crawford
a54b71bbdf
Add shadow_caster_mask
to Light3D.
2024-08-12 00:17:11 +01:00
Joel Croteau
f44d6a235f
Fix reload of GDExtension libraries in framework package on macos
...
`GDExtension::open_library` has a check in it to see if the library was loaded
from a temp file, and if it was to restore the original name as that is the one
we actually care about. This check is breaking extension reloading on Mac when
the library path is to a framework folder, as the file inside the framework
will not generally be the same name as the folder.
This check also shouldn't be necessary even on Windows, which is the only
platform that uses `generate_temp_files`, since disposal of the created temp
file is handled within `OS_Windows::open_dynamic_library`, and
`GDExtension::open_library` (which is the only function to call
`open_dynamic_library` with a `p_data` argument) only cares about the original
library file path and has to do extra work to remove the name of the temp file.
Instead, I have removed that check and set `OS_Windows::open_dynamic_library`
to return the name of the original file and not the name of the copy.
This fixes GDExtension reloading on macOS. I do not have a Windows machine
available to test that it still works properly on Windows, so someone should
check that before merging this.
2024-08-08 08:31:49 -06:00
Rémi Verschelde
32eb97fd2a
Merge pull request #95074 from RandomShaper/d3d12_exit_crash
...
D3D12: Avoid crash on exit
2024-08-08 10:16:24 +02:00
Pedro J. Estébanez
33bd994087
D3D12: Avoid crash on exit
2024-08-02 18:18:10 +02:00
Pedro J. Estébanez
8cf2903c7f
D3D12: Avoid cases of redundant render target clears
2024-08-02 14:26:17 +02:00
Alvin Wong
de4ba295f5
Optimize ANGLE on D3D11 to remove an extra blit
...
Support the extension EGL_ANGLE_surface_orientation, which allows ANGLE
to skip an extra blit from an intermediate buffer to the D3D11 swap
chain back buffer for inverting the Y axis due to the difference in
coordinate systems. Instead we do our inverting in RasterizerGLES3.
2024-07-31 00:35:52 +08:00
Miley Hollenberg
1c31e30359
Fixed crash on PowerVR GE8320 GPUs
2024-07-30 08:43:04 +02:00
Yuri Rubinsky
e41048e16e
Fix texture samplers to not being last in the property list
2024-07-29 09:19:09 +03:00
Bastiaan Olij
1eb0039b6e
Fix regression around OpenGL swapchain optimisation for OpenXR
2024-07-29 12:46:58 +10:00
Pedro J. Estébanez
3260437afc
D3D12: Be explicit about all-resources texture barriers
2024-07-25 15:06:42 +02:00
Dario
bb0a8e56e1
D3D12: Avoid validation warnings about zero-sized barrier groups
2024-07-25 11:47:34 +02:00
clayjohn
7eac9e855b
Remove linearization of canvas modulate in GLES3 backend
...
The GLES3 renderer is always in sRGB space, even when using an HDR format
2024-07-24 10:27:25 -07:00
Feiyue Zhang
6f30df4b6a
Linearize color if HDR 2D is on
2024-07-24 09:49:50 +02:00
Rémi Verschelde
ad1955a63d
Merge pull request #94628 from Chaosus/rendering_fix_crash
...
Fix crash when assigning more textures than expected to texture array
2024-07-23 13:08:18 +02:00
Rémi Verschelde
6a79d848a8
Merge pull request #94564 from rothej/fix-94183
...
Fix FOG shader issue in Compatibility mode
2024-07-23 13:08:12 +02:00
Joshua Rothe
d751545391
Fix FOG shader issue in Compatibility mode
2024-07-23 11:25:10 +02:00
cosformula
fa8b4d84fb
GLES3: Fix directional shadow on Metal ANGLE
2024-07-23 11:24:13 +02:00
Yuri Rubinsky
574e61a542
Fix crash when assigning more textures than expected to texture array
2024-07-22 20:51:11 +03:00
Rémi Verschelde
6621d8e8cc
Merge pull request #93931 from /fix-compatibility-depth_prepass_alpha
2024-07-20 16:07:30 +02:00
Hugo Locurcio
0445ccf428
Fix Image CowData crash when baking large lightmaps
...
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.
VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +02:00
Rémi Verschelde
de27d3a7fc
Merge pull request #94233 from ChristopheClaustre/screenshot_compat_broken_with_hdr
...
Fix black `get_texture()` on viewport in compatibility mode with HDR enabled
2024-07-18 10:45:30 +02:00
Rémi Verschelde
590628feda
Merge pull request #86516 from jsjtxietian/fix-camera-direction
...
Fix incorrect `CAMERA_DIRECTION_WORLD` calculation
2024-07-18 10:45:20 +02:00
Rémi Verschelde
ffd6162c76
Merge pull request #94267 from RandomShaper/d3d12_db
...
D3D12: Avoid enabling depth bounds test if unsupported
2024-07-17 11:43:39 +02:00
Pedro J. Estébanez
a8adb2bbc3
D3D12: Avoid enabling depth bounds test if unsupported
2024-07-15 09:49:34 +02:00
Rémi Verschelde
1aa1a1879d
Merge pull request #94203 from RandomShaper/bye_bye_dxil_dll
...
D3D12: Get rid of `DXIL.dll`!
2024-07-11 23:16:59 +02:00
ChristopheClaustre
626106da00
gl_type_cache is used mainly for texture to image conversion need to be adjusted for when HDR format is activated
2024-07-11 21:47:18 +02:00
Pedro J. Estébanez
ee2c1584e4
D3D12: Get rid of DXIL.dll!
2024-07-11 17:56:45 +02:00
Rémi Verschelde
247a481001
Fix a couple GCC 14 -Wmaybe-uninitialized
warnings
2024-07-09 16:12:22 +02:00
clayjohn
5b213dcd26
Use GL_COLOR_ATTACHMENT in depth prepass when using Multiview.
...
I am certain this is a driver bug. But on some devices when no draw buffer is specified, the depth operations fail when there is no color buffer.
2024-07-08 12:52:20 -07:00
GuoShuangyi
af62d15ebc
fix depth_prepass_alpha not work in compatibility mode
2024-07-04 17:38:14 +08:00
Rémi Verschelde
643da5dfad
Merge pull request #93331 from dsnopek/macos-fix-use-volk
...
Fix building with `use_volk=yes` on MacOS
2024-07-04 11:31:51 +02:00
Pedro J. Estébanez
207f523441
D3D12: Use the right state for resources in certain heap types
2024-07-01 08:06:26 +02:00
clayjohn
27b040dc61
Remove warning when project setting requests a larger global shader uniform buffer than the hardware supports.
...
Instead provide a better error message when the limit is exceeded and avoid crash with a small limit.
2024-06-28 10:38:18 +02:00
Ibrahn Sahir
607c5ec49f
Move MIDI parsing up from ALSA driver to platform independent driver.
...
Aims for more consistent MIDI support across Windows, MacOS, Linux and
to provide a base for adding MIDI drivers for other platforms.
Reworks the MIDIDriverALSAMidi MIDI parsing implementation as a platform
independent version in MIDIDriver::Parser.
Uses MIDIDriver::Parser to provide running status support in MacOS
MIDIDriverCoreMidi.
Collects connected input names at open, ensuring devices indices reported
in events match names in array returned from get_connected_inputs.
Fixes #77035 .
Fixes #79811 .
With code review changes by: A Thousand Ships (she/her)
<96648715+AThousandShips@users.noreply.github.com>
2024-06-25 16:46:30 +01:00
Rémi Verschelde
1a0190270f
Merge pull request #93560 from dsnopek/webxr-emscripten-3151
...
[Web] Fix checking for OpenGL extensions with Emscripten 3.1.51 and later
2024-06-25 09:20:01 +02:00
Rémi Verschelde
fb8a1f143a
Merge pull request #93530 from BastiaanOlij/fix_opengl_post
...
Fix incorrect enabling of post process in OpenGL
2024-06-25 09:19:57 +02:00
David Snopek
51f9df0ec8
[Web] Fix checking for OpenGL extensions with Emscripten 3.1.51 and later
2024-06-24 14:41:51 -05:00
David Snopek
8e242fe7c1
Disable *glGetProcAddress()
on the web
2024-06-24 10:57:22 -05:00
Bastiaan Olij
0ab5207b8f
Fix incorrect enabling of post process in OpenGL
2024-06-24 13:22:01 +10:00
Rémi Verschelde
b749ff59e4
Merge pull request #93369 from bruvzg/mingw-llvm-warnings
...
[LLVM/MinGW] Fix/suppress DX12 related warnings.
2024-06-21 10:14:28 +02:00
Stuart Carnie
98e9578d66
Remove unused flag and code
...
Related #48894
2024-06-20 13:50:20 +10:00
bruvzg
10d81a238e
[LLVM/MinGW] Fix/suppress DX12 related warnings.
2024-06-19 23:40:06 +03:00
David Snopek
e018eabe1e
Fix building with use_volk=yes
on MacOS
2024-06-19 08:06:44 -05:00
Yuri Rubinsky
8ad878f06b
Fix ubo tag placement in canvas.glsl gles3 fragment shader
2024-06-19 12:52:52 +03:00
Rémi Verschelde
0347130a59
Merge pull request #92851 from patwork/fix-tooltips-viewport-dims
...
Make query for `GL_MAX_VIEWPORT_DIMS` compatible with web exports
2024-06-17 10:58:04 +02:00
clayjohn
ea4be9afa6
Add more validation to UBO size and alignment in Compatibility renderer
2024-06-14 12:56:29 -07:00
Rémi Verschelde
c58c50831b
Merge pull request #93107 from clayjohn/GLES-sky-ambient
...
Ensure sky reflection is updated when ambient mode is set to background
2024-06-14 17:13:35 +02:00
Rémi Verschelde
3b7c7d85c0
Merge pull request #92741 from Alex2782/fix_adreno_3xx_compatibility
...
Fix Adreno 3xx compatibility for devices with newer driver versions
2024-06-14 10:19:28 +02:00
Rémi Verschelde
4ce3e169a9
Merge pull request #92388 from sunfl0w/fix-compatibility-albedo
...
Fix albedo value wraparound in Compatibility render mode
2024-06-14 10:19:21 +02:00
patwork
ed5f33ef07
Make query for GL_MAX_VIEWPORT_DIMS compatible with web exports
2024-06-14 01:53:12 +02:00
Rémi Verschelde
e15c2e051e
Merge pull request #92663 from Riteo/holy-egl-batman
...
EGL: Use `EGL_EXT_platform_base` whenever possible
2024-06-13 17:19:17 +02:00
sunfl0w
0e56b64fc4
Fix albedo value wraparound in Compatibility render mode
...
Using the Compatibility renderer results in wrapped albedo values if a custom shader returns albedo values outside the expected range of [0,1].
This commit fixed this issue by clamping the albedo value to [0,1] right after the custom shader is executed.
Fixes #91919
2024-06-13 13:32:28 +02:00
clayjohn
b758658405
Ensure sky reflection is updated when ambient mode is set to background
2024-06-12 16:00:01 -07:00
clayjohn
9000a9d36f
Ensure post processing happens when adjustments are enabled in the Compatibility renderer
2024-06-11 14:31:06 -07:00
Alexander Hartmann
aed6b023f5
Fix Adreno 3xx compatibility for devices with newer driver versions
...
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-Authored-By: Clay John <claynjohn@gmail.com>
2024-06-11 23:23:51 +02:00
wojtekpil
53e68ecbd4
Fix depth clear value for uv2 baking in compatibility renderer
2024-06-07 23:25:49 +02:00
Riteo
8f69f29694
EGL: Use EGL_EXT_platform_base whenever possible
...
This avoids any assumption from the driver, which would otherwise select
a specific platform and potentially mess up everything, resulting
usually in a display server failure.
2024-06-04 08:43:34 +02:00
Rémi Verschelde
7f1d3b1cfa
Merge pull request #92010 from akien-mga/vulkan-sdk-1.3.183.0
...
vulkan: Update all components to Vulkan SDK 1.3.183.0
2024-06-03 10:35:42 +02:00
Rémi Verschelde
41e762ca29
Merge pull request #91454 from akien-mga/coverity-checks
...
Fix Steam input "crc" errors, and some other Coverity reports of uninitialized scalar variable
2024-06-03 10:35:38 +02:00
Rémi Verschelde
940d629070
vulkan: Update all components to Vulkan SDK 1.3.183.0
...
Pass `VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE5_BIT` to VMA when using Vulkan 1.3
features.
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2024-06-03 10:25:46 +02:00
Rémi Verschelde
8b044da396
Merge pull request #92474 from Rudolph-B/fix-collided-particles-jittering
...
Fix collided 3D GPU particles sometimes jittering
2024-05-31 14:16:46 +02:00
Rémi Verschelde
f2796fa06d
Merge pull request #91769 from DarioSamo/d3d12_enhanced_barriers
...
Add support for enhanced barriers in D3D12.
2024-05-31 14:15:49 +02:00
Rémi Verschelde
62120c7841
Fix Steam input "crc" errors, and some other Coverity reports of uninitialized scalar variable
...
- Fixes #88630 .
- Fixes #92578 .
2024-05-31 09:55:02 +02:00
Rémi Verschelde
1e6b11dcd4
Merge pull request #92287 from clayjohn/LOD-safe-fixes
...
Fix LOD selection in compatibility backend and clean up LOD code
2024-05-28 18:06:45 +02:00
Rudolph Bester
f666c76a9c
Fixed collided 3D GPU particles sometimes jittering
2024-05-28 14:09:08 +02:00
clayjohn
267ea14616
Fix LOD selection in compatibility backend and clean up LOD code
2024-05-23 11:30:22 -07:00
bruvzg
628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled.
2024-05-23 15:23:18 +03:00
Bastiaan Olij
db32707bb2
Stereo rendering: Fix omni lights
2024-05-22 10:09:31 +10:00
clayjohn
6fbef0669d
Disable all sources of ambient light when ambient_light_disabled
render mode is used
2024-05-21 10:42:12 -07:00
Dario
adabd14d08
Add support for enhanced barriers in D3D12.
...
Enables support for enhanced barriers if available.
Gets rid of the implementation of [CROSS_FAMILY_FALLBACK] in the D3D12 driver. The logic has been reimplemented at a higher level in RenderingDevice itself.
This fallback is only used if the RenderingDeviceDriver reports the API traits and the capability of sharing texture formats correctly. Aliases created in this way can only be used for sampling: never for writing. In most cases, the formats that do not support sharing do not support unordered access/storage writes in the first place.
2024-05-20 13:04:44 -03:00
Rémi Verschelde
68ac4ee358
Merge pull request #80232 from Calinou/vulkan-pipeline-cache-improve-messages
...
Improve warning messages related to Vulkan pipeline cache
2024-05-20 17:06:25 +02:00
Rémi Verschelde
7cd9f61d32
Merge pull request #91853 from semensanyok/fix-compatibility-gles3-load-compressed-layered-tex-2dArray
...
Fix compatibility renderer load of compressed layered `GL_TEXTURE_2D_ARRAY`
2024-05-18 17:41:31 +02:00
semensanyok
07c15ef3c8
fix compatibility gles3 driver load of compressed layered GL_TEXTURE_2D_ARRAY
2024-05-17 22:00:25 +02:00
Lalit Shankar Chowdhury
8b8c49703a
Use COM smart pointers to handle COM objects safely
...
Use ComPtr to handle COM objects safely
Use COM smart pointers in WASAPI driver
Fix ComPtr handling
Fix crash due to IAudioClient3 type conversion
2024-05-16 16:46:45 +05:30
Rémi Verschelde
5708a3a02e
Merge pull request #92000 from clayjohn/vram-debugger
...
Increase coverage of VRAM debugger and add support to RD backends
2024-05-16 09:32:11 +02:00
clayjohn
c84616c2d2
Increase coverage of VRAM debugger and add support to RD backends
2024-05-15 16:30:19 -07:00
Rémi Verschelde
d532bc529a
Merge pull request #91846 from rburing/multimesh_cache_me_if_you_can
...
Fix MultiMesh buffer cache in transforms-only case
2024-05-14 18:09:58 +02:00
Rémi Verschelde
c9fdcde20f
Merge pull request #91642 from BastiaanOlij/fix_transparent_sky
...
Skip rendering sky if viewport is set to transparent background
2024-05-14 12:06:44 +02:00
Dario
d5789e09eb
Add optional driver workaround to RenderingDevice for Adreno 6XX.
...
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-05-13 10:20:31 -03:00
Bastiaan Olij
6efaaecde2
Skip rendering sky if viewport is set to transparent background
2024-05-13 11:04:06 +10:00
Ricardo Buring
a24cb7b369
Fix MultiMesh buffer cache in transforms-only case
2024-05-11 21:10:07 +02:00
Pedro J. Estébanez
1589433e8f
Apply additional fixes to servers' threading
2024-05-08 17:41:40 +02:00
Pedro J. Estébanez
755c7494c2
OpenGL: Honor separate management of RT's backbuffer FBO and texture upon clear
2024-05-08 17:41:40 +02:00
Rémi Verschelde
a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
...
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships
b4c6cc7d82
[Core] Add case-insensitive String::containsn
2024-05-08 12:48:01 +02:00
A Thousand Ships
a0dbdcc3ab
Replace find
with contains/has
where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
...
Found by apply the file_format checks again via #91597 .
2024-05-08 10:12:46 +02:00
Rémi Verschelde
4b070e8031
Fix various typos with codespell
...
Using 2.2.7.dev217+g10c2abcf.
Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
...
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
A Thousand Ships
86de59d60a
[Core] Add LocalVector::has
for convenience
2024-05-06 18:03:37 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Bastiaan Olij
9042ddf19f
Improvements to VRS/Foveated rendering
2024-05-03 17:20:30 +10:00
clayjohn
8eae822b54
Ensure that environment is available before checking for BCS
2024-05-02 11:34:48 -07:00
Rémi Verschelde
0b6c29f2d2
Merge pull request #89114 from AThousandShips/vec_elem_scalar
...
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
2024-05-02 12:46:22 +02:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of Vector*
min/max/clamp/snap(ped)
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
semensanyok
e378083fa5
fix typo in e41064388e
breaking gles3
2024-05-02 00:32:39 +02:00
Rémi Verschelde
f91db3dc58
Merge pull request #91399 from QbieShay/qbe/fix-pmul-name
...
Revert premul alpha to spell without the T
2024-05-01 23:47:46 +02:00
QbieShay
e41064388e
reverted naming to premul alpha (no T)
...
Initially 3d had premulT alpha as a keyword.
Since Canvas item uses mixed premul and premult as keywords,
3D is changed as well to keep consistency with 2D.
Unfortunately this keeps inconsistency with the internal ENUM.
2024-05-01 22:24:49 +02:00
Chris Clyne
44364faee5
Ensure global shader sampler parameters are initialized when loading the editor
2024-05-01 18:12:46 +01:00
QbieShay
41a2b0e83e
Added premult alpha blending to 3D (spatial) shaders.
...
Co-authored-by: jitspoe <jitspoe@yahoo.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-05-01 00:53:29 +02:00
bruvzg
986d297ed3
Fix arm64/Windows build.
2024-04-30 16:26:42 +03:00
Rémi Verschelde
32070144af
Merge pull request #91100 from bruvzg/x_finks
...
Add symlink API support for Windows, expose symlink methods.
2024-04-29 13:00:37 +02:00
Rémi Verschelde
947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
...
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
Rémi Verschelde
c7a73e684d
Merge pull request #71975 from AThousandShips/file_case_warning
...
[Windows] Improve warning for path casing.
2024-04-29 10:09:25 +02:00
Rémi Verschelde
45c6f18128
Merge pull request #61006 from bruvzg/libbacktrce
...
[Windows] Enable crash reporter on MinGW builds.
2024-04-29 10:09:22 +02:00
bruvzg
fc948e87f6
Add symlink API support for Windows, expose symlink methods.
2024-04-28 19:59:34 +03:00
A Thousand Ships
3679ea5d26
[Windows] Improve warning for path casing.
2024-04-27 16:49:47 +02:00
A Thousand Ships
31e7ee63f2
Fix unsafe uses of Callable.is_null()
...
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
Bastiaan Olij
d2d22748b4
Fix issue in shadow to opacity
2024-04-26 21:54:26 +10:00
Rémi Verschelde
a07f89bfb2
Merge pull request #91176 from clayjohn/GL-adjustments
...
Add adjustments and color correction to Compatibility renderer
2024-04-26 11:08:56 +02:00
Rémi Verschelde
490e636289
Merge pull request #91169 from DarioSamo/render_pass_2_fallback_fix
...
Fix crash on compatibility fallback when vkCreateRenderPass2KHR is unavailable.
2024-04-26 11:08:53 +02:00
Rémi Verschelde
22c8a2785d
Merge pull request #90920 from clayjohn/2D-light-cull
...
Exit light calculation early when pixel outside of light bounding rectangle
2024-04-26 11:08:29 +02:00
clayjohn
e8bb0a5719
Add adjustments and color correction to Compatibility renderer
2024-04-25 12:24:51 -07:00
Dario
b95e18f557
Fix crash on compatibility fallback when vkCreateRenderPass2KHR is unavailable.
2024-04-25 14:03:02 -03:00
Rob Blanckaert
ffe0b869f5
Add LIGHT_VERTEX to fragment shader
...
Adds a new variable to the fragment shader to specify
the vertex position used when calculating lighting.
2024-04-25 06:56:02 -07:00
cosparks
6d0dca76c0
Fixes SDF Collision Enable/Disable
...
- sets LightOccluderInstance field when sdf collision is updated
- adds check for light occluder sdf_collision field in 2d renderers
2024-04-22 20:27:56 -07:00
bruvzg
c1b34672f9
[Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols.
2024-04-22 16:19:37 +03:00
Rémi Verschelde
504d01b61e
Merge pull request #90403 from bruvzg/file_resize
...
[FileAccess] Implement `resize` method.
2024-04-22 12:51:55 +02:00
clayjohn
506e93a207
Exit light calculation early when pixel outside of light bounding rectangle
...
This hugely improves the performance of rendering PointLight2Ds
2024-04-19 16:10:11 -07:00
Fredia Huya-Kouadio
764de7fe31
Collapse the gdextension arguments into the GDExtensionData
struct
...
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 -07:00
Fredia Huya-Kouadio
ede88cf59d
Fix loading GDExtension dependencies on Android
2024-04-19 07:55:08 -07:00
Oxi
1815871b90
Fixed unshaded mode lightmaps
2024-04-17 10:38:54 +01:00
Rémi Verschelde
7210d6cb43
Merge pull request #90358 from KoBeWi/finding_errors_in_other_apps
...
Add `OS.get_process_exit_code()` method
2024-04-16 13:30:41 +02:00
kobewi
dce4a3e4c2
Add get_process_exit_code() method
2024-04-16 12:46:15 +02:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
...
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
bruvzg
88b3e68f93
[FileAccess] Implement resize
method.
2024-04-12 19:20:49 +03:00
bruvzg
57fde36f31
[Unix / DirAccess] Fix removing directory symlinks with remove
, ensure erase_contents_recursive
is not following directory symlinks.
2024-04-12 10:06:49 +03:00
Rémi Verschelde
e73f40e260
Merge pull request #87117 from DmitriySalnikov/rename_pdb
...
Add renaming of PDB files to avoid blocking them
2024-04-11 11:02:31 +02:00
Juan Linietsky
65686dedf9
Use WorkerThreadPool for Server threads
...
* Servers now use WorkerThreadPool for background computation.
* This helps keep the number of threads used fixed at all times.
* It also ensures everything works on HTML5 with threads.
* And makes it easier to support disabling threads for also HTML5.
CommandQueueMT now syncs with the servers via the WorkerThreadPool
yielding mechanism, which makes its classic main sync semaphore
superfluous.
Also, some warnings about calls that kill performance when using
threaded rendering are removed because there's a mechanism that
warns about that in a more general fashion.
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2024-04-10 18:47:42 +02:00
Pedro J. Estébanez
c28f5901c7
Polish interaction between windowing, input and rendering
...
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +02:00
Rémi Verschelde
c59f493620
Merge pull request #89729 from jitspoe/master.shadow_distance_fade_optimization
...
Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
2024-04-10 14:21:56 +02:00
Bastiaan Olij
509d8dba2a
Add reflection probe support to compatibility renderer using 2 probe approach.
2024-04-09 16:53:28 +10:00
ArthasMenethil
17e489b93d
Fix OpenGL: _shadow_atlas_find_shadow: Condition "!sli" is true.
2024-04-05 09:24:15 +07:00
DmitriySalnikov
b73e740786
Add renaming of PDB files to avoid blocking them
2024-04-05 00:14:23 +03:00
Rémi Verschelde
a28be933ee
Merge pull request #89398 from clayjohn/visual-debugger-coverage
...
Increase coverage of timestamps for visual profiler
2024-04-04 14:31:19 +02:00
Rémi Verschelde
b4b4919736
Merge pull request #88816 from joined72/gles3_gpuparticles2d_fixes
...
Fix CPU/GPUParticles2D bugs on Compatibility Rendering (GLES3) on Adreno 3XX devices.
2024-04-04 14:31:07 +02:00
Khasehemwy
d950f5f838
Use Reverse Z for the depth buffer
2024-04-04 13:54:15 +02:00
clayjohn
ac6c648645
Increase coverage of timestamps for visual profiler
2024-04-03 19:29:02 -07:00
joined72
4df39dc140
Fix CPU/GPUParticles2D bugs on Compatibility Rendering (GLES3) on Adreno 3XX devices.
2024-04-02 11:24:13 +02:00
bruvzg
082b420c0a
Implement OS.execute_with_pipe
method to run process with redirected stdio.
...
Implement `pipe://*` path handling for creation of named pipes.
2024-03-27 11:41:16 +02:00
Hugo Locurcio
4a615924f8
Improve warning messages related to Vulkan pipeline cache
...
This gives better explanations on why the cache may have been invalidated,
along with usual consequences.
These messages have also been moved to verbose prints, as users
cannot do anything to resolve them specifically (so they are mostly
relevant to developers).
2024-03-26 22:42:27 +01:00
jitspoe
a0969a0931
Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
2024-03-25 21:25:56 -04:00
ppphp
d4e1a74efb
Add 'override' mark to ResourceFormat class
2024-03-25 04:06:34 +08:00
Rémi Verschelde
cd4e4c0fcc
Merge pull request #89111 from AThousandShips/vec_use
...
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
Ricardo Buring
2ed2ccc2d8
Fixed Timestep Interpolation (2D)
...
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
A Thousand Ships
79ba22a73f
Use Vector*
component-wise min/max/clamp
functions where applicable
2024-03-20 13:47:42 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce modernize-use-nullptr
2024-03-12 10:59:53 -05:00
Rémi Verschelde
b0d07b1bc2
Merge pull request #86936 from akx/env-utf-8
...
Attempt parsing environment variables as UTF-8
2024-03-11 14:02:22 +01:00
AlexOtsuka
179b0786c6
Fix audio crackling issues due to incorrect WASAPI buffer size
2024-03-08 14:05:39 +01:00
Rémi Verschelde
f8140a4e9a
Merge pull request #89253 from Calinou/debug-draw-modes-ignore-decals-2
...
Make Overdraw, Lighting and Shadow Splits debug draw modes ignore decals
2024-03-08 13:09:40 +01:00
Rémi Verschelde
1186d4a8df
Merge pull request #89094 from permelin/fix-particle-userdata-gles3
...
Fix `USERDATA` built-ins for GLES3 particle shaders
2024-03-08 13:09:30 +01:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename
over class
2024-03-07 22:39:09 -06:00
Hugo Locurcio
26a220bd31
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.
2024-03-07 17:40:49 +01:00
Rémi Verschelde
ec55028f26
Merge pull request #89209 from RandomShaper/padding_for_dummies
...
Make shader binary alignment handling simpler and more robust
2024-03-06 13:17:09 +01:00
Pedro J. Estébanez
f77b4d155b
Make shader binary alignment handling simpler and more robust
...
Bonus:
Also simplified the rounding to block size in image size calculations.
2024-03-06 11:48:23 +01:00
Rémi Verschelde
e74f4ea115
Vulkan: Don't warn about pipelines cache if missing
...
It used to warn when opening a new project because no cache pre-exists,
which isn't particularly helpful.
Also include the rendering method in the cache filename, as it differs
between Forward+ and Mobile for a same GPU.
2024-03-05 16:39:14 +01:00
Rémi Verschelde
a369796741
Merge pull request #89168 from SlugFiller/fix-msvc-2017-gles-namespace-v2
...
Fix build on MSVC 2017
2024-03-05 09:56:19 +01:00
Rémi Verschelde
a52e575652
Merge pull request #89134 from BastiaanOlij/fix_recursive_reflection_probes
...
Fix never ending loop with overlapping probes
2024-03-05 09:56:05 +01:00
Rémi Verschelde
86807721e3
Merge pull request #88787 from dsnopek/webxr-depth-draw-fix
...
Fix rendering issue with depth in WebXR
2024-03-05 09:55:56 +01:00
Rémi Verschelde
16fa6bc44b
Merge pull request #88540 from bruvzg/d3d12_guids2
...
[D3D12] Define GUIDs directly.
2024-03-05 09:55:46 +01:00
Rémi Verschelde
5d20628c31
Merge pull request #88496 from bruvzg/d3d12_dyn_load
...
[Windows] Make D3D12 loading dynamic to support pre-Windows 10 versions.
2024-03-05 09:55:41 +01:00
SlugFiller
b999893c9d
Fix build on MSVC 2017
2024-03-05 06:57:53 +02:00
Bastiaan Olij
a5d3d23db4
Fix never ending loop with overlapping probes
2024-03-05 10:07:56 +11:00
David Snopek
e35ccf92d0
Fix rendering issue with depth in WebXR
2024-03-04 15:13:35 -06:00
Rémi Verschelde
a47e38b175
Merge pull request #89038 from RandomShaper/d3d12_sm
...
Direct3D 12: Fix shader model support check for devices not aware of the highest ones
2024-03-04 20:43:42 +01:00
Pedro J. Estébanez
bed48f37aa
Direct3D 12: Fix shader model support check for devices not aware of the highest ones
2024-03-04 13:54:28 +01:00
Rémi Verschelde
006437005d
Merge pull request #89064 from omar-polo/file-access-unix
...
Fix FileAccessUnix on OpenBSD where `UF_HIDDEN` isn't supported
2024-03-04 13:33:58 +01:00
Rémi Verschelde
3be5d9b01a
Merge pull request #89046 from permelin/fix-particle-aabb-recalc-with-userdata
...
Fix error in AABB calculation for particles with USERDATA
2024-03-04 13:33:33 +01:00
markdibarry
a62870956a
Add new Parallax2D node
2024-03-03 15:46:40 -05:00
Per Melin
24b58c655a
Fix USERDATA built-ins for GLES3 particle shaders
2024-03-02 18:41:38 +01:00
Per Melin
853935a5c9
Fix error in AABB calculation for particles with USERDATA
...
Selecting "Generate AABB" on a 3D particle node in the editor would not work
and printed an error about incorrect buffer size if the particle shader used
one or more of the USERDATA build-ins.
2024-03-02 14:26:09 +01:00
Omar Polo
32877ae994
fix FileAccessUnix on OpenBSD: there is no UF_HIDDEN
...
Part of the joint effort with @rfht to port Godot 4 on OpenBSD.
2024-03-01 19:33:49 +00:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-28 14:25:35 +01:00
clayjohn
2c7dd35822
Ensure proper vertex input masks are used in 2D compatibility renderer
2024-02-27 15:39:20 -08:00
Pedro J. Estébanez
3f530c7091
Direct3D 12: Implement proper fallback for format casting
2024-02-27 17:20:01 +01:00
Rémi Verschelde
cfe344f12f
Merge pull request #87872 from RandomShaper/d3d12_tex_mem_is_life
...
Direct3D 12: Enhance management of texture data life cycle
2024-02-27 16:36:59 +01:00
Pedro J. Estébanez
d47021ac6c
Direct3D 12: Enhance management of texture data life cycle
2024-02-27 15:45:19 +01:00
Rémi Verschelde
b38d5efd6a
Merge pull request #88873 from clayjohn/GLES3-compositor-free
...
Add `compositor_free` branch in Compatibility scene renderer free function
2024-02-27 10:18:35 +01:00
Rémi Verschelde
415a334f5f
Merge pull request #88745 from clayjohn/GLES3-system-fbo
...
Consistently use `system_fbo` instead of binding 0 as it is needed for iOS devices
2024-02-27 10:17:51 +01:00
clayjohn
57f8b885de
Add compositor_free branch in Compatibility scene renderer free function
2024-02-26 17:56:55 -08:00
clayjohn
294f16c862
Consistently use system_fbo instead of binding 0 as it is needed for iOS devices
2024-02-25 13:52:41 -08:00
Robert Yevdokimov
13e82094ee
Remove word duplicates in comments and strings, and fix casing and punctuation
2024-02-23 17:28:28 -05:00
Rémi Verschelde
5fd9d0891f
SCons: Add proper MinGW support to D3D12 deps install script
...
Fix a couple GCC warnings.
2024-02-23 22:13:22 +01:00
Rémi Verschelde
0072a0ba31
Merge pull request #88684 from clayjohn/GLES3-visibility-notifier
...
Implement VisibilityNotifier3D in the compatibility backend
2024-02-23 11:29:50 +01:00
clayjohn
3c2f30ed23
Implement VisibilityNotifier3D in the compatibility backend
2024-02-22 12:35:24 -08:00
Rémi Verschelde
d646b7fef6
Merge pull request #88560 from DarioSamo/rdd_execute_and_present
...
Merge execute and present commands for RenderingDeviceDriver.
2024-02-22 11:23:19 +01:00
Alexander Hartmann
e17cecf54a
Fix Compatibility Rendering (GLES3) on old and low budget devices.
...
Co-Authored-By: joined72 <19651914+joined72@users.noreply.github.com>
2024-02-22 00:24:08 +01:00
David Snopek
1e67de5e0c
Fix OpenGL on Android after adding optional depth fog
2024-02-21 09:54:38 -06:00
Rémi Verschelde
04c71d943f
Merge pull request #88573 from Arthas92t/master
...
Fix shader cache with transform feedback on some Android devices
2024-02-21 08:57:32 +01:00
Bastiaan Olij
c2a4657a70
Change glow calculation back to max(r,g,b)
2024-02-21 11:33:10 +11:00
ArthasMenethil
d31d3e503e
Fix shader cache with transform feedback on some android devices
2024-02-21 07:31:40 +07:00
Rémi Verschelde
652438a395
Merge pull request #87360 from BastiaanOlij/gles_glow
...
Implement glow/bloom on compatibility renderer
2024-02-20 23:59:48 +01:00
Rémi Verschelde
292f4c7f97
Merge pull request #80214 from BastiaanOlij/rendering_effect
...
Implement hooks into renderer
2024-02-20 23:59:27 +01:00
Dario
ee2d8f68ba
Merge execute and present commands for RenderingDeviceDriver.
2024-02-19 13:09:03 -03:00
Rémi Verschelde
8a3a559023
Merge pull request #86620 from fbcosentino/midi_device_id
...
Add MIDI controller device index to `InputEventMIDI.device` property.
2024-02-19 17:06:22 +01:00
bruvzg
f4ca6a856a
[Windows] Make D3D12 loading dynamic to support pre Windows 10 versions.
2024-02-19 15:08:04 +02:00
bruvzg
4d2204455f
[D3D12] Define GUIDs directly.
2024-02-19 13:45:12 +02:00
Fernando Cosentino
b9fd25ea18
Add MIDI controller device index to InputEventMIDI.device property.
...
It is possible to query the OS for the connected MIDI controllers,
but the event messages' device field was not being used. This implements
controller index being sent in InputEventMIDI messages in the device
property, matching the index from OS.get_connected_midi_inputs().
Based on the work done by @ramdor.
Closes godotengine/godot-proposals#7733
Co-authored-by: Richie <richie_github@grange-lane.co.uk>
2024-02-19 10:23:19 +00:00
Bastiaan Olij
aa260e5f3d
Implement glow/bloom on compatibility renderer
2024-02-19 13:29:43 +11:00
Arman Elgudzhyan
533eab89ab
Fixed reversed custom AABB null check when recalculating multimesh AABBs
2024-02-18 12:07:23 -08:00
Bastiaan Olij
5a98845655
Implement hooks into renderer
2024-02-18 21:54:21 +11:00
Eidolon
08f4560e69
Add optional depth fog
2024-02-17 22:39:34 -03:00
Rémi Verschelde
564af14eeb
Merge pull request #88361 from DarioSamo/vk_present_suboptimal_fix
...
Handle `VK_SUBOPTIMAL_KHR` as a valid error code to fix Android performance.
2024-02-17 00:23:56 +01:00
Rémi Verschelde
59643bdb86
Merge pull request #88325 from akien-mga/texture-formats
...
Export: Unify settings for PC texture formats, removed obsoleted ETC feature
2024-02-17 00:23:45 +01:00
Arman Elgudzhyan
7ac8365e11
Support custom AABB within MultiMesh resources
...
- Supporting custom AABB on the MultiMesh resource itself allows us to prevent costly runtime AABB recalculations.
- Should also help improve CPU Particle performance.
2024-02-15 22:37:07 -08:00
Rémi Verschelde
c1ad24571a
Merge pull request #88252 from RandomShaper/d3d12_slice_of_cube
...
Direct3D 12: Fix cubemap slicing
2024-02-15 15:45:03 +01:00
Rémi Verschelde
ef5d6ccfb7
Merge pull request #86966 from Muller-Castro/value2ref-core
...
Add const lvalue ref to `core/*` container parameters
2024-02-15 15:44:43 +01:00
Dario
24fcee6d67
Handle VK_SUBOPTIMAL_KHR as a valid error code to fix Android performance.
2024-02-15 10:59:36 -03:00
Anatoli Babenia
e25cfffc7f
Add --no-header
option to clean output
...
* Do not print empty line when header is disabled
* Do not print Vulcan header
* Also add "Print header" project setting (default On)
(suggested by @kaissouDev)
* Add docs for the project setting
(with suggestions by @Mickeon and @akien-mga)
Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-02-15 14:10:11 +03:00
Rémi Verschelde
e457f41f9b
Remove code relative to obsoleted ETC texture format
...
Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
2024-02-14 17:16:41 +01:00
Muller-Castro
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03:00
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