Commit Graph

4085 Commits

Author SHA1 Message Date
Rémi Verschelde
b1b4c5da4b
Merge pull request #96928 from dsnopek/rename-and-expose-texture-create-external
Expose a function to create textures from a native handle in the compatibility renderer
2024-09-19 17:13:27 +02:00
David Snopek
7d56b09f23 Expose a function to create textures from a native handle in the compatibility renderer 2024-09-19 09:05:32 -05:00
Rémi Verschelde
0f27e7816f
Merge pull request #97131 from BastiaanOlij/fix_gles_canvas_background
Fix compatibility canvas background depth issue
2024-09-18 11:15:50 +02:00
Rémi Verschelde
21134e146a
Merge pull request #97032 from lalitshankarchowdhury/fix-audio-crash
Fix `AudioStreamMicrophone` crash on scene-reload
2024-09-18 11:15:44 +02:00
Bastiaan Olij
491a5d9450 Fix compatibility canvas background depth issue 2024-09-18 10:23:13 +10:00
Lalit Shankar Chowdhury
0e23c5fc9f
Fix AudioStreamMicrophone crash on scene-reload 2024-09-18 00:03:48 +05:30
Pablo Andres Fuente
84e24017b0
Adding a macro on NetSocketPosix to pick the right type for FIONREAD len
On Windows, `ioctlsocket` returns `len` as an unsigned long.
On Posix, `ioctl` returns `len` as an int.
This aims to fix #41287 bug, which was seen on Linux.
The implementation is just a new macro that is set with the proper type
for each platform.
2024-09-17 16:09:33 +02:00
Rémi Verschelde
9c4e3fbaaf
Merge pull request #97069 from patwork/fix-gles3-update-sky-cubemap
Fix for GLES3 radiance cubemap update
2024-09-17 09:18:01 +02:00
Rémi Verschelde
8c6210a3eb
Merge pull request #92290 from clayjohn/LOD-fixes
Use distance to AABB surface to calculate Mesh LOD instead of using supports
2024-09-16 13:34:04 +02:00
patwork
3038de4245 Fix for GLES3 radiance cubemap update 2024-09-16 11:32:36 +02:00
Rémi Verschelde
0f86f30cf0
Merge pull request #96860 from kroketio/from-ext-alloc-check
Vulkan: Account for externally backed textures
2024-09-13 11:21:58 +02:00
Sander
41fdc55b05 Vulkan: account for externally backed textures (i.e., created via texture_create_from_extension()), as such textures lack ownership information.
More info: #96832
2024-09-12 18:15:23 +03:00
Rémi Verschelde
cc52112144
Merge pull request #96643 from bruvzg/fs_links
[FileSystem Dock] Add symlink indicator and tooltip.
2024-09-12 10:28:44 +02:00
Rémi Verschelde
f8b29d54a3
Merge pull request #96863 from BlueCube3310/gles-align-fix
Compatibility: Fix alignment of compressed textures when retrieving
2024-09-12 09:25:39 +02:00
clayjohn
7ff106f828 Use distance to AABB surface to calculate Mesh LOD instead of using supports 2024-09-11 14:17:09 -07:00
BlueCube3310
0182294b37 Compatibility: Fix alignment of compressed textures when retrieving 2024-09-11 18:15:26 +02:00
Rémi Verschelde
62717f2953
Merge pull request #96822 from stuartcarnie/sgc/metal_out_of_bounds
Metal: Fix out of bounds crash when using debug draw modes
2024-09-11 12:35:20 +02:00
Rémi Verschelde
e9194702a3
Merge pull request #96840 from bruvzg/open_wstat
[Windows] Remove `_wstat` use in `FileAccessWindows::open_internal`
2024-09-11 12:34:28 +02:00
Rémi Verschelde
88e9af6b7c
Merge pull request #74830 from AThousandShips/win_time_fix
[Windows] Use `GetFileTime` for `FileAccess`
2024-09-11 12:34:18 +02:00
bruvzg
e16f8bae2e [Windows] Remove _wstat use in FileAccessWindows::open_internal 2024-09-11 09:48:09 +03:00
Stuart Carnie
34190fc360
Metal: fix out of bounds crash when using debug draw modes 2024-09-11 06:08:42 +10:00
clayjohn
29df589632 Implement instance uniforms in Compatibility renderer 2024-09-10 12:20:47 -07:00
Rémi Verschelde
bc4c60c933
Merge pull request #94893 from rune-scape/no-const-cast-mesh-storage
Avoid `const_cast` in `mesh_storage.h`
2024-09-10 09:51:22 +02:00
Yuri Rubinsky
af92fdb0ac Add basic support to evaluate operator value in shader language 2024-09-09 15:12:11 +03:00
Rémi Verschelde
584e5bbf84
Merge pull request #96509 from Rudolph-B/Issue-92091
Fix OpenGL shadow textures not honoring texture type when reusing textures
2024-09-08 23:21:52 +02:00
Rémi Verschelde
a87ceed163
Merge pull request #96639 from bruvzg/symlink_ren
Fix renaming directory symlinks on Linux.
2024-09-06 22:38:58 +02:00
Rémi Verschelde
aa07333abe
Merge pull request #96114 from BlueCube3310/sh-lightmap-packing
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-06 22:38:29 +02:00
bruvzg
da4f5fb953
[FileSystem Dock] Add symlink indicator and tooltip. 2024-09-06 14:55:07 +03:00
A Thousand Ships
7139f46c9a
[Windows] Use GetFileTime for FileAccess
Prevents DST from rearranging file times.
2024-09-06 13:53:46 +02:00
bruvzg
10f3c1f587
Add support for non-blocking IO mode to OS.execute_with_pipe. 2024-09-06 14:16:39 +03:00
bruvzg
3e936e795c
Fix renaming directory symlinks on Linux. 2024-09-06 13:22:20 +03:00
BlueCube3310
a89f4fa5a9 LightmapGI: Pack L1 SH coefficients for directional lightmaps 2024-09-05 22:46:58 +02:00
Miley Hollenberg
5e7fdef343
Fixed compiler error
Would cause a compiler error when compiled with `scons p=ios target=template_debug ios_simulator=yes arch=arm64`
2024-09-05 11:01:20 +02:00
Rémi Verschelde
f8aa1f8c57
Merge pull request #96502 from clayjohn/GLES3-screen-texture-angle
Only use backbuffer mipmaps in `SCREEN_TEXTURE` when generated.
2024-09-04 18:55:42 +02:00
Rémi Verschelde
82d7531a2e
Merge pull request #95990 from Breush/76166-sky-auto-radiance
Sky: Adapt radiance size if `AUTOMATIC_MODE` resolves to `REALTIME`
2024-09-04 17:12:02 +02:00
Alexis Breust
44e526d3d5 Sky: No more auto-selecting REALTIME mode if radiance is not 256 2024-09-04 10:54:08 +02:00
bruvzg
d4e78b8db5
Store GLES over GL status in the OS to avoid direct renderer includes in the editor. 2024-09-03 16:11:59 +03:00
Rémi Verschelde
cd2f14e66b
Merge pull request #96455 from Praytic/msaa-support-macos
Enable MSAA support for all non-web platforms
2024-09-03 11:43:59 +02:00
Rémi Verschelde
6de2d31a61
Merge pull request #96351 from stuartcarnie/sgc/metal_light_betsy
Metal: Enable for betsy and lightmapper modules in compatibility mode
2024-09-03 11:43:42 +02:00
Rémi Verschelde
a2b64ed544
Merge pull request #95961 from RadiantUwU/fix-mesh-recursion
Fix shadow mesh recursion.
2024-09-03 11:43:16 +02:00
Rudolph Bester
359aaa48ee Fixed OpenGL shadow textures not honoring texture type when reusing textures 2024-09-03 07:12:51 +02:00
clayjohn
d2f5c1a552 Only use backbuffer mipmaps in SCREEN_TEXTURE when generated. 2024-09-02 17:04:17 -07:00
Rémi Verschelde
4e5dd4fa5d
Merge pull request #96413 from Maran23/gpuparticles-amd-fix
Fix GPUParticles are not rendered for older AMD GPUs with OpenGL+Angle
2024-09-02 12:13:49 +02:00
Rémi Verschelde
f50ead48b0
Merge pull request #96128 from BlueCube3310/vram-profiler-texture-mem
Fix incorrect parameters for layered textures in VRAM texture memory profiler
2024-09-02 12:13:11 +02:00
Rémi Verschelde
61be39aed2
Merge pull request #96045 from darksylinc/matias-TheForge-pr02
Add `VK_EXT_astc_decode_mode` support
2024-09-02 12:13:04 +02:00
Rémi Verschelde
527c716784
Merge pull request #92167 from BlueCube3310/file-access-the-final-season-part3-ep2
Reduce code duplication in FileAccess
2024-09-02 12:12:42 +02:00
Praytic
fc955fa89f Enable MSAA support for all non-web platforms
MSAA support is built into GLES3 core, eliminating the need to check for GL_EXT_framebuffer_multisample, which was necessary only in GLES2 due to the lack of inherent multisample framebuffer support. This commit corrects an oversight from GLES2-based code, ensuring compatibility with GLES3 where multisampling is natively supported without extensions.
2024-09-01 18:26:49 -07:00
Marius Hanl
9cc9df52eb Fix GPUParticles are not rendered for older AMD GPUs with OpenGL+Angle
Using a better and faster algorithm for the float conversions
2024-09-01 20:22:30 +02:00
Yahkub-R
6db8e3b6b1 Fix Windows importer issue with new file detection 2024-09-01 10:24:29 -04:00
BlueCube3310
205a10e0ae Reduce code duplication in FileAccess 2024-09-01 12:39:32 +02:00
BlueCube3310
e74bc3079a Fix incorrect parameters for layered textures in Video RAM texture memory profiler 2024-09-01 11:49:30 +02:00
Radiant
70860aafd8 Fix shadow mesh recursion. 2024-08-31 22:31:43 +03:00
Stuart Carnie
a7a245de92
Metal: enable for betsy and lightmapper modules
To support this, the rendering_context_driver_metal.h header was updated
to recognise when it is included in non-Objective-C source files.
2024-08-31 08:29:07 +10:00
Patrick Dawson
f381cee82f Metal: bind index buffer with offset 2024-08-30 22:37:51 +02:00
bruvzg
b130cf0361 [Windows] Fix handling X: paths. 2024-08-29 15:58:59 +03:00
Rémi Verschelde
fd7239cfab
Merge pull request #96258 from SaracenOne/win32_rename_fix
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Fix Win32 rename function.
2024-08-29 10:36:53 +02:00
Saracen
6069cb3475 Fix Win32 rename function. 2024-08-29 03:54:02 +01:00
rune-scape
f04a9bb630 Avoid const_cast in mesh_storage.h 2024-08-28 14:46:03 -07:00
Alula
346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
Rémi Verschelde
f648de1a83
Merge pull request #96209 from stuartcarnie/sgc/96077/fix_sdfgi
Metal: Use correct operator to ensure specialisation constants are sorted
2024-08-28 13:14:34 +02:00
Stuart Carnie
4b02c9bb0a
Metal: Use correct operator to ensure all specialisation constants are applied
Fixes #96077
2024-08-28 20:07:19 +10:00
bruvzg
ae334e069c
[Windows] Always use absolute UNC paths and long path aware APIs, add "long path aware" flag to the application manifest. 2024-08-28 11:15:57 +03:00
Chaosus
f538376c3b Add CLIP_SPACE_FAR built-in to spatial shader 2024-08-27 08:48:46 +03:00
Rémi Verschelde
850067d686
Merge pull request #96089 from stuartcarnie/sgc/metal_tidy_up
Metal: Minor improvements to shader cache
2024-08-26 22:45:54 +02:00
Stuart Carnie
6de70e6b8a
Metal: Minor improvements to #96052; update logger subsystem name 2024-08-27 05:47:06 +10:00
BlueCube3310
e8b4568900 Compatibility: Fix crash when initializing certain compressed layered textures 2024-08-26 13:24:00 +02:00
Rémi Verschelde
28a72fa434
Merge pull request #95934 from bruvzg/win_ang_fb
Enable fallback from ANGLE to native and improve ANGLE error messages.
2024-08-25 22:51:38 +02:00
Rémi Verschelde
5f7060c18a
Merge pull request #96052 from stuartcarnie/sgc/metal_shader_compilation
Metal: Improve startup times by using concurrent shader compilation APIs
2024-08-25 22:24:24 +02:00
bruvzg
a07f92a81c [Windows] Move __REQUIRED_RPCNDR_H_VERSION__ to the header. 2024-08-25 22:57:35 +03:00
bruvzg
f8a6c0e8ab
Enable fallback from ANGLE to native and improve ANGLE error messages. 2024-08-25 21:19:54 +03:00
Rémi Verschelde
68d188d521
Merge pull request #95888 from clayjohn/Lightmap-SH-coefficients
Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
2024-08-25 20:18:18 +02:00
Matias N. Goldberg
59d0422dcd Disable extra memory tracking by default
PR #90993 added several debugging utilities.

