Commit Graph
48 Commits
Author SHA1 Message Date
MerryMage 6d8738e6e4 IR_X86: Simplify trinary expressions 2017-04-15 10:35:01 +01:00
MerryMage 03d07c36ae JitArm64: Reserve W30 in SafeStoreFromReg and stfXX
Bug introduced in c45028a708.

EmitBackpatchRoutine assumes that X30 is available as a temporary.
2017-04-15 08:23:14 +01:00
MerryMage 3fb886141d JitArm64_LoadStore: Fix bug in writing byte to gather pipe
Introduced by c45028a708.
2017-04-15 07:26:27 +01:00
MerryMage b792299ef1 Jit_LoadStore: Fix dbat memory access
Was broken by e10b715666
2017-04-14 14:06:13 +01:00
MerryMage e10b715666 Jit_LoadStore: Make dcbz PIE-compliant 2017-04-14 12:33:25 +01:00
MerryMage cac77527e9 Jit64: Make psq_lXX PIE-compliant 2017-04-14 11:52:33 +01:00
MerryMage c45028a708 GPFifo: Use a pointer instead of an index
This simplifies code generated by the jits.
x86_64 jit now emits PIC.
2017-04-14 10:37:47 +01:00
MerryMage 265f0da256 Jit_LoadStorePaired: Make psq_st PIE-compliant 2017-04-12 19:30:42 +01:00
MerryMage cbaa00457a Mixer: Tweak audio stretch parameters 2017-04-12 17:56:58 +01:00
MerryMage 9397fdfe95 Mixer: Use a temporary buffer when stretching audio 2017-04-12 14:58:20 +01:00
MerryMage f5018010d3 Mixer: Calculate actual_samples based on availability in all FIFOs 2017-04-12 14:58:19 +01:00
MerryMage ac0df5b2db Mixer: Disable frequency shifting when stretching is enabled 2017-04-12 13:56:29 +01:00
MerryMage 71e748b68f AudioConfigPane: Allow user-configuration of audio stretching 2017-04-12 13:56:29 +01:00
MerryMage 26514358f4 Add audio stretching as a configuration option 2017-04-12 13:56:29 +01:00
MerryMage b8c867dd7a Mixer: Implement audio stretching 2017-04-12 13:56:28 +01:00
MerryMage 5b81f2a31d Mixer: Return actual number of samples mixed into buffer from MixerFifo::Mix
No code in the codebase currently depends on the return value of this function.
2017-04-12 13:15:00 +01:00
MerryMage 8ff26a6eda soundtouch: Use shorts instead of floats for samples 2017-04-12 13:15:00 +01:00
MerryMage 6a4945090c OpenALStream: Remove audio stretching 2017-04-12 13:15:00 +01:00
MerryMage a95010bc72 x64Emitter: Allow code alignment to arbitrary power of 2 2017-04-12 08:41:51 +01:00
MerryMage 6df8343e72 MathUtil: References can be const 2017-04-12 06:15:18 +01:00
MerryMage f7ed979e30 Jit64AsmCommon: Make frsqrte and fres PIE-compliant 2017-04-11 20:25:18 +01:00
MerryMage 433999d60f ConstantPool: Return a pointer instead of an OpArg
This allows for greater flexibility.
2017-04-11 20:25:18 +01:00
MerryMage cd2d0897d6 GameIni: DSP LLE no longer required for Star Wars: Rogue Squadron
Affects:
* Star Wars: Rogue Leader
* Star Wars: Rebel Strike
2017-04-08 16:04:09 +01:00
MerryMage 8ad6f2cecc AX: Add support for UCodes without LPF 2017-04-08 16:04:09 +01:00
MerryMage 8f8e7681b2 AX: Implement loop counter
Required for Rogue Squadron.
2017-04-07 20:54:34 +01:00
MerryMage a793b4d06f Frame: Fix macOS keyboard while emulation is running 2017-04-07 19:44:04 +01:00
MerryMage 19eb09b086 Jit_SystemRegisters: Make mfspr PIE-compliant 2017-04-05 10:22:48 +01:00
MerryMage 38917a151d CoreTiming: Pull globals into a single struct 2017-04-05 10:22:48 +01:00
MerryMage 61198199cd JitAsm: Use stored_stack_pointer instead of s_saved_rsp 2017-03-24 11:31:40 +00:00
MerryMage 918d7fa3d1 EmuCodeBlock: Place ConvertDoubleToSingle temporaries on the stack 2017-03-24 10:59:55 +00:00
MerryMage cb7d9556bf Jit64: Merge memory allocations into a single allocation
Instead of each component allocating their own memory, we instead allocate
the memory once and divvy that up among the components as required. This
ensures that relative memory offsets remain within architecture limits.
2017-03-21 20:16:12 +00:00
MerryMage da434e1a1c ConstantPool: Externalize memory allocation 2017-03-21 20:16:12 +00:00
MerryMage 615fcc621d CodeBlock: Add support for multiple children 2017-03-21 20:16:12 +00:00
MerryMage 8a788ebdd9 JitAsm: Add missing forward declaration of X64CodeBlock 2017-03-21 16:56:43 +00:00
MerryMage 4491e9b829 Jit_SystemRegisters: Add missing sizes to constant arrays 2017-03-20 20:21:43 +00:00
MerryMage 9058ccea3f IR_X86: Use MConst for constants 2017-03-20 20:21:43 +00:00
MerryMage 3dccc369d3 Jit64AsmCommon: Use MConst for constants 2017-03-20 20:21:43 +00:00
MerryMage 4814c4ac5a EmuCodeBlock: Use MConst for constants 2017-03-20 20:21:43 +00:00
MerryMage 8b93baefb7 Jit_SystemRegisters: Use MConst for constants 2017-03-20 20:21:43 +00:00
MerryMage 0fe234ec9b Jit_FloatingPoint: Use MConst for constants 2017-03-20 20:21:42 +00:00
MerryMage ff441efc26 EmuCodeBlock: Use ConstantPool 2017-03-20 20:21:42 +00:00
MerryMage 9951961338 ConstantPool: Implement a constant pool
Constants are copied into this pool so that they live at a memory
location that is close to the code that references it. The pool allocates
memory from a provided X64CodeBlock to use.

The purpose of the pool is to overcome the 32-bit offset limitation that
RIP-relative addressing has.`
2017-03-20 20:21:42 +00:00
MerryMage b0d6c29073 JitAsmCommon: Add missing sizes to constant arrays
This allows generic code to determine the size of these arrays.
2017-03-20 20:21:41 +00:00
MerryMage 5f59755d15 Jit64AsmCommon: Use correct quantization table
Stores quantize, loads dequantize.
2017-03-19 14:49:24 +00:00
MerryMage 5e7d01dea4 DSPJitRegCache: Remove ebp_store
Restoring RBP before function calls is a no-op.
2017-03-17 17:10:25 +00:00
MerryMage 14739c55c3 DSP/Jit: PIE support 2017-03-17 17:10:24 +00:00
MerryMage 1020a3cb8e DSP/Jit: Explicitly specify scratch register for Update_SR_Register
There were cases when the value register was RDX and thus was being
clobbered as RDX was implictly used as a scratch register.
2017-03-14 19:18:56 +00:00
MerryMage dc1a8c46e9 DSP/Jit: Load address of m_cycles_left into register
On some platforms, the address of m_cycles_left exceeds the maximal 32-bit
offset from RIP.
2017-03-11 22:51:41 +00:00