Commit Graph

177 Commits

Author SHA1 Message Date
Lioncache dc85194fac Common/TraversalServer: Make use of fmt over sprintf where applicable
Resolves some deprecation warnings on macOS. This is better anyway, given fmt
has generic type formatting.
2023-12-18 13:08:57 -05:00
Tilka 773ffd04b8
Merge pull request #11497 from vyuuui/debugger_assembler_ui
Built-in assembler for debugger interface
2023-12-16 21:15:31 +00:00
vyuuui 38c15df464 Parser and Assembler implementations 2023-12-13 05:32:20 -08:00
Zopolis4 f0d2ce4683
Remove _M_X86 in favour of _M_X86_64 2023-11-28 23:03:20 +11:00
Admiral H. Curtiss 143a13622f
Merge pull request #12108 from noahpistilli/kd-check-mail
IOS/KD: Implement NWC24_CHECK_MAIL_NOW
2023-09-03 19:52:26 +02:00
Sketch 2154941c2c IOS/KD: Implement NWC24_CHECK_MAIL_NOW 2023-09-03 13:05:58 -04:00
JosJuice 6e88c44d5d Move SmallVector to Common
We had one implementation of this type of data structure in Arm64Emitter
and one in VideoCommon. This moves the Arm64Emitter implementation to
its own file and adds begin and end functions to it, so that VideoCommon
can use it.

You may notice that the license header for the new file is CC0. I wrote
the Arm64Emitter implementation of SmallVector, so this should be no
problem.
2023-08-22 13:19:49 +02:00
Admiral H. Curtiss fa81006b51
Merge pull request #11955 from TellowKrinkle/CMakeDependencies
CMake: Allow ignoring system packages
2023-06-30 19:06:04 +02:00
Admiral H. Curtiss 2a6f4d879c
CMake: Generate scmrev.h at build time instead of configure time. 2023-06-29 03:23:31 +02:00
get 07ad75f34f EnumUtils: Add Common::ToUnderlying
Mirrors the C++23 <utility> function, std::to_underlying
2023-06-17 07:15:33 -05:00
TellowKrinkle 5b10a80401 CMake: Use targets for all optionally-external dependencies 2023-06-15 01:41:41 -05:00
Lioncash 41df38cb7c Common: Move DebugInterface.h into Core
The base DebugInterface now depends on the Core's CPUThreadGuard, and
utilities in Common shouldn't be depending on Core facilities. So, we
can move this into the core library instead.
2023-06-12 10:35:31 -04:00
Admiral H. Curtiss 86f1ef1e33
Merge pull request #11707 from TellowKrinkle/CMakeIconv
CMake: Use find_package and imported targets for Iconv
2023-05-19 19:27:16 +02:00
Lioncash d991cbaf3c Common: Move CodeTrace.cpp/.h into Core
This interface relies on Core details and shouldn't be in Common to
begin with, since it's not a general utility.
2023-04-24 09:10:43 -04:00
Lioncash 5e0c20f8a5 Common/MathUtil: Remove MathFloatVectorSum()
This isn't used anywhere and not really a generic utility, so we can get
rid of it.

This also lets us remove MathUtil.cpp, since this was the only thing
within that file.
2023-04-15 03:25:38 -04:00
Lioncash 09e11b8067 Common: Rename ENetUtil.cpp/.h to ENet.cpp/.h 2023-04-11 11:48:46 -04:00
TellowKrinkle b9595a2230 CMake: Use find_package and imported targets for Iconv
Fixes us forgetting to add its include directories, which could result in linking to a dylib from MacPorts while using the system's header, and failing to link because they use different function names
2023-04-08 21:43:03 -05:00
Pokechu22 56fcc97f6d CMake: Check `WIN32` instead of `CMAKE_SYSTEM_NAME STREQUAL Windows` 2023-04-06 18:37:45 -07:00
Markus Wick 17d7b75a9b
Merge pull request #11544 from jmallach/spng
Allow building against system libspng
2023-02-09 14:47:58 +01:00
Scott Mansell 8c8bd0e7ac Rename to HookableEvent. Because naming conflict 2023-02-09 18:36:20 +13:00
Jordi Mallach 4d164fcb77 Allow building against system libspng 2023-02-06 13:30:46 +01:00
Scott Mansell 154cb4f722 Introduce an Event system to VideoCommon
A lot of the remaining complexity in Renderer is the massive Swap function
which tries to handle a bunch of FrameBegin/FrameEnd events.