Among them, advanced memory tracking through the use of custom
allocators and VK_EXT_device_memory_report.

However as issue #95967 reveals, it is dangerous to leave it on by
default because drivers (or even the Vulkan loader) can too easily
accidentally break custom allocators by allocating memory through std
malloc but then request us to deallocate it (or viceversa).

This PR fixes the following problems:
 - Adds --extra-gpu-memory-tracking cmd line argument
 - Adds missing enum entries to
RenderingContextDriverVulkan::VkTrackedObjectType
 - Adds RenderingDevice::get_driver_and_device_memory_report
    - GDScript users can easily check via print(
RenderingServer.get_rendering_device().get_driver_and_device_memory_report()
)
- Uses get_driver_and_device_memory_report on device lost for appending
further info.

Fixes #95967
2024-08-24 20:52:39 -03:00
Stuart Carnie
2ef1ef63a5
Metal: Improve startup times by using concurrent shader compilation APIs 2024-08-25 09:05:58 +10:00
Matias N. Goldberg
d26c2f86cc Add VK_EXT_astc_decode_mode support
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-24 17:58:12 -03:00
Rémi Verschelde
e3550cb20f
Merge pull request #95975 from darksylinc/matias-TheForge-hotfix
Fix build error in arm32
2024-08-24 01:01:37 +02:00
Matias N. Goldberg
38ae58bda2 Fix build error in arm32
Fixes #95973
2024-08-23 12:52:47 -03:00
Stuart Carnie
bbc7962fe2
Metal: fix artefacts for mobile render method and return false for multi-view support 2024-08-22 21:34:53 +10:00
Rémi Verschelde
568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Rémi Verschelde
37ae2a2900
Merge pull request #95921 from akien-mga/scons-validate-opt-in-drivers
SCons: Better validation for platform-specific opt-in drivers
2024-08-22 00:10:56 +02:00
Rémi Verschelde
39b77ea04e
Merge pull request #95790 from aaronfranke/rect-aabb-support
Simplify Rect2/AABB `get_support` function
2024-08-22 00:10:39 +02:00
Matias N. Goldberg
364f916f3f
Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
Rémi Verschelde
6e9bcc0f18
SCons: Better validation for platform-specific opt-in drivers
This replaces cryptic compilation errors with a clear error message
and early build termination.
2024-08-21 22:53:34 +02:00
clayjohn
f4ccba7508 Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases
2024-08-21 10:24:32 -07:00
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
Stuart Carnie
41875d8aef
macOS/iOS: Fix various warnings when targeting newer SDKs 2024-08-20 11:55:21 +02:00
Rémi Verschelde
033054f182
Merge pull request #95838 from olawlor/vertex65536bugfix
Fix GLES3 crash with Mesh surface with exactly 65536 vertices
2024-08-20 10:03:06 +02:00
Rémi Verschelde
6a9ecdcf0c
Merge pull request #91818 from rburing/fti_multimesh
Physics interpolation: `MultiMesh`
2024-08-20 10:01:46 +02:00
Rémi Verschelde
8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +02:00
Rémi Verschelde
333f0f910f
Merge pull request #86000 from jsjtxietian/add-missing-model_normal_matrix
Add `model_normal_matrix` for fragment shader
2024-08-20 10:01:36 +02:00
Orion Lawlor
bde165ccb3
Fix GLES3 crash with Mesh surface with exactly 65536 vertices
Fixes #95837.
2024-08-20 09:08:16 +02:00
Aaron Franke
7db24a9ad5
Simplify and fix Rect2/AABB get_support function 2024-08-19 23:55:31 -07:00
jsjtxietian
e698351db2 Add model_normal_matrix for fragment shader 2024-08-20 12:39:29 +08:00
Rémi Verschelde
6bf64027b7
Merge pull request #94785 from Chaosus/shader_fix_samplers_order
Fix texture samplers to not being last in the property list
2024-08-19 16:05:21 +02:00
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