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