Connor McLaughlin
e228588823
Merge pull request #561 from lioncash/rectangle
...
rectangle: Correct assignment of right within SetExtents
2020-06-23 19:56:16 +10:00
Lioncash
e064196f25
rectangle: Correct assignment of right within SetExtents
...
Previously left was being assigned twice in a row.
2020-06-23 05:50:43 -04:00
Lioncash
0abe4c60b4
cd_image: Make use of std::array where applicable
...
Simplifies array copies.
2020-06-23 05:35:26 -04:00
Lioncash
a27aa45e6a
bitfield: Make interface fully constexpr
...
Given C++17 is being used, the entire interface is capable of being
constexpr.
2020-06-23 05:27:40 -04:00
Connor McLaughlin
9265dd72ba
Vulkan/ShaderCache: Skip writing pipeline cache when size matches
...
Comparing all the data wasn't working, at least for Intel. I'm guessing
there's some modification time field in there which keeps changing.
2020-06-22 15:58:10 +10:00
Connor McLaughlin
eaca5eca07
GPU/Vulkan: Use Metal layer instead NSView on macOS.
2020-06-22 15:58:07 +10:00
Connor McLaughlin
1455e793d5
Vulkan: Fix crash when drag-resizing window
2020-06-22 15:57:54 +10:00
Connor McLaughlin
bf60f9dd61
GPU/Vulkan: Use geometry shader for line rendering at >1xIR
2020-06-21 01:33:08 +10:00
Connor McLaughlin
f54876deb0
Vulkan/Context: Use VK_MVK_macos_surface not VK_EXT_metal_surface
...
Will change this over some time in the future when I can work on a Mac
again and set up the layer.
2020-06-20 20:37:38 +10:00
Connor McLaughlin
7192b8d83a
Vulkan/ShaderCache: Hopefully fix macOS build
2020-06-20 03:39:46 +10:00
Connor McLaughlin
1b5f8db2fc
Vulkan/Context: Support specifying GPU to use
2020-06-20 03:34:19 +10:00
Connor McLaughlin
4a04800132
Vulkan: Handle potential duplicate GPU/adapter names
2020-06-20 03:34:19 +10:00
Connor McLaughlin
c023bcd234
Linux build fix
2020-06-19 01:36:46 +10:00
Connor McLaughlin
3cd5b7ae74
Core: Add Vulkan renderer types
2020-06-19 00:18:14 +10:00
Connor McLaughlin
1399e95b77
Common: Add a range of Vulkan helper/wrapper classes
2020-06-19 00:18:07 +10:00
Connor McLaughlin
bd164d2735
Common/FileSystem: Add {Read,Write}BinaryFile helpers
2020-06-19 00:16:59 +10:00
Connor McLaughlin
0890164987
Common: Add scope_guard.h from Dolphin
2020-06-19 00:16:59 +10:00
Connor McLaughlin
8daff5e677
Common: Add dimensional_array.h
2020-06-18 03:10:33 +10:00
Connor McLaughlin
86f0d32e70
CubebAudioStream: Fix crash in PulseAudio on Linux
2020-06-09 03:03:53 +10:00
Connor McLaughlin
444a09efd4
AudioStream: Don't call FramesAvailable() while locked
2020-06-09 02:05:49 +10:00
Connor McLaughlin
8b04b74f27
Common: Add a CD image hasher class
2020-06-08 01:19:35 +10:00
Connor McLaughlin
531c3ad5fa
AudioStream: Replace buffer queue with ring buffer
...
Should achieve a decent overall minimum latency reduction.
2020-06-07 01:22:03 +10:00
Connor McLaughlin
0571b75fa5
GL/Context: Print GL_SHADING_LANGUAGE_VERSION on creation
2020-05-25 18:36:52 +10:00
Connor McLaughlin
4f4c4f4146
Common: Add GL context wrapper implementation
2020-05-25 15:02:44 +10:00
Connor McLaughlin
6ebd9236c5
CDImage: Add track info accessors
2020-05-16 20:32:36 +10:00
Connor McLaughlin
b6fbdf9aeb
AudioStream: Support changing output volume
2020-05-10 00:44:23 +10:00
Connor McLaughlin
712168cf45
CDImage: Better handle sequential reading into lead-out area
2020-05-08 17:35:55 +10:00
Connor McLaughlin
c3c8df14ea
CDImage: Set SubQ control for lead-out to last index SubQ
2020-05-08 15:41:16 +10:00
Connor McLaughlin
5b389ae13d
CDROM: Synthesize lead-out area and stop reading when reached
2020-05-08 10:51:49 +10:00
Connor McLaughlin
df66d86b27
CDImage: Log errno when fopen() fails
2020-05-06 23:42:08 +10:00
Connor McLaughlin
9446587e8f
GPU/HW: Mask bit handling in hardware renderers
...
Fixes:
- Menu effect in Ghost in the Shell
- Incorrect text colours in menu of Dragon Quest VII
- Fade effect in TwinBee RPG
- Fog in Silent Hill
- Water in Duke Nukem - Land of the Babes
- Shadows in Ultraman - Fighting Evolution
and probably others.
2020-05-03 17:11:31 +10:00
Connor McLaughlin
edb12234d9
Common/GL/Texture: Fix potential crash on older drivers
2020-05-02 16:52:04 +10:00
Connor McLaughlin
c2ab611097
Common/Log: Properly release console when disabling
2020-05-01 00:58:24 +10:00
Connor McLaughlin
4702110474
Common/Log: Add file output
2020-05-01 00:58:02 +10:00
Connor McLaughlin
39498849bd
Common/String: Support casting to std::string_View
2020-04-27 16:14:38 +10:00
Connor McLaughlin
341b163ca1
Common/BitField: Fix off-by-one error for signed types
...
Fixes Darkstalkers 3 character select screen.
2020-04-27 00:13:24 +10:00
Connor McLaughlin
5671fde1ae
BitUtils: Make Count{Leading,Trailing}Zeros UB for value==0
2020-04-26 18:32:26 +10:00
Connor McLaughlin
02db665d4a
Common: Add bitutils.h
2020-04-26 17:21:33 +10:00
Connor McLaughlin
4a4c3d5e3b
GL/Texture: Add internal format as parameter
2020-04-24 03:21:44 +10:00
Connor McLaughlin
5923129eca
Common/FIFOQueue: Make bounds checks debug only
2020-04-18 15:30:32 +10:00
Connor McLaughlin
b45b70970b
GL/ShaderCache: Support geometry shaders
2020-04-16 21:25:56 +10:00
Connor McLaughlin
86df077ffe
GPU/HW: Slight refactor to vertex culling
2020-04-16 00:22:19 +10:00
Connor McLaughlin
6a03bb2d15
HostInterface: Drop std::filesystem requirement
2020-04-12 21:06:33 +10:00
Connor McLaughlin
64a96ad718
Common/WAVWriter: Add accessors
2020-04-11 00:24:30 +10:00
Connor McLaughlin
bc66b2691d
CDImage: Linux build fix
2020-04-08 21:26:51 +10:00
Connor McLaughlin
9851b75368
CDImage: Fix crash on invalid cuesheet
2020-04-08 11:58:05 +10:00
Connor McLaughlin
411fbe8416
Common/Event: Add unit tests
2020-04-05 23:25:45 +10:00
Connor McLaughlin
abb87f497f
Common: Port Event class from YBaseLib over
2020-04-05 22:57:35 +10:00
Connor McLaughlin
4ea3c994f6
GL/ShaderCache: Linux build fix
2020-04-04 00:52:04 +10:00
Connor McLaughlin
f566ca7a50
GL/ShaderCache: Recreate cache when creating program from binary fails
...
This is probably due to a driver or GPU change, so all programs will be
"bad" and if we don't start from scratch, we'll never cache any new
program versions.
2020-04-04 00:24:34 +10:00
Connor McLaughlin
ca2f691dbe
Common: Add GL Shader Cache class
2020-04-04 00:11:09 +10:00
Connor McLaughlin
ef4808bbde
GL/Program: Add program binary interface
2020-04-04 00:11:04 +10:00
Connor McLaughlin
256cb8a82c
GL/Program: Make moveable
2020-04-04 00:11:00 +10:00
Connor McLaughlin
3daa6b469a
Build: Explicitly disable spectre mitigations
...
Mitigations-off gave a roughly 20-25% boost in performance on my laptop
(i7-7700HQ), even with the recompiler.
It seems AppVeyor was building with them enabled. You shouldn't treat an
emulator like a sandbox and run untrusted code in it amyway.
2020-04-01 22:30:19 +10:00
Connor McLaughlin
3a31282fe6
CDROM: GetTN should return first_track, last_track
...
Fixes CDDA playback in Street Sk8er, Jellyfish - The Healing Friend,
probably others.
2020-03-30 00:13:42 +10:00
Connor McLaughlin
7ecac6dbcf
CDImage: Use track's control instead of last track's control for pregap
2020-03-30 00:13:26 +10:00
Connor McLaughlin
a988384423
Common/HeapArray: Fix move construction/assignment
2020-03-29 01:13:14 +10:00
Connor McLaughlin
9fd95c3e21
Common/Rectangle: Fix off-by-one error in Intersects()
2020-03-22 13:20:08 +10:00
Connor McLaughlin
b4153266a0
GL/Texture: Add a GetTextureSubImage fallback/helper
2020-03-16 00:03:25 +10:00
Connor McLaughlin
212fddd195
D3D11/StagingTexture: Add auto-resizing staging texture
2020-03-16 00:03:16 +10:00
Connor McLaughlin
97c435a154
CMake: Linux build fix
2020-03-16 00:02:55 +10:00
Connor McLaughlin
c7a74cabaa
Common: Add WAVWriter class
2020-03-15 22:03:22 +10:00
Connor McLaughlin
8028b7b4a3
Common: Add ProgressCallback class
2020-03-12 13:54:27 +10:00
Connor McLaughlin
b81071a65c
CDImage: Assume 2 second pregap between tracks if none specified
2020-03-09 00:01:23 +10:00
Connor McLaughlin
2249b873ff
D3D11/StreamBuffer: Check feature support for MAP_NO_OVERWRITE before using
2020-03-08 12:51:14 +10:00
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