Commit Graph

8248 Commits

Author SHA1 Message Date
bunnei
380ee0bbbc maxwell_to_gl: Properly handle UnsignedInt/SignedInt sizes. 2018-08-14 20:43:02 -04:00
bunnei
d0efe386cb gl_rasterizer_cache: Implement G8R8S format.
- Used by Super Mario Odyssey.
2018-08-14 20:41:49 -04:00
bunnei
7881195827 Merge pull request #1062 from lioncash/unused
common: Remove unused old breakpoint source files
2018-08-14 20:26:56 -04:00
Lioncash
2b8ad61289 emu_window: Ensure WindowConfig members are always initialized
Previously we weren't always initializing all members of the struct.
Prevents potentially wonky behavior from occurring.
2018-08-14 19:36:43 -04:00
Lioncash
90b23db193 CMakeLists: Add architecture detection for AArch64
We already have an equivalent in place for the 32-bit ARM architecture, so we
should also have one for the newer 64-bit ARM architecture as well.
2018-08-14 19:06:55 -04:00
Lioncash
cea3c6e92a common/telemetry: Migrate core-independent info gathering to common
Previously core itself was the library containing the code to gather
common information (build info, CPU info, and OS info), however all of
this isn't core-dependent and can be moved to the common code and use
the common interfaces. We can then just call those functions from the
core instead.

This will allow replacing our CPU detection with Xbyak's which has
better detection facilities than ours. It also keeps more
architecture-dependent code in common instead of core.
2018-08-14 18:57:46 -04:00
Lioncash
4c5a30e6fc common/xbyak_abi: Mark defined functions in header as inline
Avoids potential One Definition Rule violations when these are used in
the future.
2018-08-14 18:29:56 -04:00
Lioncash
fd15d9cb4a common/xbyak: Use nested namespace specifiers where applicable 2018-08-14 18:27:27 -04:00
Lioncash
9c8bd643b5 common: Remove unused old breakpoint source files
These currently aren't used and contain commented out source code that
corresponds to Dolphin's JIT. Given our CPU code is organized quite
differently, we shouldn't be keeping this around (at the moment it just
adds to compile times marginally).
2018-08-14 18:14:01 -04:00
bunnei
bd30610952 Merge pull request #1055 from lioncash/init
audout_u: Correct IAudioOut initializer list order
2018-08-14 08:03:33 -04:00
bunnei
6674e904b4 Merge pull request #1058 from greggameplayer/BC7U_Fix
Fix BC7U
2018-08-14 08:03:07 -04:00
bunnei
ee41882827 Merge pull request #1050 from bunnei/rgba16-unorm
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
2018-08-14 08:02:50 -04:00
James Rowe
a48fc6943a Merge pull request #1060 from lioncash/log
logging/backend: Use const reference to refer to log filter
2018-08-13 23:27:22 -06:00
Lioncash
234fea066a logging/backend: Use const reference to refer to log filter
The filter is returned via const reference, so this was making a
pointless copy of the entire filter every time a message was being
pushed into the logger instance.
2018-08-13 21:44:55 -04:00
greggameplayer
4753e29f91 Fix BC7U 2018-08-14 02:36:00 +02:00
Mat M
c372711faf Merge pull request #1046 from ogniK5377/missing-channels
Added missing channel devices
2018-08-13 19:36:26 -04:00
Lioncash
b5c61d7943 mm_u: Forward all old variants of functions to the new ones
Ensures both variants go through the same interface, and while we're at
it, add Finalize to provide the inverse of Initialize for consistency.
2018-08-13 18:59:10 -04:00
Lioncash
c214821ac2 mm_u: Move implementation class into the cpp file
Now if changes are ever made to the behavior of the class, it doesn't
involve rebuilding everything that includes the mm_u header.
2018-08-13 18:59:07 -04:00
Lioncash
ed3d20e0e3 audout_u: Correct IAudioOut initializer list order
Orders elements in the precise order they'll be initialized.
2018-08-13 18:23:59 -04:00
bunnei
1b824d65e4 renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
- Used by Breath of the Wild.
2018-08-13 18:20:07 -04:00
Zhu PengFei
dc7443e960 common/misc: use windows.h
linux-mingw does not really like this.
2018-08-14 04:28:24 +08:00
bunnei
358887041f Merge pull request #1052 from ogniK5377/xeno
Implement RG32UI and R32UI
2018-08-13 12:31:39 -04:00
bunnei
028589715f Merge pull request #1033 from MerryMage/interp
audio_core: Interpolate
2018-08-13 12:19:59 -04:00
bunnei
d3a236efc1 Merge pull request #1053 from MerryMage/rm-IsExecuting
arm_dynarmic: Remove IsExecuting check from PrepareReschedule
2018-08-13 12:18:51 -04:00
Mat M
61bcbf09a0 Merge pull request #1049 from bunnei/vtx-size-8
maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
2018-08-13 11:51:21 -04:00
MerryMage
f4443a0637 arm_dynarmic: Remove IsExecuting check from PrepareReschedule
No longer required. HaltExecution is a no-op if it is not currently executing.
2018-08-13 13:59:01 +01:00
David Marcec
779b5894dc Implement RG32UI and R32UI
Needed for xenoblade
2018-08-13 22:55:16 +10:00
B3n30
8bf4e8994c Core::CoreTiming: add UnscheduleEventThreadsafe 2018-08-13 13:56:41 +02:00
MerryMage
cadaf052f6 audio_renderer: samples_remaining counts frames, not samples 2018-08-13 11:26:50 +01:00
MerryMage
e681d234a0 audio_core: Interpolate 2018-08-13 11:26:50 +01:00
MerryMage
784738e139 audio_core: Implement low-pass filter 2018-08-13 11:26:50 +01:00
bunnei
01b9407038 Merge pull request #1032 from lioncash/sanitize
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
2018-08-13 01:43:35 -04:00
bunnei
3bac346751 Merge pull request #1031 from lioncash/verbosity
card_image: Simplify return statement of GetSubdirectories()
2018-08-13 01:42:07 -04:00
bunnei
51549a3ab1 Merge pull request #1048 from lioncash/atomic
kernel/object: Tighten object against data races
2018-08-13 01:41:23 -04:00
bunnei
e9c672ab76 maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
- Used by Breath of the Wild.
2018-08-13 01:34:21 -04:00
bunnei
2eb55a5d4d Merge pull request #1047 from bunnei/rgba16-uint
renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
2018-08-13 01:32:26 -04:00
Lioncash
93f2a696b6 kernel/object: Tighten object against data races
Despite being covered by a global mutex, we should still ensure that the
class handles its reference counts properly. This avoids potential
shenanigans when it comes to data races.

