Commit Graph

154 Commits

Author SHA1 Message Date
Ben Vanik
3fc1d02a09 Suspend some host threads that make guest callbacks. 2015-09-21 21:24:26 -07:00
Ben Vanik
e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik
790ce8aee1 Switch back to std:: muteces. mutices. mutexen. 2015-09-06 13:34:08 -07:00
Ben Vanik
3c96b6fa0a DANGER DANGER. Switching to global critical region.
This changes almost all locks held by guest threads to use a single global
critical region. This emulates the behavior on the PPC of disabling
interrupts (by calls like KeRaiseIrqlToDpcLevel or masking interrupts),
and prevents deadlocks from occuring when threads are suspended or
otherwise blocked.
This has performance implications and a pass is needed to ensure the
locking is as granular as possible. It could also break everything
because it's fundamentally unsound. We'll see.
2015-09-06 09:30:54 -07:00
Dr. Chat
8024e4fd20 XMA: We can only decode an entire frame and write it out at a time! Saving samples is bad. 2015-09-02 20:20:45 -05:00
Ben Vanik
1cf1568189 Adding a yield in the XMA decoder to give other threads some breathing room. 2015-08-29 22:12:31 -07:00
Ben Vanik
e7b46afa9d Fixing build and removing old binary libav submodule. 2015-08-29 21:04:26 -07:00
Dr. Chat
f80e5fc98d Linting 2015-08-29 22:21:25 -05:00
Dr. Chat
50535b07c3 Change validity checks to assert statements. 2015-08-29 22:14:20 -05:00
Dr. Chat
afa013f4bf libav_verbose flag 2015-08-29 22:11:59 -05:00
Dr. Chat
e3d87b1715 Whoops (formatting) 2015-08-29 22:05:33 -05:00
Dr. Chat
3d684ac304 Fixup the premake files 2015-08-29 22:04:12 -05:00
Dr. Chat
6c83b35003 Partial frame support. 2015-08-29 21:42:06 -05:00
Dr. Chat
d8ed66c336 More improvements to the XMA decoder (and included some forgotten files) 2015-08-29 21:18:04 -05:00
Dr. Chat
0f9cd8cfb3 New WIP audio decoder 2015-08-29 21:16:57 -05:00
Dr. Chat
f2b2a22687 Add gflags to projects that need it only 2015-08-29 21:16:57 -05:00
Ben Vanik
b7203c2989 Logging to with a ringbuffer. Much faster. 2015-08-29 18:06:30 -07:00
Ben Vanik
19299fad4b Removing apu/ deps on Emulator. 2015-08-18 10:54:56 -07:00
Ben Vanik
ad090a40eb Fixing misuse of std::chrono. 2015-08-18 10:18:30 -07:00
Ben Vanik
5e08889d93 More style cleanup. 2015-08-06 20:17:01 -07:00
Ben Vanik
ec326119cf Replacing beaengine in mmio handler with custom decoder.
Fixes #358.
2015-08-04 08:25:42 -07:00
Dr. Chat
766788be7b XMAContext abort instantly if libav failed mid-packet. 2015-07-27 18:24:04 -05:00
Ben Vanik
e0eb85bbbc Switching to premake. Probably with disasterous consequences. 2015-07-18 16:00:01 -07:00
Ben Vanik
756d414386 Prep for split libraries. 2015-07-16 22:26:34 -07:00
Ben Vanik
ecd4af10c9 Fixing some clang warnings/errors. 2015-07-15 23:26:58 -07:00
Ben Vanik
fefaa31cd8 Switching a few types to their platform-agnostic versions. 2015-07-15 22:09:19 -07:00
Ben Vanik
a6012b73f4 Switching audio system to platform-agnostic primitives. 2015-07-14 23:13:56 -07:00
Ben Vanik
d89bad7380 Removing uses of Sleep/SwitchToThread/etc. 2015-07-13 21:54:24 -07:00
Ben Vanik
72ad899e9e Starting to remove windows.h includes from things. 2015-07-13 20:49:29 -07:00
Dr. Chat
da5868945e We aren't supposed to do this. 2015-07-10 23:26:01 -05:00
Dr. Chat
f6eb23d86f Don't select buffer 1 if it's NULL/unavailable 2015-07-10 23:15:15 -05:00
Ben Vanik
dec0d12cc9 Replacing includes of windows headers with base/platform.h. 2015-07-01 09:02:04 -07:00
Ben Vanik
d7a5c74bf3 Formatting: force pointers to the left side. 2015-06-30 16:16:33 -07:00
Ben Vanik
8c69a4df09 Cleaning up apu/ and renaming -private files to _flags.
Part of #296.
2015-06-27 11:25:56 -07:00
Ben Vanik
fb1f4906d9 xb format --all (we are now format clean). Buildbot will yell at you. 2015-06-22 22:26:51 -07:00
gibbed
75ef95b1b8 More XMA decoder cleanup. 2015-06-22 19:31:02 -05:00
gibbed
2c319db116 More shuffling of XMA decoder code. 2015-06-21 06:31:24 -05:00
gibbed
06a3bfc3be More XmaDecoder cleanup. 2015-06-21 03:24:42 -05:00
gibbed
021b5a3d17 Moved the XMA decoder out of AudioSystem and into its own world (plus minor code cleanup in the process). 2015-06-21 02:25:24 -05:00
gibbed
736dba5aca Fixed bit size of input_buffer_read_offset in XMAContextData. 2015-06-21 00:24:02 -05:00
gibbed
7e582c14fb Removed some unused code. 2015-06-21 00:23:29 -05:00
Dr. Chat
0bbaedae22 Fix release-mode audio 2015-06-20 19:50:24 -05:00
gibbed
641a4a5e47 Rejiggered ProcessXmaContext. Sound working again in Super Meat Boy. 2015-06-19 22:39:41 -05:00
gibbed
edbd724370 - Fixed a few bugs with ringbuffer, and some cleanup.
- Reworked audio system to use semaphores instead of events for waiting.
  Should fix rare issues where the XAudio2 driver would run out of buffers
  even though it was supposed to be guarded against that.
2015-06-19 21:48:51 -05:00
gibbed
f3547a832f Removed XMAContextData::kSize constant, moved kXmaContextCount, changes to use newer ringbuffer, cleaned up XMAInitializeContext a bit (with fixes for loop_data handling). 2015-06-19 09:54:21 -05:00
Drew DeVault
a064ba053e Add missing includes for cstring 2015-06-16 23:16:18 -06:00
Ben Vanik
8dc20eb5cd Scaling audio playback frequency with clock time scaling. 2015-06-09 20:14:33 -07:00
Ben Vanik
573f190a43 Adding modules/functions to the debugger. 2015-06-08 23:22:25 -07:00
Ben Vanik
ba88955be4 vsnprintf return is dumb. 2015-06-07 16:13:05 -07:00
Dr. Chat
23ae1b6297 Hookup libav logging 2015-06-04 02:10:56 -05:00