Commit Graph

1584 Commits

Author SHA1 Message Date
Connor McLaughlin ddbc143178 GS/DX12: Fix creating display textures mid-frame crashing 2022-06-20 07:28:12 +01:00
Connor McLaughlin 2b0e1a1dec Qt: Fix compiling with spaces in path on Windows 2022-06-18 22:57:51 +02:00
TellowKrinkle 04681babf1 Common: Add assertion failure message to crashlogs 2022-06-15 16:23:32 -05:00
Connor McLaughlin d1a235272e SettingsInterface: Add ContainsValue() and copy helpers 2022-06-11 14:37:57 +01:00
Connor McLaughlin afa29facc6 FileSystem: Add OpenSharedCFile() 2022-06-07 15:09:41 +01:00
Silent 33efc86788 Updater: Thread the UI updates, add a taskbar progress bar, add a marquee progress bar for indeterminate actions 2022-06-07 13:14:00 +02:00
Connor McLaughlin 394f1f2049 Vulkan: Enforce 32 byte alignment for uploads
It blows up on AVX2 stores on some drivers if we don't (e.g. AMD Linux).
2022-06-05 21:29:42 +01:00
Connor McLaughlin ca3833e71b VulkanHostDisplay: Avoid redundant resizes 2022-06-04 18:10:46 +01:00
Connor McLaughlin 457ec7f6f5 Threading: Add lightweight thread wrapper 2022-06-04 18:10:46 +01:00
Connor McLaughlin eeb09c54d8 GS/DX12: Use correct state for texture staging buffers 2022-06-04 18:10:46 +01:00
Connor McLaughlin 0a667bf18a SettingsInterface: Add optional accessors/mutators 2022-06-04 18:10:46 +01:00
TellowKrinkle f9c2327bf5 Qt: Respond to dark/light mode changes 2022-06-04 14:50:33 +01:00
TellowKrinkle beab9870cf Common: Move ObjC methods to CocoaTools 2022-06-04 14:50:33 +01:00
Connor McLaughlin a5124b118b FileSystem: Fix splitting UNC paths 2022-05-31 11:01:14 +01:00
TellowKrinkle fc06963c56 Common: Implement screensaver prevention on macOS 2022-05-30 16:38:01 -05:00
Connor McLaughlin 271e53a6bf Assertions: Fix message not being included for pxAssert() 2022-05-30 10:20:44 +01:00
Connor McLaughlin 5ef159876a Build: Don't rewrite svnrev.h unconditionally
Stops VS from recompiling the files which include it every time you hit
run.
2022-05-29 16:19:08 +01:00
Connor McLaughlin 822e508d13 D3D12: Don't call GetGPUDescriptorHandleForHeapStart() on non-shader-visible heaps 2022-05-28 05:50:21 +01:00
refractionpcsx2 43b53df0a0 Patches: Make cheats_ws.zip search case insensitive 2022-05-28 03:32:43 +01:00
C.W. Betts 66c6c2400a Some Qt for Mac fixes. 2022-05-27 21:21:48 -05:00
Connor McLaughlin 30096a5ae4 Qt: Add hardware check for SSE4 and AVX2 2022-05-27 17:39:09 +01:00
Master Builder a26b91291c Common/Linux/LnxHostSys: Fixed compatibility issues with FreeBSD, made error
handling more explicit
2022-05-26 00:28:44 +02:00
Connor McLaughlin 2365a9caab D3D12/Texture: Fix incorrect resource state for fallback staging buffer 2022-05-26 00:04:46 +02:00
Connor McLaughlin b5721a92e9 Misc: Fix a bunch of recent warnings from clang 2022-05-25 10:15:48 +01:00
Connor McLaughlin 1f802eca46 Common: Redo assertions, purge DiagnosticOrigin 2022-05-25 10:15:48 +01:00
Connor McLaughlin b919719aeb GzippedFileReader: Fix index creation 2022-05-22 16:13:12 +01:00
Connor McLaughlin ea051c6d5f Everything: Get rid of wx entirely from the Qt build 2022-05-22 13:58:56 +01:00
Connor McLaughlin 893b3c629d Everything: Remove a **lot** of wx, and px nonsense
- common has no wx left except for Path.
 - pcsx2core only has it in a few places (memory cards and path related
   stuff).
2022-05-22 13:58:56 +01:00
Connor McLaughlin c07c942659 Common/StringUtil: Handle error returns in StdStringFromFormatV() 2022-05-22 13:58:56 +01:00
Connor McLaughlin 7f8bfb22de Build: Fix revision extractor for Qt auto updater 2022-05-12 17:31:06 +01:00
Connor McLaughlin 221eaf1a81 Common/AlignedMalloc: Add move constructor/assignment 2022-05-12 15:08:45 +01:00
Connor McLaughlin d535331b4b Misc: Remove __fastcall, __fc, __concall and friends
These have no meaning in x64 (apart from throwing compiler warnings),
and we don't do 32-bit anymore. Also saves needing to include
`Pcsx2Defs.h` in files which don't otherwise need it.
2022-05-12 14:58:03 +01:00
Connor McLaughlin 38c48e8b6a Vulkan/Context: Don't write timestamp on an unreset query 2022-05-11 13:07:58 +01:00
Connor McLaughlin d19c767ad1 Common/Dependencies: Use deletion for declaring non-copyable
This is the preferred method in modern C++.
2022-05-09 16:06:33 +01:00
Connor McLaughlin d2347d9972 Common/Threading: Replace TLS macros with standard thread_local 2022-05-09 16:06:33 +01:00
Connor McLaughlin f8dcff9fc4 Common: Remove references to pthreads4w
It's only needed for wx now.
2022-05-09 16:06:33 +01:00
Connor McLaughlin e5716922a3 Common/Threading: Move a bunch of unnecessary wrappers to gui 2022-05-09 16:06:33 +01:00
Connor McLaughlin 65e956a01c Misc: Replace use of Threading::Mutex with std::mutex in core code 2022-05-09 16:06:33 +01:00
Connor McLaughlin 4baea67e75 Common: Remove RwMutex
It wasn't used, and if we need it, we can use std::shared_mutex.
2022-05-08 05:40:59 +01:00
Connor McLaughlin 1e8332f36a Misc: Move pxThread and friends to gui 2022-05-08 05:40:59 +01:00
Connor McLaughlin 096696bed7 Misc: Replace core usage of Semaphore with KernelSemaphore
i.e. decouple it from the UI.
2022-05-08 05:40:59 +01:00
Connor McLaughlin 64534542a9 Threading: Move a couple of function declarations to correct location 2022-05-08 05:40:59 +01:00
Connor McLaughlin b22e31c302 Common: Add WIN32_LEAN_AND_MEAN and NOMINMAX to RedtapeWindows.h
Otherwise, it doesn't get set for cmake.
2022-05-08 05:40:59 +01:00
arcum42@gmail.com 233195b020 Remove macros that 'might be needed again in the future'. 2022-05-07 05:26:46 +01:00
arcum42@gmail.com 13e09953af Remove unused code in Dependencies.h 2022-05-07 05:26:46 +01:00
Connor McLaughlin 8620febeb3 GL/Context: Load wayland-egl dynamically
Gets rid of the dependency on libwayland-egl, allowing us to always use
the system version.

