Commit graph

910 commits

Author SHA1 Message Date
Scott Mansell
ed3ad9458d
Merge pull request #11418 from shuffle2/sdl
sdl: update to latest sdl2
2023-02-01 00:03:35 +13:00
Scott Mansell
5d7643a680 CMake/MSVC: Fix conflicting flags in mbedtls
This cmake file directly sets CMAKE_<LANG>_FLAGS, which doesn't
show up in the COMPILE_COMMANDS target property and so our
dolphin_disable_warnings_msvc macro failes to remove it.

So we will just commit it out.
2023-01-31 23:21:07 +13:00
Shawn Hoffman
6d4b3e6348 sdl: update to latest sdl2 2023-01-24 04:46:53 -08:00
OatmealDome
84a61ef339 Externals: Update MoltenVK to 1.2.2 2023-01-24 00:22:14 -05:00
Pokechu22
597f8f1b87 Externals: Convert gtest to a submodule and update to v1.12.1 2023-01-20 11:43:34 -08:00
OatmealDome
dc4284652c implot: Don't compile implot_demo.cpp 2023-01-16 13:49:20 -05:00
Pokechu22
e344eb7f00 Externals: Exclude libcurl.rc from the build
For some reason, when this is included, the linking step creates a temporary file in %TEMP% with a random name; the file is deleted afterwards and a new random name is used on a later build. Because this file doesn't exist on a later build, curl gets re-linked each time, and then all of the projects that depend on curl also get re-linked. This adds around 10 seconds to the build time even for small changes.

To make things worse, I don't think libcurl.rc does anything useful since we statically link curl; I believe the metadata contained in it only applies when building a dll. (It does seem to be included in curl.lib, but gets discarded when linking Dolphin.exe.)

See Build\x64\Release\curl\curl.tlog\Lib-link-cvtres.write.1.tlog for the log that shows this path (the file is also mentioned after setting Tools -> Options... -> Projects and Solutions -> Build and Run -> MSBuild project build output verbosity to diagnostic, but not in a useful way).
2023-01-06 14:45:37 -08:00
Sam Belliveau
1c85143aba Fix ImPlot Build Directory 2022-12-22 23:22:13 -05:00
Sam Belliveau
5ca438dd97 Add Dear ImPlot Library 2022-12-22 14:32:42 -05:00
OatmealDome
33dcb1010e Externals: Update MoltenVK to 1.2.1 2022-12-09 01:46:08 -05:00
TryTwo
76bf1b5f7d Add callstack to conditional breakpoints. Checks entire stack for value.
Use: callstack(0x80000000).
  !callstack(value) works as a 'does not contain'.
Add strings to expr.h conditionals.
  Use quotations: callstack("anim") to check symbols/name.
2022-12-03 20:52:17 -07:00
Admiral H. Curtiss
49252a0217
Externals: Update cubeb to mozilla/cubeb@27d2a102b0. 2022-11-26 05:21:58 +01:00
Admiral H. Curtiss
59b1419a8e
Externals: Update cubeb to mozilla/cubeb@773f16b7ea and make it a submodule.
CMakeLists.txt has been extracted and modified a bit to work with Dolphin's typical build settings.
2022-11-26 05:05:52 +01:00
TellowKrinkle
db8f08b2bb Externals: Update SDL to 2.26.0 2022-11-24 15:33:42 -06:00
Shawn Hoffman
b051903c3d fmt: do not define uint type in global namespace 2022-11-23 12:09:59 -08:00
Pokechu22
f1625751c4 Externals: Update fmt to 9.1.0 2022-11-23 12:09:59 -08:00
Admiral H. Curtiss
2a81fa6c26
Merge pull request #11015 from TryTwo/Conditional_Breakpoints
Conditional breakpoints
2022-11-13 01:06:52 +01:00
Robin Kertels
5e96733e35
Externals: Add VMA 2022-10-23 02:33:03 +02:00
OatmealDome
68b33b9718 MoltenVK: Update framebuffer fetch patch for 1.2.0 2022-10-18 17:52:06 -04:00
OatmealDome
4b790b10ae Revert "MoltenVK: Add patch to resolve a crash on macOS Mojave"
This reverts commit dae3bf9a7d.
2022-10-18 17:43:18 -04:00
OatmealDome
0928060a23 MoltenVK: Update to version 1.2.0 2022-10-18 17:40:43 -04:00
smurf3tte
3417920167 Grow internal expr int representation to 64 bits
This is necessary to retain precision above 32 bits, but more importantly to prevent an expression like (0x80000000 | 1) from flipping the sign of the result.
2022-10-06 21:34:44 -07:00
smurf3tte
11851a01e6 Expand expr's support for numeric literals
- Support hex prefix 0x or OX
- Support scientific notation