Rather than create a new place for it. This event system will try
to distribute it all over the place
2023-01-31 19:41:24 +13:00
MayImilae 37859ec1da Cleanup: Remove CDUtils
This is a cleaning followup for #11456.
2023-01-28 03:50:57 -08:00
Shawn Hoffman dff7f20f9d windows: prefer os version from registry
this value is not modified by compatibility mode
drop reporting service pack numbers. no longer used
2023-01-17 01:38:00 -08:00
Shawn Hoffman 9dcae0b1c3 msvc: remove workaround for arm64 sha1 compiler bug 2022-12-22 00:44:29 -08:00
Admiral H. Curtiss 431301add3
Merge pull request #10771 from TryTwo/PR_AutoStep
Debugger: Implement base code tracing logic. and feature to auto-step through code.
2022-11-04 23:32:54 +01:00
TryTwo fb79c04cf1 MemoryView auto updateDebugger. Implement base codetrace logic. Add register breakpoints. Add CodeViewWidget autostepping to track a value.Debugger 2022-10-06 22:17:22 -07:00
Shawn Hoffman 717c36bc43 WinUpdater: Check OS and VC++ Redist versions. 2022-09-20 15:57:50 -07:00
Shawn Hoffman bf5076eb01 crypto/sha1: add real workaround for msvc/arm64 bad codegen 2022-08-02 23:05:45 -07:00
Shawn Hoffman 78142e30cc crypto/sha1: simplify enablement of sha insns on non-msvc 2022-08-02 23:05:07 -07:00
Shawn Hoffman 46ad8b9d68 Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
Shawn Hoffman dd29a54cf6 introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
Shawn Hoffman acb10f0006 replace libpng with libspng 2022-07-25 18:32:16 -07:00
Admiral H. Curtiss 77d4591fb4
Core: If configured, sync SD card image with SD card folder on emulation start and end.
Co-authored-by: Pablo Stebler <pablo@stebler.xyz>
2022-07-11 23:11:41 +02: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
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
Admiral H. Curtiss 580c721c82
cmake: Don't use PCH with Qt6. 2022-05-22 01:19:44 +02:00
Scott Mansell 876f6651b4
cmake: fix PCH to work with msvc/ninja
Ninja puts way more effort into compiling targets in parallel, and
ignores dependenceis until link time.

So we need to jump though hoops to force ninja to compile
pch.cpp before any targets which depend on the PCH.
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 987f270083
cmake: fix buggy target sources on windows
I have no idea why cmake supports PUBLIC on target_sources,
but it does. It causes all targets that depend on this target
to try and include the files in their sources.
Except it doesn't take paths into account, so it breaks. Mabye
it would work if you used an abolute source? But I'm not sure
there is a sane usecase.
2022-05-22 00:29:46 +02:00
Pokechu22 140c8217f6 Common: Create HRWrap
HRWrap now allows HRESULT to be formatted, giving useful information beyond "it failed" or a hex code that isn't obvious to most users.  This commit does not add any uses of it, though.
2022-01-09 12:44:15 -08:00
Pokechu22 301bc49efe Common: Remove MD5.h
It uses DiscIO, and Common shouldn't depend on DiscIO.  Instead, put this code in NetPlayClient.cpp.
2022-01-01 11:52:53 -08:00
Pokechu22 2652aed85c Common: Merge CRC32.h into Hash.h
This makes it easier to find the relevant functions.
2022-01-01 10:36:38 -08:00
Admiral H. Curtiss 812cc8b632
MemArena: Split into three separate files for each OS. 2021-12-25 20:20:36 +01:00
Pokechu22 94ccf765af Add option for setting the PNG zlib compression level 2021-11-18 13:10:22 -08:00
Emmanuel Gil Peyrot 3d662e746b Core: Fix a -Wshadow warning in gcc 11
This moves the only direct call to zlib’s crc32() into its own
translation unit, but that operation is cold enough that this won’t
matter in the slightest.  crc32_z() would be more appropriate, but
Android has an older zlib version…
2021-11-02 13:50:21 +01:00
Pokechu22 ba107819ec Create EnumMap 2021-10-24 11:48:36 -07:00
JosJuice b93983b50a Remove Atomic.h
The STL has everything we need nowadays.

I have tried to not alter any behavior or semantics with this
change wherever possible. In particular, WriteLow and WriteHigh
in CommandProcessor retain the ability to accidentally undo
another thread's write to the upper half or lower half
respectively. If that should be fixed, it should be done in a
separate commit for clarity. One thing did change: The places
where we were using += on a volatile variable (not an atomic
operation) are now using fetch_add (actually an atomic operation).

Tested with single core and dual core on x86-64 and AArch64.
2021-05-13 18:56:27 +02:00
Léo Lam a6f6211dde
Merge pull request #9633 from Pokechu22/BitfieldExtract-pointer-to-member
Change BitfieldExtract to use a pointer to the bitfield member
2021-05-08 00:21:15 +02:00
Pokechu22 0f7c9ef767 Change BitfieldExtract to use a pointer to the bitfield member 2021-05-07 15:11:17 -07:00