Solves missing symbol issues by including it in the AppImage.
2022-05-06 01:00:24 +01:00
Connor McLaughlin bec9b34f54 Vulkan/SwapChain: Fix crash on fullscreen toggle with Mac 2022-05-05 23:23:48 +01:00
Connor McLaughlin 4543ddbcc2 Common/FileSystem: Don't recompress already compressed files 2022-05-05 09:46:52 +01:00
Connor McLaughlin 6a6ecbf826 Common: Remove ThreadCPUTimer as it's unused now 2022-05-02 14:25:05 +01:00
Connor McLaughlin 6ebb8c2e91 Threading: Add ThreadHandle class 2022-05-02 14:25:05 +01:00
Connor McLaughlin 5eae7a6328 Threading/Win32: Use QueryThreadCycleTime() for thread CPU time 2022-05-02 14:25:05 +01:00
arcum42@gmail.com 38fa137cfd build: Include CrashHandler.cpp in cmake. Fixes #5938. 2022-04-24 01:42:10 +01:00
Connor McLaughlin abde47fa18 Common: Add CrashHandler 2022-04-21 14:21:49 +01:00
Connor McLaughlin b913d39a50 Common/Timer: Fix closing invalid handle on Win32
Only is an issue if you have a debugger attached and the exception
enabled.
2022-04-17 10:45:22 +01:00
TellowKrinkle eb60e9aa9b Common: Avoid libstdc++ assert 2022-04-17 10:44:02 +01:00
Connor McLaughlin 0e9dcf74b2 Common/Semaphore: Fix WaitWithYield() returning immediately
This caused the WaitGS() issued from the main thread when applying
renderer settings (while the core thread was paused) to return
immediately, and a massive race resuming.
2022-04-15 19:43:22 +01:00
Connor McLaughlin edf5e2c14e Vulkan/Context: Use static loading for vk_mem_alloc
In doing so, we simplify things a bit, as we can assume Vulkan 1.1
support. It needed it before anyway, and would crash on Vulkan 1.0
drivers.
2022-04-15 19:41:12 +01:00
Connor McLaughlin 9180adb850 VulkanHostDisplay: Handle surface loss better
Just try again next frame.
2022-04-15 19:41:12 +01:00
Connor McLaughlin 1b080f1777 Vulkan/Loader: Make vkDestroyInstance() a module import 2022-04-15 19:41:12 +01:00
Connor McLaughlin 3c18cdcb1f Frontend: Add D3D12HostDisplay 2022-04-15 12:56:41 +01:00
Connor McLaughlin e767fb8d35 Common: Add D3D12 wrapper/helper classes 2022-04-15 12:56:41 +01:00
Connor McLaughlin 3255422836 Common/StringUtil: Optimize equal stride copy case 2022-04-15 12:56:41 +01:00
Connor McLaughlin 0592abd31b GL/ContextEGL: Fix broken surface creation
Regression from #5676.
2022-04-15 11:46:07 +01:00
Connor McLaughlin f86b3a32cd Qt: Switch to QtEntryPoint.lib instead of explicit main() 2022-04-15 08:53:02 +01:00
Connor McLaughlin 59d6113ee4 VSProps: Fix Qt TLS plugins not getting copied 2022-04-15 08:53:02 +01:00
Connor McLaughlin f270f34865 Qt: Move to Qt 6.3.0 2022-04-15 08:53:02 +01:00
tcoyvwac 5389178644 Common: Prefer standard algorithms
GL/ContextEGL.cpp:
Prefer std::find_if over ranged-for.
2022-04-15 08:42:29 +01:00
tcoyvwac 6cbdc8c8b7 Common: Prefer pre-built array-form to assign values.
GL/ContextEGL.cpp:
Replace raw-index manipulation / arithmetic as logic. Now a variable-length array.
2022-04-15 08:42:29 +01:00
tcoyvwac 6e6a70b8ed Common: Prefer returning std::array by lambda expression
GL/ContextEGL.cpp:
Replace raw-index manipulation / arithmetic as logic. Variable now using IIFE (Immediately invoked function expression) to strengthen immutability.
2022-04-15 08:42:29 +01:00
TellowKrinkle 1a0a0423e7 Core: Switch MTGS and SysThreadBase to WorkSema 2022-04-15 08:41:58 +01:00
TellowKrinkle b28779b0f6 Common: Add dead thread support to WorkSema
MTGS supports having exceptions kill the thread and send their result back to a thread calling WaitGS...
2022-04-15 08:41:58 +01:00
TellowKrinkle d733730950 Common: Add WorkSema 2022-04-15 08:41:58 +01:00
Connor McLaughlin 864651ce8d System: Purge WinCompressNTFS.cpp
This is the most overengineered, stupid rubbish I've ever seen.
2022-04-15 08:15:40 +01:00
Connor McLaughlin a635e84d82 FileSystem: Add path splitting helpers 2022-04-15 08:15:40 +01:00
Connor McLaughlin 80aaa962ec Common: Move IniInterface to WX GUI
Qt doesn't use it.
2022-04-15 08:15:40 +01:00
Connor McLaughlin 876ea3db52 Common: Purge pxStreams and some other wx string routines 2022-04-15 08:15:40 +01:00
Connor McLaughlin 4779bc830a StringUtil: Add more whitespace cleaners and ParseAssignmentString 2022-04-15 08:15:40 +01:00
Connor McLaughlin dd8a645986 SaveState: Use libzip instead of wx 2022-04-15 08:15:40 +01:00
Connor McLaughlin d387a1f4dc GS: Support compiling without OpenGL renderer 2022-04-15 07:21:18 +01:00
refractionpcsx2 e5f90f176c Emitter: Fix s8 problem with displacements 2022-04-11 21:09:12 +01:00
Connor McLaughlin f9707e6809 LnxMisc: Use clock_gettime() instead of gettimeofday() 2022-04-07 21:22:24 +01:00
TellowKrinkle 5ecaa9459d GS: Add Metal renderer 2022-03-31 23:51:27 -05:00
TellowKrinkle cfe2f9e6b4 Common: Add helpers for enum classes 2022-03-31 23:51:27 -05:00
Connor McLaughlin 76b4e93604 Vulkan/ShaderCache: Don't delete cache when running 2 instances 2022-03-30 12:38:08 +02:00
Connor McLaughlin cec089a271 D3D11/ShaderCache: Don't delete cache when running 2 instances 2022-03-30 12:38:08 +02:00
Connor McLaughlin e5248db844 StringUtil: Add SplitString() 2022-03-25 12:51:31 +00:00
Connor McLaughlin 47fff9304b FileSystem: Add DeleteDirectory() and recursive variant 2022-03-25 10:26:09 +00:00
lightningterror d89daa1b25 misc: A few more 32bit cleanups. 2022-03-21 20:56:03 +01:00
lightningterror f1ac712eba build: Remove _M_X86_64, __M_X86_64, _M_X86_32 defines.
32bit cleanup.
2022-03-21 20:21:36 +01:00
lightningterror 9dac598113 common: Clean up 32bit code. 2022-03-21 20:21:36 +01:00
lightningterror 6db573d255 emitter: Clean up 32bit code. 2022-03-21 20:21:36 +01:00
Connor McLaughlin 4e6b86f8f4 GS/Vulkan: Use VK_ARM_rasterization_order_attachment_access if available 2022-03-20 23:41:33 +00:00
arcum42@gmail.com 33e0ac729e Core: Remove memcmp_mmx. 2022-03-20 12:54:58 +00:00
Connor McLaughlin 268ecf42c3 Build: Remove 32bit configs from vsprops 2022-03-20 12:53:42 +00:00
Tyler Wilding aa42acfe22 common: fix method name and clarify some behaviour 2022-03-20 04:03:03 +00:00
Connor McLaughlin 8e08cd772b PerformanceMetrics: Add GPU time 2022-03-17 09:10:12 +00:00
Connor McLaughlin 444e650711 StringUtil: Add StartsWithNoCase/EndsWithNoCase 2022-03-14 15:26:19 +00:00
TellowKrinkle 5bdec2f532 x86emitter: Fix x64 8-bit rmw codegen 2022-03-11 12:59:57 +00:00
Ziemas 7a970e1d00 Filesystem: Properly convert stat return to bool.
Two of the overloads where wrong.
2022-03-09 09:33:51 +00:00
Connor McLaughlin 2d08d3dc94 GL/Context: Drop GL string logging back to devbuilds 2022-03-08 10:39:50 +01:00
Connor McLaughlin 062d625901 Vulkan/Context: Allow non-debug device when validation layers unavailable 2022-03-08 10:39:50 +01:00
TellowKrinkle 099ddfedc7 GS:Mac: Properly init vulkan on main thread 2022-03-02 12:02:15 +00:00
TellowKrinkle d9e2bcef6d GS:Mac: Nicer message send 2022-03-02 12:02:15 +00:00
Connor McLaughlin 32dc68f103 GS: Support BC1/BC2/BC3/BC7 compressed texture formats 2022-02-24 10:18:49 +00:00
Connor McLaughlin ed9f34de5f Common/FileSystem: Add EnsureDirectoryExists() 2022-02-24 10:18:49 +00:00
Connor McLaughlin f73398ea84 GS/Vulkan: Fix warning when compiling RGBA8->RGB5A1 shader
Also gets rid of the program info log length check, since that's been
long removed in glslang.
2022-02-20 14:03:33 +00:00
C.W. Betts 9b7e87c043 Mark static functions in headers as static inline:
This quiets unused function warnings (-Wunused-function) which is on by default on Xcode.
2022-02-07 02:32:56 +00:00
Connor McLaughlin 0ca3167595 Vulkan: Implement adaptive vsync (FIFO-relaxed) 2022-02-07 01:42:40 +00:00
Connor McLaughlin c74cc9bc12 HostDisplay: Fix vsync getting lost on window changes 2022-02-07 01:42:40 +00:00
Connor McLaughlin 3a91ed2571 Vulkan/Context: Remove unused memory type functions
VulkanMemoryAllocator takes care of this.
2022-02-02 17:39:53 +00:00
Connor McLaughlin 20c534fc46 Vulkan/Context: Fix incorrect app name/version 2022-02-02 17:39:53 +00:00
Connor McLaughlin 793ba944d6 GS/Vulkan: Prefer coherent for upload and cached for download buffers 2022-02-02 00:30:56 +00:00
refractionpcsx2 11b467e455 QT: Remove 32bit build targets (which don't exist)
Use a separate environment varible for our QT folder to save conflicts
2022-01-31 12:40:25 +00:00
Connor McLaughlin 93f9ae8a31 Qt: Add work in progress interface 2022-01-30 14:29:18 +00:00
Connor McLaughlin c2ca0852d9 Build: Add pcsx2core variant for Qt 2022-01-30 14:29:18 +00:00
Connor McLaughlin 8bedfc257f Common: Don't define __i386__ on Windows
It breaks Qt.
2022-01-30 14:29:18 +00:00
Connor McLaughlin ed9b6f0d3f Vulkan/Context: Get driver properties 2022-01-23 17:15:48 +00:00
TheLastRar e5c4fe003b Build: Use git tag for file version on windows, attempt 2 2022-01-21 23:41:07 +00:00
TellowKrinkle d6293ab081 Revert "Build: Use git tag for file version on windows"
This reverts commit 7f2a9f6806.
2022-01-20 23:17:43 -06:00
TheLastRar 7f2a9f6806 Build: Use git tag for file version on windows 2022-01-20 22:52:09 +00:00
Connor McLaughlin 921689aa04 Common: Add D3D11 shader cache/compiler classes 2022-01-16 03:17:04 +00:00
Connor McLaughlin 81a139b875 Vulkan: Force textures to be allocated in device local memory 2022-01-08 05:19:45 +00:00
Connor McLaughlin 1a3c20f0f7 Vulkan: Use memory budget extension where available 2022-01-08 05:19:45 +00:00
Connor McLaughlin 220c7c271b GS/Vulkan: Use VK_EXT_provoking_vertex where supported 2022-01-08 05:19:45 +00:00
Connor McLaughlin 6187f36c33 Vulkan/StreamBuffer: Use VulkanMemoryAllocator 2022-01-08 05:19:45 +00:00
Connor McLaughlin 1a8a5a5e8e GS: Add Vulkan renderer 2022-01-08 05:19:45 +00:00
Connor McLaughlin a27b6a113a Common: Add Vulkan helper classes 2022-01-08 05:19:45 +00:00
Connor McLaughlin 0c36647506 GS: Rewrite presentation interface and OSD 2022-01-02 15:06:39 +00:00
Filipe da Silva Santos 9e705b2f53 FileSystem: follow c++17 and unbreak FreeBSD 2021-12-28 19:11:18 -06:00
Connor McLaughlin 65d22406a3 SettingsWrapper: Fix enums being stored as ints 2021-12-28 05:22:45 +00:00
Connor McLaughlin 92689a60ae Common/StringUtil: Add whitespace strip methods 2021-12-28 05:22:45 +00:00
Connor McLaughlin 1a598ccf0d Common/StringUtil: Add wide string conversion for non-windows 2021-12-28 05:22:45 +00:00
Connor McLaughlin 3f81b7e56d GL/ShaderCache: Time various shader compilation tasks 2021-12-26 13:21:51 +00:00
Connor McLaughlin 69ff12645c Common: Add GL/ShaderCache 2021-12-26 13:21:51 +00:00
Connor McLaughlin efb93d22d9 Common: Add GL Program wrapper class 2021-12-26 13:21:51 +00:00
Connor McLaughlin cdb0068dcc Common: Add MD5Digest 2021-12-26 13:21:51 +00:00
Connor McLaughlin b0a0d714c4 Common: Add HashCombine.h 2021-12-26 13:21:51 +00:00
Tyler Wilding 70145eb150 macos: add `undef` to fix macOS builds 2021-12-25 15:11:01 +00:00
Tyler Wilding 85bd8555c0 common: add some file-path helpers to `Path` ns 2021-12-25 15:11:01 +00:00
Tyler Wilding e313eadcd2 common: pull our string functions into common 2021-12-25 15:11:01 +00:00
Tyler Wilding be952e40ba vs: update project configuration to include `rapidyaml` 2021-12-25 15:11:01 +00:00
TellowKrinkle ea25f49c65 Common: Fix GetWorkingDirectory on unix 2021-12-23 07:49:14 +00:00
Connor McLaughlin 120ee6c673 Get rid of wxChar in EnumToString 2021-12-12 03:27:43 +00:00
Connor McLaughlin 38e288ef6a Common: Add utility classes 2021-12-12 03:27:43 +00:00
Connor McLaughlin a083343c6e Common: Add FileSystem 2021-12-12 03:27:43 +00:00
TellowKrinkle 8b086a3898 Common: Clean up ScopedAlloc 2021-12-09 05:26:26 -06:00
Ziemas 7a4191e16d Fix compilation with LTO on GCC 2021-11-30 02:25:06 +00:00
Connor McLaughlin 0d40661b33 VSProps: Set MultiProcessorCompilation in CodeGen props 2021-11-16 10:08:20 +00:00
TellowKrinkle 67299fcd9f Core: Remove __packed macro 2021-11-14 13:52:20 -06:00
TellowKrinkle f7476dfb63 Core: Replace alignment macros with alignas 2021-11-14 13:52:20 -06:00
TellowKrinkle 648a958290 GS: Split GS.h into multiple smaller headers 2021-11-14 13:52:20 -06:00
TellowKrinkle b74be70ffc GS: Switch integer typedefs to match rest of pcsx2
Had to capitalize the names of some struct params that had the same names
2021-11-14 13:52:20 -06:00
TellowKrinkle 2351431d71 Misc: Remove custom countof macros in favor of std::size 2021-11-14 13:52:20 -06:00
TellowKrinkle 7435f76609 Misc: Move GS preprocessor defs to main PCSX2 file 2021-11-14 13:52:20 -06:00
TellowKrinkle e37fbfddc3 Misc: Better GCC defs
Less warnings about fastcall being unsupported, proper __assume implementation
2021-11-14 13:52:20 -06:00
TellowKrinkle 8ab884a89e Misc: Format Pcsx2Defs.h 2021-11-14 13:52:20 -06:00
TellowKrinkle cbcd9b5004 wx: Remove wxString implicit constructor from std::string
On windows, it uses the current system's character encoding instead of utf-8, which breaks a lot of things.  We should avoid it.
2021-11-13 18:44:26 -06:00
Ty Lamontagne be71b98c55 Debugger: Update enums and fix 32 bit support
Also move bitcast to a proper location
2021-11-11 00:41:40 +00:00
tellowkrinkle 37e2142cca Common: Fix Darwin thread times
Percentages will now actually be percentages instead of permille (units of 1/1000)
Was caused by trying to match Windows's returns of 100ns units, but then reporting 1µs units from `GetThreadTicksPerSecond()`
2021-11-05 23:11:53 -05:00
TellowKrinkle ed5a7802f3 Common: Add non-constant offsetof macro 2021-11-04 19:32:27 +00:00
Tyler Wilding c4e5a21c86 build: If available - use the current git tag for the build metadata 2021-11-01 20:07:31 -05:00
Connor McLaughlin 20ab4dbf20 GL/StreamBuffer: Use partial instead of exact match for NVIDIA
It's "NVIDIA Corporation" on Macs, and on Windows we don't support any
GL3 GPUs anyway.
2021-10-30 16:01:55 +01:00
TellowKrinkle 9d2bdd5681 ContextAGL main thread & wx compatibility fixes 2021-10-30 02:00:21 +01:00
Connor McLaughlin 198fc2629e Common: Add GL context wrappers 2021-10-30 02:00:21 +01:00
Connor McLaughlin fadd97c021 Common: Add WindowInfo 2021-10-30 02:00:21 +01:00
Connor McLaughlin 09764393e0 Common: Add align helpers 2021-10-30 02:00:21 +01:00
Connor McLaughlin de8b4f17a1 Common: Add ScopedGuard 2021-10-30 02:00:21 +01:00
lightningterror 7ac56a0d11 emitter: Fix Wsign-compare warnings. 2021-10-27 01:00:38 +02:00
TellowKrinkle 881b017606 Utilities: Add TryWait and spin waits to semaphore and mutex 2021-10-19 16:04:15 -04:00
TellowKrinkle 5ff89dd695 Utilities: Add functions for spin waiting 2021-10-19 16:04:15 -04:00
TellowKrinkle cf02893d22 macOS: faster semaphores
mach semaphore is kernel-only, and doesn't have a userspace fast path
2021-10-19 16:04:15 -04:00
refractionpcsx2 1b31eb9e4a Common: Fix AT&T mixup in FastJmp code 2021-10-12 23:08:13 +01:00
kojin a94a324423 common: Don't use linux-specific OS description
wxGetLinuxDistributionInfo is linux only
2021-10-04 03:17:30 -04:00
kojin 4df3bee178 common: don't use NULL in SafeSysMunmap
BSD maps NULL to nullptr_t which is a problem because it's not a ptr type
2021-10-04 03:17:30 -04:00
Connor McLaughlin a585a27d1e Wx: Fix regressions from settings decouple
Wx: Fix GS hotkeys losing values after reboot

Wx: Fix trace log hotkey losing value after reboot

WxSettingsInterface: Fix uint value loads

Wx: Fix presets resetting GS window settings

Common/SettingsWrapper: Fix SettingsWrapBitfield
2021-10-03 06:04:00 +01:00
TellowKrinkle 603537719e GS: Switch SW renderer statistics back to rdtsc
GetCPUTicks can be pretty low resolution on some systems
2021-10-02 00:01:19 -04:00
Connor McLaughlin 43dfbe3f29 Move more classes from common to gui 2021-10-01 23:46:52 -04:00
Connor McLaughlin 6fa82da1f1 Common: Add SettingsInterface and SettingsWrapper 2021-10-01 23:46:52 -04:00
Connor McLaughlin 171a395369 Common: Add StringUtil 2021-10-01 23:46:52 -04:00
Connor McLaughlin d13982ea0e IniInterface: Support std::string entries 2021-10-01 23:46:52 -04:00
Connor McLaughlin 324a3d09e6 PathUtils: Make wxDirName::{Rmdir,Mkdir} const 2021-10-01 23:46:52 -04:00
Connor McLaughlin 4594e02812 Common: Add Fastjmp 2021-10-01 23:30:39 +01:00
Connor McLaughlin 6ff46a795f Common/StringHelpers: Fix printing of 64-bit pointers 2021-10-01 12:10:19 +01:00
Connor McLaughlin 9abaa1adf6 Common/Mutex: Fix compiling without wxUSE_GUI 2021-10-01 10:06:09 +01:00
Ty Lamontagne 1f31edf65c Perf: Fix missing include 2021-09-26 17:26:57 +01:00
TellowKrinkle 5435718167 Common: Clean up DarwinMisc 2021-09-23 22:45:37 -05:00
TellowKrinkle ffbfd2c844 GUI: Check console color support before using it 2021-09-22 15:16:02 -05:00
TellowKrinkle 0f4f09c597 GUI: Enable console to stdio on macOS 2021-09-22 15:16:02 -05:00
TellowKrinkle 65e57a8230 iR5900: Use 64-bit math on x86-64 2021-09-22 12:47:49 +01:00
TellowKrinkle e9518f78c7 vtlb: Switch read64 and read128 handlers to return in sse regs 2021-09-21 22:57:41 +01:00
Silent f343614640 Target Windows 8 via project settings
It's needed for the next commit, as thanks to wxWidgets
anything using the precompiled header would default to 0x0600 (Vista)
instead of 0x0602 (Win8).

Now-redundant WINNT definitions resulting in macro redefinition
warnings have been removed.
2021-09-16 17:31:45 -04:00
Silent ed62ae124b Add Windows Implementation Libraries 2021-09-16 17:31:45 -04:00
kojin 77c961ba40 vs: fix an oversight
when I merged the utils and emitter project in #4707 I neglected to update the SVNRootDir macro so it was causing common libraries to not be written to the correct directory.

don't use this macro anymore so just remove it make output relative to solution dir instead
2021-09-13 20:51:58 -04:00
Ziemas 253571fd35 Delete unused vol_t type 2021-09-12 00:17:37 -04:00
Ziemas 8fe7a173cd C++-ify Pcsx2Types 2021-09-12 00:17:37 -04:00
Ziemas fc9beafc32 Change s8 typedef to int8_t 2021-09-12 00:17:37 -04:00
Kojin 19072b6595
common: move some gui stuff into the main project (#4751)
* common: move ThreadingDialogs and wxAppWithHelpers to main project
* common: move CheckedStaticBox to the main project
* common: move pxCheckBox to the main project
* common: move pxRadioPanel to the main project
* common: move pxEvents.h to main project
2021-09-11 10:59:14 -04:00
Ziemas 9832a935d7 Common: Fix IniInterface warnings 2021-09-07 09:33:09 -04:00
kojin 30e5731f14 common: fix locale oversight in IniInterface 2021-09-06 16:53:32 -04:00
Kojin 13dfceff48
Common: reformat (#4720)
* common: format AlignedMalloc.cpp

* common: format AppTrait.h

* common: format Assertions.h

* common: format CheckedStaticBox

* common: format Console

* common: format Dependencies.h

* common: format EmbeddedImage

* common: format EventSource

* common: format Exceptions

* common: format FastFormatString.cpp

* common: format General.h

* common: format InitInterface

* common: format MathUtils.h

* common: format MemsetFast/MemcpyFast

* common: format Mutex.cpp

* common: format PageFaultSource.h

* common: format Path.h

* common: format PathUtils.cpp

* common: format Pcsx2Types.h

* common: format Perf

* common: format PersistentThread.h

* common: format RwMutex

* common: format SafeArray

* common: format ScopedAlloc.h

* common: format ScopedPtrMT.h

* common: format Semaphore.cpp

* common: format StringHelpers

* common: format ThreadTools.cpp

* common: format Threading.h

* common: format ThreadingDialogs

* common: format ThreadingInternal.h

* common: format TraceLog.h

* common: format VirtualMemory.cpp

* common: format pxCheckBox

* common: format pxEvents.h

* common: format pxForwardDefs.h

* common: format pxRadioPanel

* common: format pxStaticText

* common: format pxStreams

* common: format pxTranslate.cpp

* common: format pxWindowTextWriter.cpp

* common: format wxAppWithHelpers

* common: format wxBaseTools.h

* common: format wxGuiTools

* common: format wxHelpers.cpp

* common: format Darwin directory

* common: format Linux directory

* common: format Windows directory

* common: format LnxCpuDetect.cpp

* common: format WinCpuDetect.cpp

* common: format bmi.cpp

* common: format cpudetect.cpp

* common: format cpu_detect_internal.h

* common: format fpu.cpp

* common: format groups.cpp

* common: format instructions.h

* common: format internal.h

* common: format jmp.cpp

* common: format legacy.cpp

* common: format legacy_instructions.h

* common: format legacy_internal.h

* common: format movs.cpp

* common: format simd.cpp

* common: format tools.h

* common: format x86emitter.cpp

* common: format x86types.h

* common: format bmi.h

* common: format dwshift.h

* common: format group1.h group2.h group3.h

* common: format incdec.h

* common: format jmpcall.h

* common: format movs.h

* common: format simd_arithmetic.h

* common: format simd_comparisons.h

* common: format simd_helpers.h

* common: format simd_moremovs.h

* common: format simd_shufflepack.h

* common: format simd_templated_helpers.h

* common: format test.h
2021-09-06 14:28:26 -04:00
kojin 7aa85960ba common: add vs filters 2021-09-04 18:28:07 -04:00
kojin dcbf62a294 common: add some stuff to the pch 2021-09-04 18:28:07 -04:00
kojin 42f2210f7f common: remove unused pch 2021-09-04 18:28:07 -04:00
kojin 0717bf788a common: fix cmake on linux/macos 2021-09-04 18:28:07 -04:00
kojin 831c8b9189 common: fix cmake on win32 2021-09-04 18:28:07 -04:00
kojin 8fdaaa2eab common: reorganize 2021-09-04 18:28:07 -04:00
kojin 38f1a9a762 util: purge fixed-point library 2021-09-01 08:32:14 -04:00
kojin 681531d128 vs: enable mp on debug/devel builds 2021-08-29 19:51:24 -04:00
TellowKrinkle e1bb96cc94 cmake: Windows dependency builds 2021-08-28 03:25:33 +01:00
Ziemas 5f3c1816f9 Cmake: Link vtune in utilities 2021-08-24 23:10:06 +02:00
arcum42@gmail.com c3b45f3237 Remove MakeUnique.h, which is unused. 2021-08-24 04:33:46 -04:00
kojin 0bd65614d0 wx: make position validation multi-monitor aware 2021-08-18 13:40:45 -04:00
Mrlinkwii 0e3401da2c Clang: LnxMisc.cpp
Clang: LnxMisc.cpp
2021-08-18 18:24:47 +02:00
Mrlinkwii 692adbd04a Utilities : Return distro info instead of kernel version
Utilities: Return  distro info instead of kernel version
Co-Authored-By: Ty <29295048+F0bes@users.noreply.github.com>
2021-08-18 18:24:47 +02:00
TellowKrinkle 7ed0f38623 CMake: Define targets early instead of gathering variables 2021-08-15 02:13:36 -04:00
RedDevilus 11c346ab02 PCSX2-GUI: Undo formatting 2021-08-13 23:10:24 +02:00
RedDevilus 3e1b76c0a9 PCSX2-GUI: Rehaul BIOS / Folder Selector (#4620)
Since emulation settings has been renamed general settings, we can put BIOS and Folder in the same location where people have an overview and can just use tab key on icons or mouse. Less confusion and also fixes the speedhacks section *for the zillionth time*.
2021-08-13 23:10:24 +02:00
Ty Lamontagne f1b4bee88f X86Emitter: Use __rdtsc define on non-msvc compilers 2021-08-07 00:57:22 -04:00
TellowKrinkle c1e6773818 cmake: fix missing .h on header reference
Prevents cmake from bugging us about it
2021-08-05 03:00:43 -05:00
kojin 52b6ae0bc2 vs update project files with new build props 2021-07-19 17:05:52 -04:00
kojin e293e96f00 vs: add base and avx2 build config props 2021-07-19 17:05:52 -04:00
TellowKrinkle d8d69f2aa8 Misc: Move thread name setting to global function
Useful for things that don't want an entire pxthread
2021-07-19 22:01:41 +02:00
TellowKrinkle c072c0e82b cmake: Don't overwrite cmake default flags
Also makes sure we don't push our warning settings onto 3rd party libraries
2021-07-17 21:08:30 -05:00
TellowKrinkle 7bb3f41fdc cmake: Drop X11 requirement on macOS
We don't actually benefit from it
2021-07-17 21:08:30 -05:00
TellowKrinkle 4213b4a409 cmake: Use imported targets 2021-07-17 21:08:30 -05:00
kojin 4eb5d2c5ed vs: properly disable gm and warnings 2021-07-17 00:31:33 -04:00
TellowKrinkle 5bfd48c65c cmake: Convert indentation to tabs
Previously was a random mix of tabs and spaces
2021-07-16 22:05:48 -05:00
Ty Lamontagne 178354099d clang-format: WinMisc.cpp 2021-07-07 18:30:38 -04:00
Ty Lamontagne d9cee7467f Utilities: remove getversionex dependency 2021-07-07 18:30:38 -04:00
Ty Lamontagne 2101e17004 Misc: Suppress a warning regarding GetVersionEx 2021-07-05 22:08:48 +02:00
kojin 32c30ad9e4 vs: split target names for avx and avx2 builds 2021-07-03 18:16:11 -04:00
kojin 9814d442cd vs: move the pcsx2 project
Move the pcsx2 project from pcsx2/windows/VCprojects/ to pcsx2/

This is to fix an issue that was causing the intermediate files to go to the wrong directory.
pcsx2/windows/VCprojects/Win32/Devel/../../GS/GS.o -> pcsx2/Win32/Devel/GS/GS.o
2021-07-03 18:16:11 -04:00
kojin 601241b2c7 vs: move the common props 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech 727693248d utilities: fix a few omissions when building on nopch 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech fef8dfd05b gs-merge: make xbyak intrinsics includes scoped, avoid cross project linking with x86_intrin 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech 5f0699d382 gs: xbyak and gs type incompat workarounds for the merge 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech 587a893a0e gs-merge: remove initial plugin subsystem 2021-07-03 18:16:11 -04:00
Ty Lamontagne fbffa1c7bc Translations: Remove unnecessary warning regarding string length 2021-07-03 20:48:46 +02:00
Jonathan Li dedd860d40 windows: Add utf-16 to utf-8 conversion function 2021-03-27 18:51:17 +00:00
Kojin 51253193e0 msbuild: fix libchdr include directory
I don't know what PublicIncludeDirectories is, it's not documented anywhere by MS.
Even if it doesn't fix the bot, it's at least consistent now.
2021-03-25 19:28:56 -04:00
SleepyMan 0599e675a0 CDVD: Add support for CHD format 2021-03-23 11:06:48 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech dae36f59d2 gsdump: new freeze definition, the dump now gets correctly loaded in memory 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech 6840041ee6 gsdump: use correct plugin lifetime callbacks 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech d579dc16f1 gsdump: dump fully parsed 2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech e94b5f9e54 GSDump: initial implementation of the run feature 2021-03-22 23:37:24 -04:00
sonicfind 7b9c8634f4 Capture: Swap int return types with bool
Additionally fix SPU2 error message
2021-03-12 13:22:40 +00:00
sonicfind c60cdbba07 Capture: Optimizations with filenames, audio, and capture mainFrame gui
*Resulting .wavs should get saved in the same location as the video file on linux
*Keep gui capture state consistent regardless of the method used to start recording
*Reworked mainFrame capture menu video options to route to a single toggleCapture_click function
*Split GS & SPU2 recording into start & end functions
2021-03-12 13:22:40 +00:00
Christian Kenny e9e7974b15 Common: Remove obsolete/unused code 2021-02-23 00:28:53 +00:00
Romain TISSERAND 7acc51ef67 Fix Linux build not compiling afer commit a37e62337d
Missing include leads to wxTheApp macro not being defined and throw errors (GCC 10, Linux x86_64)
2021-02-21 21:04:46 +00:00
TheLastRar e883e93f52 Common: Clang format PS2Ext.h 2021-02-17 15:07:10 +00:00
TheLastRar a37e62337d Common: Allow calling SysMessage off the main thread on linux
DEV9 uses this when it can't open the selected adapter, and calls it from the EE thread
2021-02-17 15:07:10 +00:00
arcum42 34f665dc7e
Deleted assorted unused headers and functions. (#4138) 2021-01-23 08:14:59 -08:00
Timothy O'Barr bfdfc495a3
Add GHC Filesystem (#3999)
Adds GHC filesystem to 3rdparty deps and updates cmake and vs project accordingly.
2021-01-02 13:47:09 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech 494e384d9e msvc: disable /Gm as it is deprecated 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech c6d6865bb9 PAD: fix nopch builds 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech a691abc630 PAD: continuing merge, header/export port 2020-12-17 09:38:21 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech 01b210f42a PAD: remove initial references 2020-12-17 09:38:21 +01:00
tellowkrinkle 66ed78f2c8 x86emitter: fix order of operations mixup 2020-12-16 23:40:14 -06:00
Tellow Krinkle 1a727febe9 x86emitter: Remove unused classes
xAddressInfo was not being used
xSmartJump was not being used and is incompatible with x86-64
2020-12-16 20:31:19 -06:00
Tellow Krinkle 096bb8bf74 x86emitter: Remove virtual methods from register types
Allows methods to generate variable-sized registers
2020-12-16 20:31:19 -06:00
TellowKrinkle a29a4d69d9 cmake: mark Utilities as needing C++17 2020-12-06 14:02:43 -06:00
lightningterror 430fc7b596 x86emitter: Fix a few warnings. 2020-12-01 10:21:52 +01:00
Tyler Wilding 6e47834e8a Dep/CMake: Add yaml-cpp support to CMake 2020-11-30 04:22:17 -05:00
Tyler Wilding 4a477244f1 Dep: Add yaml-cpp submodule to Windows project 2020-11-30 04:22:17 -05:00
TellowKrinkle e50efceb62 core: Fix no-pch build 2020-11-24 03:16:59 -05:00
Kojin 626bf27887 core: send osd log event when snapshot is taken 2020-11-19 18:42:19 -05:00
Gauvain 'GovanifY' Roussel-Tarbouriech de314d253e USB: importing some references, updating handlers and c exports 2020-11-11 13:34:16 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech 9dd0ef681d USB: remove initial references for merge 2020-11-11 13:34:16 +00:00
lightningterror a52607e346 dev9-gui-win: Cleanup DEV9 gui a bit.
Rename window title: HDD Configure -> Network and HDD Settings
Remove about dialog code.
Move around button positions.
2020-11-08 14:37:00 +01:00
lightningterror 0e60733537 x86emitter: Comment out unused variables.
cpudetect.cpp -> x86_64_8BITBRANDID and x86_64_12BITBRANDID.
2020-11-06 11:42:29 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech f430a63312 DEV9: initial work on merge, removing references 2020-10-31 16:35:38 +00:00
Tyler Wilding bab8bdfe47 vs: Setup fmt on Visual Studio 2020-10-17 04:12:50 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech 0ece59b710 SPU2: initial merge complete 2020-10-04 00:13:36 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech b8c3bd4fae SPU2: remove initial plugin references 2020-10-04 00:13:36 +01:00
Kojin a60b45f481
msbuild: update project to cpp17 (#3745) 2020-09-24 06:39:30 -04:00
Timothy O'Barr 73b02c204b
SPU2: Set sample rate correctly for PS1 mode (#3532)
* Moved ps1 init. Added Sample Rate change for SPU that gets set but not applied
* SPU: misc fixes on SPU ps1 mode init
* Init the soundbuffer to apply sample rate. Actually set the correct sample rate for the ps1 though it still won't apply

Co-authored-by: Gauvain 'GovanifY' Roussel-Tarbouriech <gauvain@govanify.com>
Co-authored-by: kenshen112 <obarrtimothy@gmail.com>
2020-09-21 01:04:40 +01:00
sonicfind 1ff67c6c1b Capture: Share filename between GSdx and Spu2-x
Shares a single filename between the two capture functions so that the .avi and .wav will match.
Default wavdump filename changed to "audio_recording.wav"
2020-09-20 17:36:33 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech 385c698212 FW: merge into core, simplify setup and config 2020-09-19 22:38:32 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech 0fdef7b7d7 FW: removing initial references 2020-09-19 22:38:32 +01:00
Filjo Abraham 029461c5ae CDVD: merging and removing remnants of plugin 2020-09-19 01:37:43 +01:00
TellowKrinkle 19f2d96d06 x86emitter: Don't use xgetbv
All OSes now support AVX
2020-09-01 09:28:31 -04:00
tellowkrinkle 310648fb88 recompiler: Fix exception handling on WIN64
Use VEH instead of SEH on WIN64, as SEH needs us to register all our JIT functions for it
2020-08-24 16:20:09 -05:00
TellowKrinkle 970ed11def vsprops: Add __M_X86_64 flag to win64 build
Required to build x86-64 correctly
2020-08-24 16:20:09 -05:00
Tellow Krinkle cd813edb1b x86emitter: Remove deprecated codegen functions
Successfully moved off of all of them
2020-08-24 16:20:09 -05:00
Tellow Krinkle dc57270fb8 EE/IOP/VU: x86-64 recompiler support 2020-08-24 16:20:09 -05:00
Timothy O'Barr dc5bfbb470
Fixes to Arch WX length_error (#3625) 2020-08-23 04:59:15 +01:00
refractionpcsx2 86bb50b9b7 Why is that file spaces and not tabs 2020-08-23 01:40:42 +01:00
refractionpcsx2 deed83a282 Revert bad wxString ini fix which was actually caused by a bad Arch package 2020-08-23 01:39:13 +01:00
tellowkrinkle 75aac90452
Allocate memory in an x86-64-compatible way (#3523)
Allocate memory in an x86-64-compatible way

Another part of #3451

Note: While this shouldn't change how anything works, it's been the #1 source of breakage of 32-bit builds in #3451 (it was the cause for the failure of win32 to allocate memory and the failure of linux-32 afterward) so we should definitely make sure it gets tested

see #3523 for more information
2020-08-19 09:20:48 +01:00
tellowkrinkle 4f56db9f18
Fix codegen on x86-64 (#3512)
Fix codegen on x86-64

Part 1 of the changes being worked on in #3451

Makes x86emitter emit the x86-64 machine code you would expect it to

Also adds some unit tests to verify that things are working
2020-08-19 09:19:28 +01:00
lightningterror b3d90537ba pcsx2: Adjust windows OS support logs.
List Windows 8.1 and Windows 10 as supported OSes only.
Windows 8.0 and lower as unsupported.

Simplify/clean up the code.
2020-08-08 22:22:16 +02:00
Kojin 454704d967
vs-build: use the win10 sdk (#3560)
vs-build: use the win10 sdk
2020-08-05 14:12:00 -04:00
arcum42 f44f676cce Remove old obsolete code specific to ancient Windows versions of GSdx. 2020-07-25 19:15:03 -07:00
Tyler Wilding ef96e050f9
Resolve Recording Issues for Linux / OnePad users (#3293)
* git: Ignore uncaught linux build artifacts

* onepad-legacy: Return legitimate key event on `PADkeyEvent` call

Onepad-legacy was the plugin that was building and being used on my linux environment.  I'm not sure if t hat's expected and normal 'onepad' has yet to take over.

* onepad: Return legitimate key event on `PADkeyEvent` call

* recording: Remove unnecessary `PadKeyDispatch(ev)` wrapping func

* recording: Cleanup key event handling when GSFrame CoreThread is paused

* recording: Refactor recording status check to be more explicit

* recording: Define additional key bindings for capitalized varient

Despite the advice of the docstrings in these files, on linux this seems to be required for the bindings to consistently fire.

* onepad: Declare `AnalyzeKeyEvent` not static

* recording: Ensure file extension is appended to recording file on linux

* recording: Correct typo in comment

* recording: Better wording around linux keybinding handling

* Remove unneeded `extern`
2020-07-25 17:58:50 -07:00
arcum42 e42b9ce110
More gtk removals and Onepad dialog tweaks (#3525)
* Improve secondary dialogs in Onepad. I'll do gtk stuff in this branch, too, I promise...

* More fiddling with onepad's secondary dialogs.

* Rework config.inl to use wx, getting the rest of the null plugins.

* Remove some unnecessary includes, and convert SysMessage to wx in onepad.

* Add in tellowkrinkle's Mac OS fixes.
2020-07-19 19:11:42 -07:00
tellowkrinkle 1e1d455a4d
Use PCH with Clang (#3546) 2020-07-14 22:57:11 -07:00
tellowkrinkle 18f5deede7
Reduce header dependencies on x86Emitter (#3545) 2020-07-14 22:56:58 -07:00
tellowkrinkle f7d84c4637
pcsx2: Fix a few crashes in macOS. (#3424)
* Fix crash on shutdown in macOS

* Fix crashing in ISO list on macOS

* Use MAP_FIXED on linux too
It works as expected and has no race conditions.
2020-07-12 23:54:21 +02:00
arcum42 8023183999
Switch over the null plugins dialog code to use wxWidgets instead of gtk on Linux. (#3420)
* Make the other null plugins use the same functions, and convert PS2Eext.h  to use wx.
2020-05-30 13:31:52 -07:00
tellowkrinkle f9771c38a6
macOS fixes (#3357)
* macOS compile

* Fix memprotect error on macOS

* Fix semaphore wait + thread cancel on macOS

* Fix timedlock timeout calculation

* spu2-x macOS

* onepad macOS support

* Add MacOS game controller db

* Disable onepad_legacy on macOS

* Fix spu2-x configuration crashes

* Make recompiler work on 32-bit macOS

* Use dylib extension for plugins on macOS

* Make app bundle on macOS

* Use git info for Info.plist version
2020-05-23 23:19:47 -07:00
Timothy O'Barr 8eb1bc1986
Fix length_error crash in basic_string in the ini code. (#3411) 2020-05-23 23:09:11 -07:00
orbea 293983ea71 common: Silence -Wunused-function clang warnings. (#3127)
v2: Use pragma instead of [[maybe_unused]].
v3: Silence warnings with older clang versions too.
2019-10-12 12:14:40 -07:00
Jonathan Li c87b8c7f49 pcsx2|utilities: Remove ambiguous wxString-related overloads
Avoid some function overloads that can accept char*, wxChar* and
wxString as a parameter. wxString can be constructed with either of
those parameters, so the function overloads may actually result in
ambiguity errors. Keep the wxString parameter versions and remove the
rest.

Fixes some compile errors on FreeBSD.
2019-10-07 01:39:32 +01:00
Jonathan Li aee571e9b2 utilities: Split thread internal callback function
__try is used in pthread_cleanup_push when CLEANUP_SET is used as the
pthread cleanup model. That can't be used in functions with objects that
have destructors, so move it into a separate function.

Prevents compile errors on non-release Windows builds if other things in
the internal callback function change.
2019-10-07 01:39:32 +01:00
orbea d943870413 common: Fix build error with clang 9. (#3123)
clang 9 now provides _rotr and _rotl.
2019-09-29 20:30:47 +01:00
arcum42 7679dcf469 clang: Get rid of a number of warnings. I don't need pages of warnings that things clearly marked in the code as deprecated are deprecated, and I doubt I'll be worrying about those overloaded functions any time soon. 2019-08-23 14:40:33 -07:00
arcum42 ed6ac00186
onepad-legacy: Use mt_queue, and move it from onepad to common. (#3060) 2019-08-10 15:46:29 -07:00
arcum42 441e786d3d Take care of a few clang warnings. 2019-07-06 14:16:04 -07:00
Shanoah Alkire de1717c1a1 Switch a bunch of 64 bit #ifdef's to use the cross-platform 64-bit define I added into Pcsx2Defs.h. 2019-06-18 22:08:43 -07:00
arcum42 563772fdf1 Added a universal 64-bit define, and a message indicating that Pcsx2 was compiled as 64 bit in the system information. 2019-06-16 17:33:17 -07:00
Shanoah Alkire 2941fd9b87 wx: Replace a bunch of wx 2.8 macros with the wx 3.x versions. 2019-05-11 20:43:47 -07:00
Shanoah Alkire 5d4ae31ba1 Add a few default functions in explicitly. (-Wdeprecated-copy) 2019-05-11 19:18:18 -07:00
lightningterror 6905d4d883 x86emitter: Purge empty file sse_helpers.h.
Code was removed in
60a9463e7a
Right now it's useless.
Update VS/cmake project files to remove any mentions of the file as
well.
2019-02-18 11:51:06 +01:00
Shanoah Alkire 1b41d19016 Remove the unused 'incomplete and untested' BaseTaskThread class. 2019-01-10 13:13:20 -08:00
arcum42 d05163a26f
Remove gigaherz old wip 'new' iopdma code. (#2703)
* Remove gigaherz old wip new iopdma code.

* Second pass removing dma code I missed last time.
2018-12-09 18:00:04 -08:00
arcum42 2e1db411fa GSdx: Folder Reorganization. (#2657)
This pull request is for the pending reorganization of the folder structure on GSdx,
making it better organized and easier to work with.

Also remove unused GSTextureFX.cpp file.
2018-11-16 19:41:37 +01:00
Shanoah Alkire 122871654e Expand out a define to get rid of a warning. Get rid of other compiler warnings. Re-indent so that it doesn't look like a statement is part of an if statement when it isn't. 2018-10-27 02:49:03 -07:00
Shanoah Alkire 7641d6726f New helper include for gtk for use in plugins. Mostly based on the gtk 2/3 helper functions I added to spu2-x for the moment. 2018-10-02 01:20:54 -07:00
Jonathan Li a977f1e6c1 pcsx2|utilities; Revert ambiguous wxString related commits
This reverts
93d5b52df3
f3e78b8267
55155ca7f1.

Unfortunately wxString stuff is a PITA to deal with. Breaks FreeBSD
compile, but there are probably more issues that just haven't been
reported yet...
2018-09-04 21:57:27 +01:00
Jonathan Li 55155ca7f1 utilities: Fix compile when using --enable-stl wxWidgets builds
Regression introduced in 93d5b52df3.
2018-09-03 20:30:14 +01:00
Jonathan Li f3e78b8267 utilities: Split thread internal callback function
__try is used in pthread_cleanup_push when CLEANUP_SEH is used as the
pthread cleanup model. That can't be used in functions with objects
that have destructors, so move it into a separate function.

Fixes a non-release build compile error on Windows. Regression was
introduced in 93d5b52df3.
2018-09-03 20:30:14 +01:00
Jonathan Li 93d5b52df3 pcsx2|utilities: Remove ambiguous wxString-related overloads
Avoid some function overloads that can accept char*, wxChar* and
wxString as a parameter. wxString can be constructed with either of
those parameters, so the function overloads may actually result in
ambiguity errors. Keep the wxString parameter versions and remove the
rest.

Fixes some compile errors on FreeBSD.
2018-09-03 01:56:35 +01:00
Jonathan Li fcda371f9a utilities: Remove HashMap
It's now unused.
2018-08-29 22:26:09 +01:00
Jonathan Li 890d7ab953 utilities: Restrict pxWindowAndFlag templates to wxObject derived classes
Fixes a compile error (C2666) on VS2017 15.8 caused by ambiguity issues.
The sstream header uses

constexpr auto _both = ios_base::in | ios_base::out;

Without the extra type restrictions the compiler cannot tell whether to
use the template or the built-in | operator (the const wxSizerFlags &
parameter will accept ints).
2018-08-17 22:37:39 +01:00
Jonathan Li e8ed18feba common: Use GCC's _xgetbv definition from GCC 8.2 onwards
The _xgetbv bug was fixed, so avoid using our own definition (again).
2018-08-12 18:07:13 +01:00
Jonathan Li c9dbd4118b misc-plugins:windows: Fix ini/log path issues
Fixes some issues with opening ini/log files when the path contains
characters that are not present in the current codepage for the
following plugins:
SPU2-X
LilyPad
cdvdGigaherz
Dev9null
USBnull
FWnull
2018-07-23 00:51:02 +01:00
Jonathan Li 27d0995a8b common: Add plugin compatibility file
Adds a helper function for converting UTF-8 to UTF-16 on Windows. Also
adds a fopen wrapper function for pathnames that may contain characters
that are not present in the current Windows codepage.
2018-07-23 00:51:02 +01:00
Jonathan Li 9d4f8a322c common: Add common null plugin config code
This adds code that allows modifying the log options via the GUI
(Windows, Linux) and also saving and loading the log options in a
reusable form.
2018-07-12 01:05:09 +01:00
Jonathan Li 43f461cc36 common: Remove PluginNullAbout
It's unused.
2018-07-12 01:05:09 +01:00
Jonathan Li fa7822fbbf common: Call va_end after vfprintf in PluginLog
The C spec states that the va_arg argument value is indeterminate after
returning from vfprintf. va_end and va_start must be called before the
variable is reused.
2018-06-22 01:20:40 +01:00
Jonathan Li 171e7f016d common: Work around GCC8 _xgetbv bug
clang and earlier GCC versions do not provide the _xgetbv intrinsic.
GCC8 does, but unfortunately it's broken.
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85684).

Re-use our _xgetbv implementation to avoid the bug, but rename it to
avoid compilation errors as well.
2018-05-12 12:05:20 +01:00
Jonathan Li 15efe69e46 common: Fix multiple _xgetbv() error on GCC 8
GCC 8 now provides _xgetbv, so avoid using our own definition in that
case.
2018-05-06 00:52:47 +01:00
Jonathan Li 629bb23832 utilities: Fix CheckedStaticBox behaviour
Avoid enabling the child windows when SetValue is called if the window
is currently disabled.

Also continue processing the checkbox event after it has been handled,
which allows the event to propagate to the parent window.
2018-02-28 01:19:12 +00:00
Huud 4e3730f8f4 Utilities: Fix subtraction operation function in FixedInt class (#2313) 2018-02-20 15:39:34 +05:30
Christian Kenny a5db116d00 Remove unused 'About Box' references on Linux and Windows from SPU2-X/CMakeLists, ect. 2018-02-05 22:49:09 +00:00
Christian Kenny 7a71b6f3d0 Flag XP as an unsupported OS. 2017-12-02 23:47:08 +00:00
Jonathan Li 96b412ebb8 pcsx2|common|gsnull: Remove GSprintf API
It's not really used, and the OSD uses a different API.

The specified calling convention (stdcall) is also incorrect since
variadic functions are caller-clean, not callee-clean. The compilers
ignore the stdcall and just use cdecl (I think), though it does trigger
a -Wcast-calling-convention on clang.
2017-10-29 01:01:49 +01:00
Gregory Hainaut 36fd2b6854 gsdx: remove the unused GSsetFrameLimit API 2017-07-02 15:09:47 +02:00
Gregory Hainaut bc0b1a78e5 common: workaround to start ASAN with recent glibc
Issue: wait of the semaphore timedout. However semaphore was properly posted
counter is 1.

To workaround the issue, only throw an error if semaphore counter is 0.
Note: I reduced the timeout to 100ms by threads to avoid huge startup delay

Close #1939
2017-05-16 09:20:35 +02:00
Gregory Hainaut 02861fabc8 pcsx2|common: replace throw() by noexcept 2017-05-13 10:38:35 +02:00
Gregory Hainaut 1a9a65d4d0 common: use = default instead of trivial destructor
Strangely clang-tidy didn't report them.

Commit was done with a sed to it need careful review.
2017-05-13 10:38:35 +02:00
Gregory Hainaut b951e24024 common: remove throw specifier on destructor
By default in C++11 destructors are noexcept.
Besides throw is deprecated
2017-05-13 10:38:35 +02:00
Gregory Hainaut 94b50b85e7 core: use = default instead of trivial copy constructor 2017-05-13 10:38:35 +02:00
Gregory Hainaut 9e101c9ef0 common: use = default instead of trivial constructor/destructor
reported by clang-tidy

Note: drop throw() specifier as it is the 'default' in C++11 for
destructor
2017-05-13 10:38:35 +02:00
Gregory Hainaut b9e62be3c1 modernize: use std::make_unique instead of std::unique_ptr
I didn't update GSdx and cdvdGigaherz because we need to pull
common include files
2017-05-03 12:03:38 +02:00
Gregory Hainaut 756176118b common: add make_unique for C++11
v2: fix windows compilation
v3: fix copyright date
2017-05-03 12:03:38 +02:00
Gregory Hainaut a378e307b3 common: drop pthread TLS emulation
thread_local is supported by all C++11 compliant compiler

Keep a way to disable TLS for shared object to avoid issue of DTV
slot shortage.
2017-04-14 17:18:20 +02:00
KousukeItsagame 11aebe465f common: Replace __threadlocal with C++11 thread_local 2017-04-13 19:59:00 +02:00
Gregory Hainaut da1bb43618 cmake: Add various missing file in CMakeLists.txt
Add some windows code path. It would reduce the burden to port Cmake to windows.
(sill miss 3rdparty/some plugins/...)
2017-02-16 20:11:57 +01:00
Gregory Hainaut 23d081ab21 common: remove an old gcc workaround 2017-02-01 18:24:51 +01:00