Given this is the root object that drives quite a bit of the kernel
object hierarchy, ensuring we always have the correct behavior (and no
races) is a good thing.
2018-08-13 00:16:40 -04:00
bunnei
7123fcfd64 renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
- Used by Breath of the Wild.
2018-08-13 00:06:22 -04:00
bunnei
e6888dd2d0 Merge pull request #1045 from bunnei/rg8-unorm
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
2018-08-13 00:05:25 -04:00
David Marcec
0e6edeeb8b Registered missing channel devices 2018-08-13 14:03:50 +10:00
David Marcec
b32cc76624 Added missing channel devices 2018-08-13 14:00:27 +10:00
bunnei
208f4aa51c Merge pull request #1044 from bunnei/linestrip
maxwell_to_gl: Implement PrimitiveTopology::LineStrip.
2018-08-12 23:21:34 -04:00
bunnei
8e3b2999eb maxwell_to_gl: Implement PrimitiveTopology::LineStrip.
- Used by Breath of the Wild.
2018-08-12 23:09:32 -04:00
bunnei
a9588a76fd renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
- Used by Breath of the Wild.
2018-08-12 23:08:50 -04:00
bunnei
ca481e97b6 Merge pull request #1043 from Subv/timing
Use an approximated amortized amount of ticks when advancing timing.
2018-08-12 22:31:55 -04:00
bunnei
35124fe241 Merge pull request #1036 from lioncash/thread
scheduler: Make HaveReadyThreads() a const member function
2018-08-12 22:13:14 -04:00
bunnei
e7371f4eb6 Merge pull request #1042 from Subv/races
Fixed a bunch of race conditions when running in multicore mode.
2018-08-12 22:05:48 -04:00
bunnei
b7c9225b4e Merge pull request #1041 from Subv/duplicated_mutex
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
2018-08-12 22:02:03 -04:00
bunnei
aa3f78daf5 Merge pull request #1040 from bunnei/xmad
gl_shader_decompiler: Implement XMAD instruction.
2018-08-12 21:56:40 -04:00
Subv
02410f2579 CPU/Timing: Use an approximated amortized amount of ticks when advancing timing.
We divide the number of ticks to add by the number of cores (4) to obtain a more or less rough estimate of the actual number of ticks added. This assumes that all 4 cores are doing similar work. Previously we were adding ~4 times the number of ticks, thus making the games think that time was going way too fast.

This lets us bypass certain hangs in some games like Breath of the Wild.

We should modify our CoreTiming to support multiple cores (both running in a single thread, and in multiple host threads).
2018-08-12 20:41:28 -05:00