Commit Graph

1623 Commits

Author SHA1 Message Date
Rémi Verschelde 262c8da104
Merge pull request #95887 from bruvzg/sysinfo_drv
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-03 11:43:12 +02:00
Rémi Verschelde 109fafc7a4
Merge pull request #96383 from dsnopek/gdextension-pdb-missing-error
GDExtension: Show warning on missing PDB file, rather than error
2024-09-02 12:13:34 +02:00
bruvzg c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +03:00
Alvin Wong 35a8ff9284 mingw: Only use `ar --thin` on supported versions
The flag is supported since Binutils 2.38 [1] or LLVM 14 [2].

[1]: https://sourceware.org/bugzilla/show_bug.cgi?id=28759
[2]: dd6e7e0d57
2024-09-01 02:13:31 +08:00
David Snopek 760099ca6f GDExtension: Show warning on missing PDB file, rather than error 2024-08-31 07:45:06 -05:00
Rémi Verschelde 66dd06837c
Merge pull request #90782 from bruvzg/export_platform_extension
Allow adding custom export platforms using scripts / GDExtension.
2024-08-30 09:58:52 +02:00
Rémi Verschelde cb96fc95c3
Merge pull request #92316 from alula/msvc-clang
Add support for compiling with VS clang-cl toolset
2024-08-29 10:36:17 +02:00
Alula 346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
bruvzg d528f28275 [Windows] Fix OS.open_dynamic_library 2024-08-28 20:12:09 +03:00
Rémi Verschelde 2730d703a8
Merge pull request #94747 from alvinhochun/mingw-llvm-build-flags
Some improvements for MinGW and LLVM build on Windows
2024-08-28 13:14:19 +02:00
Alvin Wong 2d300a0bdc MinGW: Use thin archives to reduce disk space 2024-08-28 18:20:16 +08:00
Alvin Wong b5258b42c0 Enable Clang color output on Windows 2024-08-28 18:20:16 +08:00
Alvin Wong e9b6c1baf8 Windows/detect.py: Detect llvm-mingw GCC wrappers and set use_llvm 2024-08-28 18:20:16 +08:00
Alvin Wong 3a0837b74b Windows/detect.py: Simplify try_cmd function 2024-08-28 17:20:27 +08: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
Rémi Verschelde 96159ebc5d
Merge pull request #96192 from dsnopek/windows-gdext-adddlldirectory
Windows: Call `AddDllDirectory()` with an absolute path
2024-08-28 09:45:35 +02:00
bruvzg 07e986f728
Allow adding custom export platforms using scripts / GDExtension. 2024-08-28 10:29:01 +03:00
David Snopek e8bd385f53 Windows: Call `AddDllDirectory()` with an absolute path 2024-08-27 17:38:30 -05:00
Rémi Verschelde 73acb2a5b8
Merge pull request #94845 from alvinhochun/llvm-mingw-sanitizers
Windows: Add sanitizers for llvm-mingw, increase stack for ASan
2024-08-28 00:12:30 +02:00
Rémi Verschelde 330fca1ffd
Merge pull request #93985 from alvinhochun/windows-gpu-pref
Respect integrated GPU preference in Windows Settings
2024-08-28 00:11:45 +02:00
Rémi Verschelde 431c5839fe
Merge pull request #96168 from CreatedBySeb/remove-user-prefix
Remove confusing USER prefix from script-logged errors
2024-08-27 17:52:40 +02:00
Sébastien Dunne Fulmer c3ed8a842c
Remove confusing USER prefix from script-logged errors 2024-08-27 15:00:48 +01:00
bruvzg 9a2977fef1 [Windows] Hide cursor before moving. 2024-08-27 08:44:05 +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 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 100fbb51ab
Merge pull request #95665 from Hilderin/fix-drag-drop-between-window
Fix drag&drop between window on Windows
2024-08-22 00:10:35 +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
bruvzg 66832e9968 [Windows] Run native file dialogs in thread to make it non-blocking. 2024-08-19 12:58:16 +03:00
Hilderin 0987a9dc06 Fix drag&drop between window on Windows 2024-08-16 18:40:46 -04:00
bruvzg f72e74f395
[Windows/Linux] Check custom export templates architecture. 2024-08-16 15:52:12 +03:00
Rémi Verschelde b084b6a8bb
Merge pull request #94971 from bruvzg/drv_msgs
[Windows] Improve video driver error messages.
2024-08-16 14:32:50 +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
Alvin Wong 16a563b9ac DisplayServerWindows: Fix logic when creating with transient parent 2024-08-15 04:10:15 +08: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 e693ff814a
Merge pull request #95155 from bruvzg/win_pen_checks
[Windows] Reject `WM_POINTER(UP/DOWN)` messages for non pen pointer type.
2024-08-06 12:32:02 +02:00
bruvzg e5efde9481
[Windows] Reject WM_POINTER(UP/DOWN) messages for non pen pointer type. 2024-08-04 20:07:14 +03:00
bruvzg 27474c9563
[Windows] Check if transparency is enabled in the project setting before applying DWM blur. 2024-08-01 10:30:46 +03:00
Rémi Verschelde 1d57b81d26
Merge pull request #94976 from bruvzg/win_app_name
[Windows] Improve editor grouping, set friendly name registry key for exported projects.
2024-07-31 16:13:21 +02:00
bruvzg 3f8cc6678b [Windows] Improve editor grouping, set friendly name registry key for exported projects. 2024-07-31 15:04:00 +03:00
Rémi Verschelde 3fce516155
Merge pull request #94428 from alvinhochun/windows-angle-resize-sync
Windows: Update ANGLE surface size when window is resized
2024-07-31 11:37:37 +02:00
bruvzg 68ae413893 [Windows] Improve video driver error messages. 2024-07-31 11:16:38 +03:00
bruvzg ad0ab2f396
[Windows] Improve OpenGL/ANGLE switching on ARM64. 2024-07-30 10:11:58 +03:00
Rémi Verschelde 9a8f18b9bf
Merge pull request #94796 from kus04e4ek/backfall
Windows: Fall back to D3D12 if Vulkan is not supported and vice versa
2024-07-29 15:17:26 +02:00
Alvin Wong 25270d5907 Allow llvm-mingw sanitizers only on x86_32/x86_64 2024-07-28 17:21:35 +08:00
Alvin Wong 0cda0b935d Windows: Add sanitizers for llvm-mingw, increase stack for ASan
ASan and UBSan are supported by llvm-mingw. They can be enabled by
passing `use_asan=yes use_ubsan=yes` to scons.
2024-07-28 04:32:18 +08:00
bruvzg 5d5d51937f [Windows] Remove libSynchronization 2024-07-27 17:12:27 +03:00
Kusok d30c1e6a8f Fall back to D3D12 if Vulkan is not supported and vice versa 2024-07-27 16:17:20 +08:00
Rémi Verschelde 44342c385c
Merge pull request #94735 from aitorciki/nvdrs-memset-initialization
[Windows] Use default aggregate initialization for NVAPI settings
2024-07-26 13:44:13 +02:00