Commit Graph

1305 Commits

Author SHA1 Message Date
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