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
Gregory Hainaut
6d7b1f9dbd
common: move ssappendf in DisR59000asm.cpp
...
Legacy function to print EE opcode. It doesn't worth an extra file.
2017-02-01 18:24:51 +01:00
Gregory Hainaut
965fccaff0
common: use C++11 version vssappendf
...
* use std::vector instead of VLA
* remove windows code (optimization is useless here)
2017-02-01 18:24:51 +01:00
Gregory Hainaut
bccc3ef253
Merge pull request #1770 from np511/gcc-cleanup
...
Cleanup GCC warnings - still needs some work
2017-01-30 15:28:33 +01:00
np511
de6216b37b
Remove warnings about ISO C++11 conformance
2017-01-29 09:06:10 -05:00
Gregory Hainaut
6f9feee759
common: init m_vtune_id
2017-01-22 16:45:49 +01:00
Gregory Hainaut
e3d1871f86
MTVU: small thread scheduling improvement
...
* Use yield to avoid a spin loop during WAIT
* Don't flush the full buffer when we miss space
2017-01-18 19:11:10 +01:00
Jason Brown
fce2814735
Added callbacks for OSD Log and Monitor. Added wrappers in PCSX2 main for callbacks. Added some basic info calls (e.g. Saving loading FPS)
2017-01-03 10:43:56 +01:00
Gregory Hainaut
632b4971de
common: remove memset duplicates
...
Use standard memset instead of memset_8
Move memzero/memset8 in a common OS file.
2016-12-16 20:45:22 +01:00
Jonathan Li
415090d249
common: Avoid wchar_t in pxTextWrapper
...
wchar_t is 16-bits on Windows, which can't actually properly fit all
Unicode characters.
Use the wx3.0.x wxTextWrapper approach of using iterators that increment
by actual characters to fix the issue, and also switch to using the
std::string style functions in wxString.
2016-12-10 22:30:27 +00:00
Akash
b86518ef24
CDVD: Convert CDVD_SourceType into enum class
...
* Add a template function for underlying type conversions of enumerations
2016-12-10 12:35:57 +00:00
Gregory Hainaut
031b6e6372
common: improve vtune merge support
...
Mapping the full buffer is killer on Vtune (either crash or requires a huge processing time).
Instead keep the same ID for code in the same buffers.
I think all buffers are correctly mapped now but I still miss the frame pointer
for VU code.
2016-12-09 09:28:19 +01:00
Gregory Hainaut
b9369e7c00
pcsx2: remove the reserve feature of recompiler memory
...
Cons:
* requires ~180MB of physical memory (virtual memory is the same so it
doesn't impact the 4GB limit)
From steam: 98.81% got at least 2GB of RAM. 83.62% got at least 4GB of RAM.
That being said, it might not really increase RAM requirements as OS could put the
new allocation in the swap.
Pro:
* code is much easier
* remove at least half of the signal listener
* last but not least, it is way easier for profiler/debugger
2016-12-09 09:28:19 +01:00
Gregory Hainaut
0453e5cad8
cmake: improve vtune integration
...
Year is included in the path so search in order 2018/2017/2016
Not ideal but at least all logic is inside the FindVtune module
2016-12-09 09:28:19 +01:00
Gregory Hainaut
f41bb8db5e
common: forget to format common properly
...
Moral of the story, don't rely on the commit hook when it isn't installed correctly ;)
2016-11-29 22:59:06 +01:00
Gregory Hainaut
310181b97f
common: remove a gcc 4.6 hack
...
Not supported anymore
2016-11-29 22:59:06 +01:00
Gregory Hainaut
c9db1c6c4b
vtune: plug PCSX2 core + add missing profiling (VU/VIF/TLB)
...
Doesn't fully work yet
* Unknown stack frame
* Outside any known module
Potential root cause:
* Nvidia driver
* VU code as ebp is required for emulation so likely no frame
2016-11-28 19:07:04 +01:00
Jonathan Li
008fea5d89
common|cdvdgigaherz: Fix API sign mismatch
...
The typedef and function declaration don't quite match.
2016-11-22 21:26:41 +01:00
Gregory Hainaut
30a5922a0b
pcsx2: reduce std padding to 1 for small screen
2016-11-19 21:52:08 +01:00
Gregory Hainaut
0e2ec9c2cb
pcsx2 gui: reduce the padding to 2 for low cost display
2016-11-19 11:27:20 +01:00
Gregory Hainaut
9c598fcd01
common: finally spot the text size bug
...
GetBestWrappedSize (hence the BestSize) computes the size of
the wrapped text based on box side minus padding.
So the width of the widget is already the good size for text wrapping
2016-11-19 11:21:07 +01:00
Gregory Hainaut
4ee942aba2
pcsx2 gui: use pxGetFixedFont helper instead of wxFont constructor
2016-11-19 11:19:24 +01:00
Clang Format
1fba5cb580
reformat main common directory
...
Disable some reformat around emitter registers declaration and a massive cases.
2016-11-12 16:52:49 +01:00
Gregory Hainaut
5596f69c0e
pcsx2 gui: use git desribe as version name
...
Shorter than date and give all the useful info
Require windows test
close #1043
2016-11-08 22:44:39 +01:00
Gregory Hainaut
b282909c9e
common: avoid silly compiler warning due to define redefinition
...
comma was updated in plugings (due to clang reformat)
2016-09-08 19:20:24 +02:00
Gregory Hainaut
1a8825b374
pcsx2|common|gsdx: use empty() instead of .size() ==/!= 0 check
...
Enhance readability reported by clang tidy
2016-08-21 17:20:13 +02:00
Jonathan Li
c9a1097579
console: Remove buffered and wxerror console writers
...
Both haven't been used for a long time, and don't seem to hold any
advantages over the default stdout console writer.
2016-08-17 22:07:42 +01:00
Gregory Hainaut
bf0e5dc5bd
Merge pull request #1516 from PCSX2/emitter-manual-void-cast
...
pcsx2: manually cast function pointer to void*
2016-08-17 18:56:55 +02:00
Gregory Hainaut
19ceea4f1e
Merge branch 'strict-aliasing'
2016-08-17 18:53:08 +02:00
Gregory Hainaut
cc68776069
pcsx2: manually cast function pointer to void*
...
Templace is nicer but give a hard time to compiler.
New version compile in both gcc&clang without hack
v2: add an uptr cast too for VS2013 sigh...
v3: use an ugly function pointer cast to please VS2013
2016-08-17 09:53:30 +02:00
Gregory Hainaut
44bbdbe49d
common: use free directly instead of an Alloc(0)
...
Easier to understand the intent. And avoid false positive in coverity
2016-08-15 15:51:22 +02:00
Gregory Hainaut
2700f06fe7
Merge branch 'pcsx2-verbose-thread-error'
2016-08-14 22:31:28 +02:00
Gregory Hainaut
9d8135cf1c
x86emitter: allow strict aliasing optimization
2016-08-14 21:01:40 +02:00
Gregory Hainaut
2cc98191f0
common: allow strict aliasing optimization
2016-08-14 21:01:40 +02:00
Gregory Hainaut
e8e66ec4b5
x86emitter: use memcpy to avoid aliasing issue
...
Code is only called once anyway.
2016-08-14 20:48:45 +02:00
Gregory Hainaut
5ad4cbace7
onepad|common: fix GCC warning type limit
2016-08-12 19:30:14 +02:00
Gregory Hainaut
078577c7c5
common: try to print a nice error message when pthread_create is bad
2016-08-12 10:05:14 +02:00
Jonathan Li
af60501fb6
windows: Remove unused solution files and property sheets
...
The solution files are unused and for ancient Visual Studio versions -
GSDumpGUI has its own solution file, and bin2cpp is included in the main
solution file.
The property sheets have either fallen out of use or were never used in
the first place.
2016-08-04 23:09:08 +01:00
Jonathan Li
ed47dca8a1
x86emitter:windows: Make cpu detection/affinity 64-bit compatible
...
Use DWORD_PTR since that works on both 32-bit and 64-bit builds. And
remove some empty unused functions.
Fixes a 64-bit compilation issue.
2016-07-24 19:05:18 +01:00
Jonathan Li
f04dfe43a8
utilities:windows: Restrict memcmp_mmx to 32-bits
...
Fixes a 64-bit compilation issue.
2016-07-23 10:52:09 +01:00
Jonathan Li
ac7e7a79c3
utilities:windows: Remove memset32 assembly
...
It's unused, and it doesn't compile in 64 bits.
2016-07-23 02:21:21 +01:00
Jonathan Li
768ed80ece
utilities:threading:windows: Use intrinsic pause
...
Fixes a 64-bit compile error.
2016-07-23 02:21:13 +01:00
Gregory Hainaut
5cf2688c0c
common: remove useless x86_intrin.h
...
Yeah one less licence in the project :)
2016-07-22 18:47:51 +02:00
Gregory Hainaut
7d35e15fea
Merge pull request #1444 from PCSX2/atomic-relax
...
Atomic relax
2016-07-22 18:36:02 +02:00
Jonathan Li
f8605dda61
common|pcsx2: Tidy/standardise VS project
...
Combine all the different configurations together so the project files
are more generic and maintainable.
Also standardise the layout so all the project files will be similar and
all have the same standard elements (even if empty).
Add 64-bit configurations.
2016-07-19 23:25:12 +01:00
Jonathan Li
7277074d9e
windows: Fix incremental linking property sheet
...
Don't use "-dbg" target suffix - both Devel and Debug builds use the
property sheet, so it's incorrect.
Also don't set optimise references to false - it's incompatible with
incremental linking and causes compile failures.
2016-07-19 23:25:12 +01:00
Lena
5a17b95901
x86_intrin.h: fix build using GCC ( #1468 )
...
__GNUG__ is not defined while compiling this file,
this causes the build to fail.
Replacing this with __GNUC__ fixes this.
2016-07-19 23:13:24 +01:00
Gregory Hainaut
6e306ee44f
common: move _xgetbv with cpuid intrin
...
Besides, code comes from Gabest and not reactOS
2016-07-17 10:25:00 +02:00
Gregory Hainaut
e872552fdc
spu2x|common: s/jASSUME/pxAssume/ allow to remove code and __debugbreak intrinsic
2016-07-17 10:24:29 +02:00
Gregory Hainaut
c56ca4a0fa
common: include cpuid.h on unix
...
I tested both clang and gcc.
2016-07-17 10:24:29 +02:00
Gregory Hainaut
10ea05bc6f
common: remove old atomic wrapper
...
Use cross-platform std::atomic instead
2016-07-14 18:29:41 +02:00
Gregory Hainaut
812e41d578
common: relax atomic of m_IsBeingDeleted
...
Avoid the memory fence in the constructor
2016-07-14 18:29:41 +02:00
Gregory Hainaut
ca46921796
MTVU: use acquire/release semantics for atomic operation
...
* Avoid the generation of memory barrier (mfence)
* Based on the fact that it used to work on previous code without any
barrier
v2:
* keep basic code in reset path
* use relaxed access for isBusy. The variable doesn't carry load/store
dependency but is instead an hint to optimize semaphore post
2016-07-14 18:29:40 +02:00
Akash
72661e7c16
PCSX2-Core: Clean up some warnings on MSVC
...
x86emitter : Convert variable type from u8 to bool.
recVTLB: Cast "sign" to bool to prevent a warning.
R5900OpcodeImpl: Cast all the values in array to u64 instead of s64.
2016-06-30 16:49:18 +05:30
Jonathan Li
79d019b5bb
utilities: Don't use TLS buffers in FastFormatString classes ( #1430 )
...
The TLS buffers used by the FastFormatUnicode and FastFormatAscii
classes seem to be responsible for PCSX2 not terminating properly on
Windows under certain conditions (using MTVU before commit
1111e03901
, using CDVDgigaherz without a
disc, possibly other conditions).
When PCSX2 shut downs and the FastFormatBuffers are being cleaned up,
the call to pthread_key_delete() would end up calling
WaitForSingleObject(e, INFINITE) and waiting indefinitely for an event
to trigger. It never does get triggered (for reasons unknown) and
therefore PCSX2 doesn't terminate properly.
Remove the usage of TLS buffers in the FastFormatString classes - it
fixes the termination issue on Windows and doesn't seem to have much
effect on performance.
2016-06-29 13:13:51 +01:00
Jonathan Li
3904c67e6e
utilities: Use Bind instead of Connect
2016-06-17 00:03:58 +01:00
Jonathan Li
c10728319b
utilities: Use Bind compatible event declarations/definitions
2016-06-16 23:49:34 +01:00
FlatOutPS2
f1ba9c9d6a
PCSX2-WX: MainFrame keyboard navigation improvement ( #1388 )
...
Adding shortcuts to all the menu options, that only some of the options
in the Config tab already had.
Also update translations so menus are still localised (well, mostly).
2016-06-08 21:48:16 +01:00
Jonathan Li
7c205d7a1e
windows: Don't use __declspec(dllexport) for plugin exports
...
Using __declspec(dllexport) causes duplicate export warnings to be
generated when compiling 64-bit builds. Name mangling also occurs on
functions that are exported this way, so it doesn't actually work with
the plugin system, which uses unmangled names.
The module definition file exports the functions without name mangling
and is sufficient on its own.
2016-06-05 22:57:42 +01:00
Jonathan Li
b20433c0be
windows: Remove user.props references from all projects
...
find . -name *.vcxproj -exec sed -i -e '/user.props/d' {} \;
Microsoft recommends against using .user files. From
https://msdn.microsoft.com/en-us/library/669zx6zc.aspx :
"The best practice is to delete the reference to them in Property
Manager to ensure that your projects operate independently of any
per-user, per-computer settings. This is important to ensure correct
behaviour in a SCC (source code control) environment."
If you cannot compile SPU2-X after this commit (since that still relies
on the old DirectX SDK), you'll need to fix your build environment.
2016-05-29 12:21:52 +01:00
Jonathan Li
36cd1ae3cc
windows: Remove parameter from prebuild command
...
It's unused. Also convert to using SolutionDir instead of Svnwhatever.
2016-05-28 23:25:08 +01:00
Jonathan Li
5f6658ae9a
common:freebsd: Kill some warnings
2016-05-20 22:32:41 +01:00
Jonathan Li
7aa6564dcc
common:freebsd: Fix compilation
2016-05-20 22:32:41 +01:00
Jonathan Li
280ca1dd85
utilities: Add FreeBSD thread name implementation
2016-05-20 22:32:41 +01:00
Jonathan Li
f78d1a4018
utilities: Remove wx2.8 code and uses of wxMAJOR_VERSION
2016-04-29 00:09:47 +01:00
adamantike
a0eca54f96
Trivial fix on wxFont style/weight usage
2016-04-24 13:25:56 -03:00
Jonathan Li
5035c8bd48
utilities: always include wx/crt.h on Linux
...
The header is necessary if the wx3.0 package isn't compiled with
wx2.8 backwards compatibility.
2016-04-23 13:57:47 +01:00
Jonathan Li
dda44519c1
pcsx2|utilities: Use non-deprecated wxFont stuff
2016-04-23 13:57:42 +01:00
Gregory Hainaut
c44f605b5e
x86emitter: gcc 6 compilation fix
...
Fix #1297
2016-04-18 19:27:06 +02:00
Jonathan Li
0ab7b6340d
Merge pull request #1275 from AdmiralCurtiss/memcard-plugin-switch-filter-reset
...
Move folder memcard filter management into the actual folder memcard class to fix #1179 and similar.
2016-04-06 23:59:36 +01:00
Gregory Hainaut
8ee9295f39
x86emitter: increase size of union capabilities
2016-04-04 21:04:41 +02:00
Gregory Hainaut
ee08a6fc53
Merge pull request #1270 from PCSX2/monolithic-build
...
Monolithic build
2016-04-03 11:20:07 +02:00
Admiral H. Curtiss
97a68becb9
Handle filter management in the folder memcard class rather than outside.
...
This prevents desync between what is assumed to be the active filter and
what is actually the active filter, fixing errors like #1179 where the
memory cards are closed and reopened for whatever reason.
2016-04-02 15:22:11 +02:00
Gregory Hainaut
791a0ce702
common: initialize scalar field of pxThread
...
CID 147022
v2: initialize all member in initializer list
2016-03-30 19:55:45 +02:00
Gregory Hainaut
37de84d55f
x86emitter: initialize scalar field
...
CID:147038
2016-03-30 19:50:41 +02:00
Gregory Hainaut
f010f9458b
plugin: add define to select builtin plugin
2016-03-30 09:54:34 +02:00
Gregory Hainaut
de24ce0a8f
x86emitter: miss comas here
2016-03-28 18:10:39 +02:00
Jonathan Li
e760a9566a
windows: Move EmbeddedImage.h to utilities project file
2016-03-16 20:41:21 +00:00
Jonathan Li
a487aaf952
Merge pull request #1232 from turtleli/nonxp-toolkit
...
windows: Switch to Non-XP compatible toolkits
2016-03-16 20:34:27 +00:00
Gregory Hainaut
0ef8ddb2a2
Merge pull request #924 from kust2708/onepad-gui
...
Onepad GUI for Linux - New wxWidget interface
2016-03-15 20:23:44 +01:00
Jonathan Li
b516c1001a
windows: Set _WIN32_WINNT to 0x0600 (Windows Vista)
2016-03-13 13:41:16 +00:00
Jonathan Li
9ed9b2d8cd
windows: Switch to DefaultPlatformToolset aka non-XP toolsets
...
Basically I ran
find . -name "*.vcxproj" -exec sed -i -e 's/_xp//' {} \;
This will likely break XP, but it paves the way on Windows for a PCSX2
that does not require the DirectX redistributables to be installed for
Windows 8, 8.1 and 10 users. Windows Vista and 7 users will still require
the DirectX redistributable files for XInput and XAudio, though PCSX2
should still be capable of running if a user does not actually use either
of them.
2016-03-13 12:04:28 +00:00
Gregory Hainaut
3d5c1b4ef8
Core|Common: restore old interlocked add/sub behavior
...
interlocked* returns the new value whereas fetch_add/sub returns the old value.
2016-02-29 21:43:56 +01:00
Gregory Hainaut
e57a75ac55
Merge pull request #1202 from PCSX2/atomic-v2
...
Atomic v2
2016-02-28 22:08:29 +01:00
Gregory Hainaut
610bf8a277
Common: delete most of the deprecated atomic API
2016-02-28 15:29:31 +01:00
Gregory Hainaut
5ca92ecd67
Common: port code to std::atomic
2016-02-28 15:29:31 +01:00
Gregory Hainaut
ca8955daf3
MTVU: port ScopedLockBool to std::atomic
2016-02-28 15:29:31 +01:00
Gregory Hainaut
60fe26ff2f
common:threading: Port NonblockingMutex to std::atomic_flag
2016-02-28 15:29:00 +01:00
Gregory Hainaut
89fad4d3ad
common: port ScopedPtrMT to std::atomic
...
v2: s/NULL/nullptr/
v3: tentative fix for MSVC
// ScopedPtrMT.h(91, 0): error C2593: 'operator ==' is ambiguous
2016-02-28 15:29:00 +01:00
Jonathan Li
2d4e2fb8cb
windows: spu2-x does not use the emitter
...
So let's not specify it as a build dependency.
Also remove some unnecessary manual library linkage and remove the
wsWidgets GUI property sheet, which does nothing useful.
2016-02-28 11:08:08 +00:00
Jonathan Li
bfeb3e801a
gsnull: Remove GSsetWindowInfo
...
PCSX2 doesn't actually use it.
GSnull also seems a bit behind the current GS plugin API - perhaps it
should be removed.
2016-02-28 02:45:59 +00:00
Gregory Hainaut
a66c911fed
cmake: factorize debug/dev define
2016-02-21 16:17:10 +01:00
Pierre "Piorrro" GRASSER
30d1c0e0b5
Typo correction #2
...
I forgot to edit the other strings, last time.
2016-02-18 13:49:56 +01:00
kust2708
823a37aed7
OnePad : New GUI based on gwWidget
...
Buttons done, configuration initialization done.
Still need to add Gamepad and Joysticks configuration frames.
Require png file for the moment (the embedded picture will be fixed after).
New Onepad GUI based on wxWidget (Main frame almost finish)
Background picture is now embedded
Button binding works
Loading and saving works
Need to add feedback and gamepad, joysticks configuration frame
Modification of the onepad CMakeList.txt
Automatic generation of images headers using perl script
Modification of the test feedback function
2016-02-14 17:26:31 +01:00
Pierre "Piorrro" GRASSER
d7b40433db
Typo correction
2016-02-14 09:30:49 +01:00
Jonathan Li
e92636ab1a
utilities: Remove ScopedPtr and pxObjPtr implementation
...
Both are now unused.
2016-02-08 22:31:45 +00:00
Jonathan Li
a74677acf7
utilities: Convert ScopedPtr to unique_ptr
2016-02-08 22:31:45 +00:00
Jonathan Li
92bb849e7c
Use unique_ptr instead of ScopedPtr for exceptions
2016-02-08 22:31:45 +00:00
Jonathan Li
115b14bc94
cdvd: Replace ScopedPtr with unique_ptr
2016-02-08 22:31:45 +00:00
Gregory Hainaut
5611333c29
PCSX2: remove reporting of mmx/3dnow
2016-02-08 09:16:52 +01:00
Gregory Hainaut
5140a2e107
x86emitter: remove MMX support
2016-02-08 09:13:24 +01:00
Gregory Hainaut
d59e4ca4d1
intrinsic: add rotate support for clang....
2016-02-01 18:46:10 +01:00
Jonathan Li
04a8efd8c3
pcsx2|common: Use _WIN32 for Windows preprocessor macro
...
It's predefined, unlike WIN32 and _WINDOWS (and other variants), which
are defined in the property sheets.
2016-01-27 22:41:45 +00:00
Jonathan Li
50c7775e47
utilities: Use C99+ size definitions on Windows
...
Also remove a LONG definition for Linux - it's unused.
2016-01-27 22:41:45 +00:00
Gregory Hainaut
53e24a8e30
x86emitter: fix an useless gcc warning on int/uint cast
2016-01-27 10:27:34 +01:00
Gregory Hainaut
6dd83d3cba
x86emitter: there are 16 int registers for all sizes.
2016-01-21 22:34:13 +01:00
Gregory Hainaut
9e773ff980
Merge pull request #1123 from PCSX2/emitter-Trex
...
Emitter trex
2016-01-21 22:32:37 +01:00
Gregory Hainaut
a2a23579bd
Merge pull request #1122 from PCSX2/emitter-64b
...
Emitter 64b
2016-01-21 22:31:01 +01:00
Gregory Hainaut
1a700145ec
x86emitter: remove unused FPU opcode
...
Future code would rely on SSE anyway
2016-01-20 10:23:23 +01:00
Jonathan Li
3c7e45ccc8
utilities: Remove ScopedArray implementation
...
It's now unused.
2016-01-17 22:54:22 +00:00
Jonathan Li
e8596f0430
pcsx2: Rearrange Console colour enum order
...
Preparation for next commit - The default isn't bold, so it's slightly
neater to have it at the start.
2016-01-17 22:06:32 +00:00
Gregory Hainaut
41a80fce20
x86emitter: finally support 64 bits instructions
...
Note: a couple of instructions don't support REX prefix. Some
exception ought to be implemented later
2016-01-17 17:02:38 +01:00
Gregory Hainaut
40438cf2bd
x86emitter: port couple of simd instrusction to xOpWrite0F template
2016-01-17 16:59:44 +01:00
Gregory Hainaut
9ac22ee9aa
x86emitter: rewrite remaining function to use generic template
2016-01-17 16:42:39 +01:00
Gregory Hainaut
fc5e293ef6
x86emitter: rewrite move to use generic template
2016-01-17 13:44:29 +01:00
Gregory Hainaut
25cd35147e
x86emitter: rewrite groups to use generic template
2016-01-17 12:34:44 +01:00
Gregory Hainaut
a9864a5619
x86emitter: create xOpAccWrite handy template for special accumulator opcode
2016-01-17 12:34:28 +01:00
Gregory Hainaut
d2436fa86d
x86emitter: remove unused function
2016-01-17 12:07:41 +01:00
Gregory Hainaut
16057d8b04
x86emitter: inc/dec are illegal on x86_64
2016-01-17 12:07:03 +01:00
Gregory Hainaut
f2ecfc99ad
x86emitter: align EmitRex interface on EmitSibMagic
2016-01-17 12:06:08 +01:00
Gregory Hainaut
e50e9a5e65
x86emitter: sed/32orLess/64orLess/
2016-01-17 00:29:19 +01:00
Gregory Hainaut
395d43fd9c
x86emitter: jump: use base type directly
...
which fix 16 bits call (no prefix)
2016-01-17 00:21:05 +01:00
Gregory Hainaut
968af6148e
x86emitter: extend SSE instruction type
2016-01-17 00:21:05 +01:00
Gregory Hainaut
4bc9cbc24f
x86emitter: extend lea/bswap
2016-01-17 00:21:05 +01:00
Gregory Hainaut
eb4db2152c
x86emitter: add x64 to push/pop
2016-01-17 00:21:05 +01:00
Gregory Hainaut
ef21a8dbd0
x86emitter: extend group8 type
2016-01-17 00:21:05 +01:00
Gregory Hainaut
39a6bda52d
x86emitter: extend test & bitscan type
...
Factorize the code to support any types
2016-01-17 00:21:05 +01:00
Gregory Hainaut
e285036455
x86emitter: shift: extend it to 64 bits type
2016-01-17 00:21:05 +01:00
Gregory Hainaut
fdaf0e9979
x86emitter:group: uses base type
...
Add 64 bits support for free ;)
Note: 64b still requires the REX prefix
2016-01-17 00:21:05 +01:00
Gregory Hainaut
e2602b3967
x86emitter:move: factorize type and extend it to 64 bits
...
It's still missing the REX prefix support
2016-01-17 00:21:05 +01:00
Gregory Hainaut
41f509873d
x86emitter: extend xIndirect32orLess to support 64 bits
...
It would be renamed later to avoid conflict with pending updates
2016-01-17 00:12:31 +01:00
Gregory Hainaut
39dc8368fa
x86emitter: add GetPrefix16 helper
2016-01-17 00:12:21 +01:00
Gregory Hainaut
be0b8cf2f5
x86emitter: implement some function to emit the REX prefix
...
Same fashion as EmitSibMagic
2016-01-17 00:10:21 +01:00
Gregory Hainaut
53b5ecf34a
x86emitter: add the new x86_64 registers set
2016-01-17 00:10:21 +01:00
Gregory Hainaut
366f793cf0
core: use xRegisterLong instead of xRegister32
...
Code needs to work with xAddressReg however the x32 inheritance doesn't
exits anymore on 64 bits.
Note: it might be possible to uses some kind of autoconversion with
xRegister32or64. Could be a future improvement.
2016-01-17 00:10:21 +01:00
Gregory Hainaut
1328865279
x86emitter: xAddressReg size will depend on the arch
...
Note: displacement are never 8B. The max is 4B which is sign extended to 8B.
So we can't store a pointer into it anymore.
Add xRegisterLong that will be x64 on 64 bits and x32 on 32 bits
2016-01-17 00:10:21 +01:00
Gregory Hainaut
a865ba8cf5
x86emitter: add various type for 64 bits
2016-01-17 00:10:21 +01:00
Gregory Hainaut
2fea78a6c4
x86emitter: remove not virtual inherited function
...
IsSIMD isn't virtual
2016-01-17 00:10:21 +01:00
Gregory Hainaut
6ec7d2c340
x86emitter: ease template stuff
2016-01-16 14:34:00 +01:00
ramapcsx2
aafa333355
added the profiler to the visual studio solution. also added preliminary cop1 (fpu) tables, ready for implementation
2016-01-15 00:26:52 +01:00
Gregory Hainaut
a7a8c542f5
Merge pull request #1100 from PCSX2/recompiler-abi-wrapper
...
Recompiler abi wrapper
2016-01-14 19:21:27 +01:00
Gregory Hainaut
3c528f0fdd
common define _32kb and _4kb
2016-01-11 18:00:25 +01:00
Gregory Hainaut
6e66bea152
x86emitter: improve the various abi wrapper
...
V2:
* Add various option to handle the different frame
* Basic x86-64 port (untested so likely completely broken)
v3:
Create an templated xImpl_FastCall object
v4:
clang compilation fix
2016-01-11 09:21:32 +01:00
Gregory Hainaut
a6eb871b42
pcsx2: use a common general intrin include
...
Avoid issue with various compiler conversion
Fix build with GCC4.8
2016-01-11 09:13:52 +01:00
Gregory Hainaut
afdf5cdfe2
x86emitter: remove old unused macro
...
Add some notes for a GCC "bug"
2016-01-10 16:49:50 +01:00
Gregory Hainaut
92d7639267
profiler: add functions to plug linux Perf Event on JIT
...
Basically it creates a /tmp/perf-`pid`.map file which will contains
a mapping of the x86 code with the EE/IOP/VU code
* You need to enable the profiler with a define
* You can split the profiling by block (inside a recomp buffer)
v2: add new file to VS xml files
v3: remove useless include
2016-01-10 13:42:59 +01:00
Gregory Hainaut
50c7cb1717
x86emitter: implement some BMI instructions
...
Only a couple of one to do some memory profiling
2016-01-09 23:29:01 +01:00
Gregory Hainaut
9e13a7bdaa
x86emitter: add support for the VEX opcode
2016-01-09 22:59:31 +01:00
Gregory Hainaut
29b0b17f50
x86emitter: add BMI1 & BMI2 instruction detection
2016-01-09 22:59:31 +01:00
Gregory Hainaut
fd56195b2d
x86emitter: drop old register define
2016-01-09 21:28:10 +01:00
Gregory Hainaut
834cc3f2c5
core|x86emitter: port basic jump instruction
2016-01-09 21:26:25 +01:00
Gregory Hainaut
743e615224
core: overload _freeX86reg with xRegister32
2016-01-09 21:15:25 +01:00
Gregory Hainaut
60a9463e7a
x86emitter: remove unused legacy function
...
And mark the remaining one as deprecated
Clang only as it relies on C++14
2016-01-09 21:13:29 +01:00
Gregory Hainaut
de2b97c640
linux compilation fix
2016-01-08 22:35:55 +01:00
Gregory Hainaut
74db92bee4
Merge pull request #978 from juhalaukkanen/apple_osx_master_merge
...
OSX 32bit build
2016-01-08 20:09:37 +01:00
Gregory Hainaut
4f28403c03
Merge pull request #972 from PCSX2/clean-gcc-opt-cmake
...
cmake: reenable a couple of missing gcc optimization
2016-01-08 19:32:18 +01:00
Gregory Hainaut
fb1a19f157
x86emitter: clean unused legacy type
...
Note: no need to check -1 on register allocation failure (a exception will be fired)
2015-12-02 19:09:43 +01:00
Gregory Hainaut
21445fe0d0
x86emitter: Add several architecture dependant wrapper
...
* A nice object to create the stack frame
* Various xStdCall/xFastCall to emulate standard & fast call
2015-12-02 19:06:52 +01:00
Juha Laukkanen
7edf747e84
Darwin/OSX Mutex & MAP_ANON vs. MAP_ANONYMOUS.
...
OSX compilation fix: mutex: Windows
2015-12-02 05:00:23 +02:00
Juha Laukkanen
fc3ff48777
Darwin/OSX SysMessage stub & __POSIX__ define.
2015-11-30 12:18:44 +02:00
Jonathan Li
52be531b8e
utilities:windows: Use standard memset for memset_8
...
aka commit 2194685
for Windows
2015-11-29 11:46:59 +00:00
Jonathan Li
57ad97d212
x86emitter: Remove bool_to_char
...
It was unused.
2015-11-29 10:58:32 +00:00
Jonathan Li
4d97089990
x86emitter: Fix Windows AVX2 detection
...
Technically it did work, but it was undefined behaviour. Use __cpuidex,
which allows setting ecx as well.
Also fix the _xgetbv intrinsic - I have no idea how PCSX2 even
compiled on Windows.
2015-11-29 10:57:51 +00:00
Gregory Hainaut
9aec4229d5
x86emitter: support AVX2 (linux only?)
...
Nah kidding, it is only the cpu detection for the log
x86 Features Detected:
SSE2.. SSE3.. SSSE3.. SSE4.1.. SSE4.2.. AVX.. AVX2.. FMA
2015-11-28 23:40:15 +01:00
Gregory Hainaut
02186d5a54
x86emitter: always use fxsave intrinsic/asm
2015-11-28 22:19:42 +01:00
Gregory Hainaut
d5efd6eacb
x86emitter: remove the never called SIMD_ExceptionTest function
2015-11-28 22:02:08 +01:00
Jonathan Li
a59a90c734
common:windows: Add unicode compatible functions
...
It's not great, but it will work.
2015-11-25 20:03:44 +00:00
Juha Laukkanen
f813b9e25b
Darwin/OSX semaphore & thread & os backend.
2015-11-17 19:30:20 +02:00
Gregory Hainaut
21857ec12d
Merge pull request #967 from PCSX2/remove-lazy-allocation
...
Reduce lazy allocation
2015-11-15 00:12:07 +01:00
Gregory Hainaut
d5830ef708
cmake: reenable a couple of missing gcc optimization
2015-11-14 09:54:09 +01:00
Gregory Hainaut
abb4cb4810
plugin API: use const char* insead of char*
...
I hope it doesn't change the ABI
v2: fix GSnull/zzogl/zerogs
v3: duplicated code on windows...
2015-11-12 12:11:42 +01:00
Gregory Hainaut
4bfb60865c
common: ifdef x64 specific code
...
gcc warning: set but unused
2015-11-12 12:10:49 +01:00
Gregory Hainaut
26774a2fe0
recompilers: always allocate the first block
...
Avoid several annoying SIGSEGV at startup
2015-11-12 10:35:10 +01:00
Gregory Hainaut
7565bcc789
ee: drop SpatialArrayReserve allocator
...
Let's the kernel manage the memory either with builtin lazy allocation or
swapped memory.
Avoid to handle SIGSEGV manually (nicer for debug) and removes 250 lines of code.
2015-11-12 10:35:10 +01:00
Jonathan Li
44d89308c9
Revert "Revert "gsdx|spu2-x: Use atlcomcli.h for CComPtr definition""
...
This reverts commit 9bb990e9ed
.
Fight! Ahem...
2015-11-09 20:55:07 +00:00
Jonathan Li
9bb990e9ed
Revert "gsdx|spu2-x: Use atlcomcli.h for CComPtr definition"
...
This reverts commit 0eb771c2a6
.
The buildbot apparently cannot find atlcomcli.h. Oh joy.
2015-11-08 20:46:41 +00:00
Jonathan Li
49ff324882
Merge pull request #955 from turtleli/replace-comptr-h
...
gsdx|spu2-x: Use atlcomcli.h for CComPtr definition
2015-11-08 13:27:28 +00:00
Gregory Hainaut
870e799baa
memcpy: remove AMD copyright
...
memcmp comes from zerofrog (him or external) but likely not AMD
https://www.cs.virginia.edu/stream/FTP/Contrib/AMD/memcpy_amd.asm
2015-11-07 15:57:34 +01:00
Jonathan Li
0eb771c2a6
gsdx|spu2-x: Use atlcomcli.h for CComPtr definition
...
VS2013/VS2015 community includes it, so everything will still compile
for everyone.
Also delete common/include/comptr.h.
2015-11-06 18:52:33 +00:00
Jonathan Li
08dfa20da1
utilities:linux: Add function to change stdout stream
...
stdout is not necessarily at stdout - at least not after I'm done with it.
2015-10-31 13:50:02 +00:00
Jonathan Li
618ef8b549
pcsx2:linux: Use narrow characters for stdout
...
Things seem to break when you mix wide and narrow characters.
Plugins messages sent to stdout are now viewable.
2015-10-29 19:09:49 +00:00
Gregory Hainaut
2194685d76
memset-linux: use std memset for memset_8
...
This memset is only used in the init (to clear the page that will
contains the dynarec dispatcher
2015-10-28 14:25:12 +01:00
Akash
cfd02bff53
Utilities: Initialize all class members
...
CID 147010 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)4. uninit_member: Non-static class member Enabled is not initialized in this constructor nor in any functions that it calls.
2015-10-25 14:11:34 +05:30
Gregory Hainaut
4f86cca306
common: don't return a boolean for an assert
...
It might help to fix those 2 coverity reports.
CID 151744 (#1 of 1): Useless call (USELESS_CALL)
side_effect_free: Calling EnumAssert(id) is only useful for its return value, which is ignored
CID 151745 (#1 of 1): Useless call (USELESS_CALL)
side_effect_free: Calling EnumAssert(id) is only useful for its return value, which is ignored.
2015-10-17 11:49:04 +02:00
Avi Halachmi (:avih)
75b2406997
macros: fix pxReleaseCode (was inverted), add pxNonReleaseCode
...
pxReleaseCode was not used at the code so nothing is affected.
pxNonReleaseCode will be used at the next commit.
2015-10-07 04:08:09 +03:00
Gregory Hainaut
927dd827ce
common: make DESTRUCTOR_CATCHALL macro really exception safe
...
Console.Error() can trigger some exceptions (like out of memory)
v2:
Add a default fallback catch(...) in case someone badly add a new
exception in the codebase
2015-09-25 18:41:19 +02:00
Gregory Hainaut
2eb73644e9
pcsx2|common: use DESTRUCTOR_CATCHALL to catch exception in various destructor
...
Allow to print a nice error message instead of a brutal abort in case of
massive failure
2015-09-23 09:47:27 +02:00
Gregory Hainaut
8083b2c754
common: init values in the constructors of SpatialArrayReserve and pxStaticText
2015-09-23 09:47:27 +02:00
Gregory Hainaut
2c914b9b8f
common:FastFormatString: remove unimplemented m_Length
2015-09-23 09:47:27 +02:00
Gregory Hainaut
a6c29a5061
common: always set a default color in trace log
2015-09-23 09:47:27 +02:00