MerryMage
860ac52a79
IR_X86: Use PtrOffset instead of casting pointers
2017-04-15 10:35:24 +01:00
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