925 Commits

Author SHA1 Message Date
Connor McLaughlin
99d42c07c2 D3D11/StreamBuffer: Use WRITE_DISCARD at position 0 2020-03-08 12:38:01 +10:00
Connor McLaughlin
ef2796b780 CommonHostInterface: Fix controller inputs not binding
Fixes #46.
2020-03-06 21:55:27 +10:00
Connor McLaughlin
19c1e8b838 StringUtil: Fix for older gcc versions again 2020-02-28 17:19:51 +10:00
Connor McLaughlin
5df7fbd68c Common/Rectangle: Fix typo in assignment operator 2020-02-28 17:00:19 +10:00
Connor McLaughlin
122726fe65 Common/StringUtil: Support compiling on gcc7 2020-02-28 17:00:16 +10:00
Connor McLaughlin
da0059fb21 Common/StringUtil: Add a FromChars std::optional wrapper 2020-02-28 17:00:05 +10:00
Connor McLaughlin
86094b8080 Common/String: Don't copy StaticStrings when not writing 2020-02-28 17:00:02 +10:00
Connor McLaughlin
7ece901d57 CDImage/CHD: Fix crash when opening invalid/nonexistant file 2020-02-22 00:18:58 +09:00
Connor McLaughlin
46846a10f6 Common: Simplify D3D shader object creation with helpers 2020-02-19 22:04:21 +09:00
Connor McLaughlin
fd2ca2927e Common/FileSystem: Fix recursive directory creation 2020-02-15 23:19:27 +09:00
Connor McLaughlin
f0910dc948 Common/FileSystem: Include fix 2020-02-15 11:00:54 +09:00
Connor McLaughlin
f805764fea Common/FileSystem: More OSX fixes.. 2020-02-15 10:50:33 +09:00
Connor McLaughlin
2ac8f7a6ac Common/FileSystem: uint32 -> u32 2020-02-15 10:34:48 +09:00
Connor McLaughlin
4681f9d744 Common/FileSystem: Don't include malloc.h on macOS 2020-02-15 10:12:55 +09:00
Connor McLaughlin
33f3ab4d86 Common/FIFOQueue: Use posix_memalign instead of memalign 2020-02-15 00:08:56 +09:00
Connor McLaughlin
23c8a5588d Add macOS to some Linux/Android-only-isms 2020-02-14 22:58:18 +09:00
Connor McLaughlin
d1c8775996 Common/Rectangle: Compile fix when using operator= 2020-02-07 00:10:46 +09:00
Connor McLaughlin
4eadc07629 Common/StringUtil: Fix more incorrect usage of va_list 2020-02-03 13:53:17 +10:00
Connor McLaughlin
b11a7a106f Common/Log: Fix corrupted output/UB with va_copy
Fixes crashes on GCC9+ (#9), maybe others.
2020-02-01 11:04:46 +10:00
Connor McLaughlin
e11c7190b5 Linux build fix 2020-01-30 20:20:21 +10:00
Connor McLaughlin
c1c82eb3f3 Common/CDImage: Support CHD format 2020-01-30 20:06:15 +10:00
Connor McLaughlin
18d5086e4c Common/CDImage: Changes to support CHD interfaces 2020-01-30 20:06:15 +10:00
Connor McLaughlin
288b680e07 FileSystem: Add ReplaceExtension() helper 2020-01-30 16:22:05 +10:00
Connor McLaughlin
1b9609ef61 Implement event-based scheduler instead of lock-step components 2020-01-24 16:23:39 +10:00
Connor McLaughlin
82da9a4505 D3D11: Add a shader bytecode cache class 2020-01-24 14:52:00 +10:00
Connor McLaughlin
7afb79aee6 Common: Add FileSystem::{Get,Set}WorkingDirectory functions 2020-01-24 14:50:58 +10:00
Connor McLaughlin
de4e45a433 Common: Add a function to get the path to the running program 2020-01-24 14:50:57 +10:00
Connor McLaughlin
d2db6bf9c3 Common/Rectangle: Add clamp methods 2020-01-22 23:57:12 +10:00
Connor McLaughlin
159786c3f1 Common/Assert: Fix incorrect windows platform detection 2020-01-17 21:36:31 +10:00
Connor McLaughlin
0861a1e579 Common: Remove unused type declarations 2020-01-13 12:01:39 +10:00
Connor McLaughlin
4de82bda6d Linux build for cubeb 2020-01-12 15:17:15 +10:00
Connor McLaughlin
1911ab2e1c CubebAudioStream: Initialize COM on Windows if it isn't already initialized 2020-01-11 14:20:51 +10:00
Connor McLaughlin
9586970a9f AudioStream: Add cubeb implementation 2020-01-11 13:51:41 +10:00
Connor McLaughlin
71c1e243fe Remove YBaseLib dependency 2020-01-10 13:40:53 +10:00
Connor McLaughlin
c52040434a Core: Linux warning fixes 2020-01-09 08:46:52 +10:00
Connor McLaughlin
1b7be01507 Qt: Implement audio output 2020-01-07 14:18:51 +10:00
Connor McLaughlin
f3e9c3ec8c Add initial work on Qt frontend 2019-12-31 16:18:30 +10:00
Connor McLaughlin
6176fc4486 NullAudioStream: Provide factory function 2019-12-30 00:45:50 +10:00
Connor McLaughlin
9f45c67b1d JitCodeBuffer: Fix compilation on AArch64 2019-12-27 20:38:07 +10:00
Connor McLaughlin
ed7aabe5f2 Common: Add a NullAudioStream implementation 2019-12-23 17:02:11 +10:00
Connor McLaughlin
ad93d83421 JitCodeBuffer: Don't leak code space on Windows 2019-12-21 22:09:08 +10:00
Connor McLaughlin
decf416aee JitCodeBuffer: Expose FlushInstructionCache() to callers 2019-12-20 21:55:25 +10:00
Connor McLaughlin
1de096224c JitCodeBuffer: Fix far code pointer not being initialized without reset 2019-12-20 21:55:21 +10:00
Connor McLaughlin
6f78fea159 GL: Improve error handling with texture creation 2019-12-11 00:02:12 +10:00
Connor McLaughlin
b53e32e84f GL/Program: Add IsBound() method 2019-12-07 01:36:14 +10:00
Connor McLaughlin
bc44d4b1b0 CDImage: Support SBI replacement subchannel Q for cue/bin images 2019-12-06 21:14:58 +10:00
Connor McLaughlin
d41a76ac5e CDImage: Fix incorrect file offset being used for pregap 2019-12-06 00:33:21 +10:00
Connor McLaughlin
2c645d9e93 JitCodeBuffer: Use __builtin___clear_cache instead of __clear_cache
The former exists on Android.
2019-12-04 20:33:02 +10:00
Connor McLaughlin
f49216f5f8 CPU/Recompiler: Implement most instructions for AArch64 2019-12-04 01:50:59 +10:00
Connor McLaughlin
98e67616ec JitCodeBuffer: Flush cache after committing code on ARM CPUs
ARM's instruction and data caches are not coherent, so we need to flush
before executing to ensure there's no stale data left over.
2019-12-03 20:21:32 +10:00
Connor McLaughlin
3b11d936df Common: Add a basic ISO reader class 2019-11-29 23:36:25 +10:00
Connor McLaughlin
f11d357ab9 Compile fixes for Android 2019-11-28 01:55:33 +10:00
Connor McLaughlin
457743e109 Common/CDImage: Fix double increment of sectors_read 2019-11-28 01:55:09 +10:00
Connor McLaughlin
897e75fa8e CPU/Recompiler: Fix code generation crash on Linux 2019-11-23 21:38:38 +10:00
Connor McLaughlin
11966e4caf CPU/Recompiler: Write exception exits to far code buffer
Keeps the hot path nice and clean.
2019-11-22 18:01:28 +10:00
Connor McLaughlin
878a76e258 Common: Fix issues in utility classes for readbacks 2019-11-14 16:57:58 +10:00
Connor McLaughlin
525bbf48d7 CDImage: Set data bit in Q subchannel for bin images 2019-11-13 16:28:43 +10:00
Connor McLaughlin
8e06f86db8 CDROM: Implement auto-pause at end of track 2019-11-12 20:40:37 +10:00
Connor McLaughlin
6bb4f8e728 CDImage: Support generating Q Sub-Channel 2019-11-10 22:44:53 +10:00
Connor McLaughlin
2cc5084dd1 CDImage: Handle cue sheets where pregap is in file 2019-11-10 15:16:48 +10:00
Connor McLaughlin
26c22f003f Common: Persistent-mapped stream buffer implementation 2019-11-07 00:08:13 +10:00
Connor McLaughlin
cc7483ad58 GPU/HW: Only copy the dirty area to the VRAM read texture 2019-11-05 22:34:36 +10:00
Connor McLaughlin
65197d4350 Common: Add Rectangle helper class 2019-11-05 19:19:20 +10:00
Connor McLaughlin
39850af147 Common: Add GS support to D3D11 shader compiler 2019-11-05 00:23:31 +10:00
Connor McLaughlin
f244da86a2 Common: Add helper classes for D3D11 2019-11-04 00:39:25 +10:00
Connor McLaughlin
d68f7085d6 Common: Move GL classes to subdirectory 2019-11-03 15:22:37 +10:00
Connor McLaughlin
d5150ec790 Common: Add unregistered uniform mutators to GL::Program 2019-11-03 15:18:28 +10:00
Connor McLaughlin
91c99f0226 GPU/HW: Use uniform blocks for batch rendering 2019-11-03 13:18:43 +10:00
Connor McLaughlin
e3a9aa1c4f Common: Add uniform block binding to GL::Program 2019-11-03 13:14:50 +10:00
Connor McLaughlin
5abbdef065 Fix compile errors on GCC 2019-11-03 00:15:42 +10:00
Connor McLaughlin
bb572d5c14 GPU: Remove hack for bitwise ops on TextureMode enum 2019-11-03 00:01:54 +10:00
Connor McLaughlin
f59e08b564 Common: Add Unbind() to GL::StreamBuffer 2019-11-02 23:42:44 +10:00
Connor McLaughlin
60281eb67e Common: Use std::string_view for GL::Program 2019-11-02 23:42:21 +10:00
Connor McLaughlin
407fee9ec3 GPU: Add base functionality for GL streaming buffers 2019-11-02 22:21:56 +10:00
Connor McLaughlin
d8a02d7a15 common: Add macro for generating static/friend enum class operators 2019-11-01 21:47:40 +10:00
Connor McLaughlin
273d807e31 Common: Add HeapArray class 2019-10-27 13:34:13 +10:00
Connor McLaughlin
41574d92e8 Build: Enable conformance mode 2019-10-27 01:58:28 +10:00
Connor McLaughlin
f9e964e34d CDImage: Relational operators for Position 2019-10-27 00:01:32 +10:00
Connor McLaughlin
27674c2dc9 FIFOQueue: Support copying from another queue (pop -> push) 2019-10-26 17:41:29 +10:00
Connor McLaughlin
1adb1d14ae Build: Enable inlining for __inline functions in DebugFast 2019-10-26 15:42:21 +10:00
Connor McLaughlin
c7a7d682bc Common: Force inlining of BitField/SignExtend/ZeroExtend functions 2019-10-26 15:41:43 +10:00
Connor McLaughlin
2500f9d3af Build: Disable LTCG on common project in Release 2019-10-26 15:36:48 +10:00
Connor McLaughlin
ca48b21ffc StateWrapper: Support switching modes 2019-10-25 23:30:44 +10:00
Connor McLaughlin
9410685807 Common: Optionally create framebuffer with GL textures 2019-10-23 00:35:08 +10:00
Connor McLaughlin
a76ec6fc19 Compile fixes for GCC 2019-10-22 23:07:51 +10:00
Connor McLaughlin
4f1fc7abf0 Fix CMake build 2019-10-20 22:31:45 +10:00
Connor McLaughlin
b9e0c329d0 Remove unused common classes 2019-10-20 22:28:19 +10:00
Connor McLaughlin
9058a79184 Remove libsamplerate dependency 2019-10-20 22:26:49 +10:00
Connor McLaughlin
1cc3e4d5f2 CDImage: Only add implicit two seconds pregap for track 1 2019-10-20 15:32:02 +10:00
Connor McLaughlin
9b6a59329e Common: Support dual-source blend in GL::Program 2019-10-19 17:35:36 +10:00
Connor McLaughlin
9433e08782 CDROM: Implement GetTD command 2019-10-18 23:52:52 +10:00
Connor McLaughlin
4959de9859 CDROM: Implement GetTN command 2019-10-18 23:52:52 +10:00
Connor McLaughlin
246b17454e CDROM: Store filename, reduce ack cycles 2019-10-18 23:52:52 +10:00
Connor McLaughlin
513bbe44f3 Common: Refactor CDImage class to support multiple tracks/indices 2019-10-18 23:52:52 +10:00
Connor McLaughlin
0324ae2fd7 CDROM: Initial debug windows 2019-10-17 23:54:51 +10:00
Connor McLaughlin
e68cddf017 Fix CMake build 2019-10-15 18:02:48 +10:00
Connor McLaughlin
2b6ebf9955 Common: Add helper functions for decoding CD-XA ADPCM 2019-10-15 17:24:11 +10:00
Connor McLaughlin
b2632db0a7 build: Use C++17 for MSBuild in common library 2019-10-15 17:23:38 +10:00
Connor McLaughlin
2d9d999713 Add debug window for MDEC 2019-10-12 23:27:23 +10:00
Connor McLaughlin
d88da93a55 SPU: Save state support 2019-10-11 16:54:21 +10:00
Connor McLaughlin
135e282f8d common: Add sync-to-audio support 2019-10-11 13:24:41 +10:00
Connor McLaughlin
bc51cc6d7d common: Add AudioStream class 2019-10-11 02:20:10 +10:00
Connor McLaughlin
e7d68ba304 common/BitField: Support sign extension 2019-10-04 23:20:42 +10:00
Connor McLaughlin
4fa79f1503 GL: Eliminiate most redundant state setting calls at draw time 2019-10-04 22:10:43 +10:00
Connor McLaughlin
0b46a8cfc4 CDROM: Implement GetlocP/GetlocL commands 2019-10-04 19:05:19 +10:00
Connor McLaughlin
a23a353dbb FIFOQueue: Add PopRange 2019-09-29 18:11:07 +10:00
Connor McLaughlin
9ee8c0194e StateWrapper: Add std::array overload 2019-09-29 18:05:22 +10:00
Connor McLaughlin
e11d98e5e0 StateWrapper: Fix FIFO corruption on loading 2019-09-28 16:21:09 +10:00
Connor McLaughlin
8841934009 GTE: Fix MVMVA flags due to missing 43-bit-sign-extend 2019-09-28 15:19:35 +10:00
Connor McLaughlin
c02cbc57e8 GPU: Properly handle semitransparent pixels 2019-09-27 17:40:26 +10:00
Connor McLaughlin
332b5481e8 common: Log bad shaders to disk 2019-09-26 23:32:56 +10:00
Connor McLaughlin
767e8f08e0 CDROM: Move pregap handling to image class 2019-09-26 00:15:06 +10:00
Connor McLaughlin
3fb08a72a4 CDROM: Hack around missing pregap in images 2019-09-22 02:32:45 +10:00
Connor McLaughlin
2875a22987 CDROM: Reads appear to be functioning 2019-09-22 01:12:16 +10:00
Connor McLaughlin
ad652c47ed Basic CD image loading 2019-09-20 20:14:00 +10:00
Connor McLaughlin
e3c6035152 CDROM: Implement get version and getstat commands 2019-09-17 22:18:58 +10:00
Connor McLaughlin
a0e7dff37c common: Add a FIFOQueue helper class 2019-09-17 19:22:23 +10:00
Connor McLaughlin
2128a2984b Add interrupt controller emulation 2019-09-17 16:26:00 +10:00
Connor McLaughlin
9475c281bd Build: Set /MP on projects which are missing it 2019-09-17 14:25:17 +10:00
Connor McLaughlin
5babc076f5 Bitfield: Fix incorrect shift in operator<<= 2019-09-15 12:42:43 +10:00
Connor McLaughlin
2560efbebd Save state support 2019-09-14 20:28:47 +10:00
Connor McLaughlin
851ef67814 GPU: Implement fill VRAM command 2019-09-14 16:43:53 +10:00
Connor McLaughlin
ae43cc838b GPU: Partially implemented texture support 2019-09-14 02:07:31 +10:00
Connor McLaughlin
aea7a18ac2 GPU: More work on OpenGL renderer 2019-09-13 01:09:07 +10:00
Connor McLaughlin
2149ab4d69 Initial commit 2019-09-11 14:00:42 +10:00