Also, reconcile the bitwise complement operator with C (use ~ instead of ^).
2022-10-06 21:34:44 -07:00
smurf3tte
7842f9a715 Debugger: Initial implementation of conditional breakpoints
Expression class to store compiled expressions and associated variable list.

Co-authored-by:  TryTwo <taolas@gmail.com>
2022-10-06 21:34:44 -07:00
JMC47
08f78b1445
Merge pull request #10705 from Zopolis4/cmake
Fixes for cmake shared library detection.
2022-09-22 21:58:53 -04:00
Shawn Hoffman
9ab0902be5 spng: define SPNG_STATIC when compiling spng itself
Previously was only defined for things including it.
Not really a bug, but it was leaking symbols into exports.
2022-09-10 23:22:42 -07:00
Shawn Hoffman
51d9ef269c update zlib-ng ce01b1e41da298334f8214389cc9369540a7560f
enables fast crc32 on msvc/arm64
2022-09-07 10:32:22 -07:00
Shawn Hoffman
97064eb7a0 SDL: update to 42d09a8f42e3fbac7171d065199667b182da3fb4
post-v2.24.0 commit
fixes SDL hotplugging issues on windows
2022-08-30 15:22:40 -07:00
JosJuice
32ea725a10
Merge pull request #11010 from OatmealDome/mvk-mojave-patch
MoltenVK: Add patch to resolve a crash on macOS Mojave
2022-08-27 19:34:43 +02:00
OatmealDome
dae3bf9a7d MoltenVK: Add patch to resolve a crash on macOS Mojave 2022-08-23 18:57:31 -04:00
Pokechu22
0fcff9f5ea cmake: Use C++20 for ImGui
We use Dolphin code (specifically Common's ASSERT) from ImGui, and that will use C++20 features in the next commit, so ImGui needs to be built with C++20 for that to work properly.
2022-08-23 12:09:51 -07:00
Admiral H. Curtiss
8b7e6f1863
Merge pull request #10933 from shuffle2/vs
msbuild: fix overbuilding of externals and lessen rebuild likelyhood
2022-08-22 15:19:13 +02:00
OatmealDome
df19588032 MoltenVK: Update to v1.1.11 2022-08-15 01:30:31 -04:00
Shawn Hoffman
a1941156b6 SDL: update submodule to 5aa438e80aabe3570c0ef807d9b22bcd9835ced6
for a Windows.Gaming.Input fix
2022-08-08 16:10:10 -07:00
Shawn Hoffman
c5da2877cc msbuild: refactor to reduce rebuild events
* moves dolphin-specific settings out of Base.props
* creates exports.props for externals, allowing to easily import
  individual Externals
* corrects some cruft that accumulated and probably contributed
  to msbuild overbuilding
2022-08-02 22:24:22 -07:00
Tillmann Karras
d033d92b05 Move to C++20 for non-MSVC compilers 2022-07-30 23:35:53 +01:00
Admiral H. Curtiss
f09c9f211f
CMake: Set SKIP_INSTALL_ALL for zlib-ng to avoid installing it. 2022-07-27 12:29:51 +02:00
Shawn Hoffman
acb10f0006 replace libpng with libspng 2022-07-25 18:32:16 -07:00
Shawn Hoffman
a363e8147e add spng submodule 2022-07-25 18:32:16 -07:00
Shawn Hoffman
c3b64012d1 replace zlib with zlib-ng
since the benefits are so high, don't link with shared zlib
2022-07-24 14:33:37 -07:00
Shawn Hoffman
1a78d5b9e7 add zlib-ng submodule 2022-07-24 14:18:16 -07:00
Admiral H. Curtiss
fdc327c252
Externals/FatFs: Build as part of Dolphin.
Co-authored-by: Pablo Stebler <pablo@stebler.xyz>
2022-07-11 23:11:37 +02:00
Admiral H. Curtiss
4ad00e84e7
Externals/FatFs: Configure for Dolphin. 2022-07-11 23:10:13 +02:00
Admiral H. Curtiss
f43ffca488
Externals/FatFs: Avoid conflicts with Windows.h. 2022-07-11 23:10:12 +02:00
Admiral H. Curtiss
bd02356e49
Externals: Add FatFs R0.14b, including the UTF-8 fix from April 4, 2022 at http://elm-chan.org/fsw/ff/patches.html 2022-07-11 23:10:12 +02:00
Jun Bo Bi
ceed42a0ee Add SDL as a submodule 2022-07-10 15:38:59 -07:00
Admiral H. Curtiss
cdd8c00159
Externals: Disable warnings-as-errors for spirv_cross. 2022-07-10 00:57:37 +02:00
iwubcode
1c90d836a5 Externals: add spirv-cross using upstream commit 50b4d5389b6a06f86fb63a2848e1a7da6d9755ca
Co-authored-by: tellowkrinkle <tellowkrinkle@gmail.com>
2022-06-24 17:52:31 -05:00
Mai M
0c6b6b74bf
Merge pull request #10726 from OatmealDome/mvk-1.1.10
MoltenVK: Update to version 1.1.10
2022-06-08 22:46:43 -04:00
OatmealDome
e1fd741bf5 MoltenVK: Update to version 1.1.10 2022-06-08 02:33:06 -04:00
Tillmann Karras
79a7bf02eb
CMake: rename minizip to minizip-ng
minizip-ng is the new name used by the upstream project as well as all
distros other than Fedora (but it looks like it will be renamed there).
2022-06-06 14:21:43 +02:00
Zopolis4
b31754980c
Fix cmake detection of libudev in hidapi broken in #9071 2022-05-30 11:04:49 +10:00
Tilka
bb2a3d35b0
Merge pull request #10627 from Zopolis4/pugixml
Update pugixml to v1.12.1
2022-05-29 01:04:49 +01:00
Admiral H. Curtiss
6ea7af13e8
cmake: Disable warnings for most externals on MSVC, like we do in the VS project files. 2022-05-22 00:30:56 +02:00
Admiral H. Curtiss
89fadd26a6
cmake: Use C++latest everywhere on MSVC. 2022-05-22 00:29:48 +02:00
Admiral H. Curtiss
96e2f1f95e
Externals: Update prebuilt Qt submodule to include mkspecs -- the CMake build process wants them. 2022-05-22 00:29:47 +02:00
Scott Mansell
0909e00117
cmake: fix MSVC PCH support
I'm not sure if the previous implementation ever worked.
2022-05-22 00:29:47 +02:00
Scott Mansell
d2df9afda2
cmake: Fix libusb on windows 2022-05-22 00:29:46 +02:00
Shawn Hoffman
7b8e6c5b36 fmt: do not define uint type in global namespace 2022-05-10 21:17:10 -07:00
Shawn Hoffman
357dc72f97 fmt: fix 'unused variable' warnings 2022-05-10 19:19:52 -07:00
Shawn Hoffman
5bcc11a303 fmt: update to f63afd161fb27132d394d0664ef7eb8ff38b8422 2022-05-10 16:12:29 -07:00
spycrab
004e8a80b2 Add support for building against Qt 6 2022-05-02 22:39:33 -07:00
Mai M
f8c603a2dd
Merge pull request #10618 from shuffle2/fast-test
msbuild/msvc: compile speed improvements
2022-05-02 19:11:56 -04:00
Admiral H. Curtiss
68b260746b
Externals/pugixml: Configure new version for use in Dolphin. 2022-05-02 08:38:25 +02:00
Zopolis4
8447c90378
Update pugixml to v1.12.1 2022-05-02 13:43:58 +10:00
iwubcode
6d528a72eb Externals: Update glslang.
This updates glslang to commit 9bb8cfffb0eed010e07132282c41d73064a7a609
which is the current version listed in the known_good.json file for the
version 1.3.212 of the Vulkan-ValidationLayers repo.
2022-04-30 00:37:59 -05:00
Shawn Hoffman
64cd4cc86f msbuild: use default Project attrs
maybe it makes the xml less scary :D
2022-04-27 15:26:43 -07:00
Shawn Hoffman
44951a4cbc use fmt as static library instead of headers
reportedly improves compile time
2022-04-26 16:32:29 -07:00
Shawn Hoffman
16c90329f3 SoundTouch: remove common types from global namespace 2022-04-26 12:44:47 -07:00
Mai M
4cd48e609c
Merge pull request #10609 from OatmealDome/mvk-1-1-9
MoltenVK: Update to version 1.1.9
2022-04-24 17:44:13 -04:00
OatmealDome
91fddeb09c MoltenVK: Update to version 1.1.9 2022-04-24 16:53:45 -04:00
Shawn Hoffman
0a07c76333 update libusb submodule to latest 2022-04-22 07:07:20 -07:00
Shawn Hoffman
70507c2237 update to libusb v1.0.26
moves libusb from vendored to submodule
2022-04-17 20:01:19 -07:00
Shawn Hoffman
8466d438d3 cmake: fix build of mbedtls from Externals 2022-04-11 03:55:47 -07:00
Mai M
417531f469
Merge pull request #10545 from OatmealDome/mbedtls-2.28.0
Externals: Update mbedtls to 2.28.0
2022-04-08 20:52:25 -04:00
OatmealDome
d8a5a8827e Externals: Update mbedtls to 2.28.0 2022-04-02 19:30:22 -04:00
Shawn Hoffman
09432ef098 windows: move ffmpeg bins to submodule
udpate ffmpeg to b1cbeabf5e4b3234e895a58bafa371bfb792baf0
enable ffmpeg on arm64
2022-03-29 17:27:46 -07:00
Pokechu22
72c7977c72 Externals: Use Common ASSERT for IM_ASSERT
This does introduce a dependency on common and on fmt from imgui, but gives a better experience.
2022-03-25 10:37:20 -07:00
Pokechu22
9e19d10f9d Externals: Enable IMGUI_DISABLE_OBSOLETE_FUNCTIONS 2022-03-25 10:24:07 -07:00
Mai M
bd83bdb732
Merge pull request #10437 from AdmiralCurtiss/minizip-ng
Externals: Update minizip to minizip-ng version 3.0.4.
2022-02-08 00:28:20 -05:00
Mai M
0d5786059b
Merge pull request #10438 from OatmealDome/mvk-1.1.7
MoltenVK: Update to v1.1.7 (Vulkan SDK 1.3.204)
2022-02-08 00:27:34 -05:00
OatmealDome
14be17effe MoltenVK: Update to v1.1.7 (Vulkan SDK 1.3.204) 2022-02-07 01:31:47 -05:00
Admiral H. Curtiss
ca31964833
Externals: Update minizip to minizip-ng version 3.0.4. 2022-02-06 18:43:45 +01:00
iwubcode
8e3dbe9671 Externals / Vulkan: update Vulkan headers to v1.3.204. Fix default present mode in Vulkan swap chain 2022-01-29 00:47:51 -06:00
Pokechu22
1a2e88cbf3 Externals: Update fmt to 8.1.1 2022-01-13 11:11:01 -08:00
OatmealDome
5e073cd4c9 MoltenVK: Update to version 1.1.6 2021-12-25 15:01:40 -05:00
OatmealDome
fad11e3532 MoltenVK: Add patch to turn on framebuffer fetch in SPIRV-Cross 2021-11-24 17:51:52 -05:00
OatmealDome
730df73cb3 MoltenVK: Don't run fetchDependencies unnecessarily 2021-11-24 16:56:33 -05:00
OatmealDome
f1f0853659 MoltenVK: Move version into a variable 2021-11-13 15:56:12 -08:00
OatmealDome
2209dc0355 MoltenVK: Use an external project instead of a pre-compiled dylib
Also, update MoltenVK to match Vulkan SDK 1.2.189.
2021-11-13 11:43:23 -08:00
Pokechu22
8b5c04de7b Externals/discord-rpc: Fix reference to discord_register.h 2021-10-29 12:14:05 -07:00
Pokechu22
db54e4f2b0 Externals: Update imgui to 1.85 2021-10-26 15:07:57 -07:00
Shawn Hoffman
2200658814 update mgba submodule 2021-10-04 06:18:06 -07:00
OatmealDome
b9ad174606 hidapi: Add new patches to applied patches folder 2021-08-09 21:34:02 -04:00
OatmealDome
25c85d827a hidapi: Don't leak device handle in macOS 10.10 or newer
Ported from libusb's hidapi fork. Original patch by Youw (cdc473dfe43f6432dda7ad53d7656b8ae8ff968b).
2021-08-09 21:24:10 -04:00
OatmealDome
b24599cf5b hidapi: Stop current run loop in removal callback instead of fetching from context 2021-08-09 21:15:17 -04:00
Shawn Hoffman
0e41cf392f msbuild: reduce number of cl batches for mgba 2021-07-21 04:51:41 -07:00
Bonta
44aaf108d1 Externals: Integrate mGBA as a submodule 2021-07-13 16:39:29 +02:00
Skyler Saleh
bcb3c7d80f Apple M1: Update MoltenVK
- Updated MoltenVK library in external to 1.2.170.0 (fixes swapchain crash)
2021-05-22 15:25:18 -07:00
Skyler Saleh
4ecb3084b7 Apple M1 Support for MacOS
This commit adds support for compiling Dolphin for ARM on MacOS so that it can
run natively on the M1 processors without running through Rosseta2 emulation
providing a 30-50% performance speedup and less hitches from Rosseta2.

It consists of several key changes:

- Adding support for W^X allocation(MAP_JIT) for the ARM JIT
- Adding the machine context and config info to identify the M1 processor
- Additions to the build system and docs to support building universal binaries
- Adding code signing entitlements to access the MAP_JIT functionality
- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support
2021-05-22 15:25:17 -07:00