David Marcec
f5e2aec422
addressed issues
6 years ago
David Marcec
52340e94ac
clear mme draw mode
We already draw, so we can clear it
6 years ago
David Marcec
fabdf5d385
Addressed issues
6 years ago
David Marcec
74b4334d51
Fix constbuffer for 0217920100488FF7
6 years ago
David Marcec
6ce5f3120b
Macro HLE support
6 years ago
MerryMage
c12eb814b4
macro_jit_x64: Use ecx for shift register
shl/shr only accept cl as their second argument
6 years ago
Lioncash
5a4e89b901
macro_jit_x64: Correct readability of Compile_ExtractShiftLeftImmediate()
Previously dst wasn't being used.
6 years ago
Lioncash
140f953b6a
macro_jit_x64: Correct readability of Compile_ExtractShiftLeftRegister()
Previously dst wasn't being used.
6 years ago
Lioncash
8ea749c1ca
macro_jit_x64: Remove unused variable
Removes a completely unused label and marks another variable as unused,
given it seems like it has potential uses in the future.
6 years ago
Lioncash
811bff009e
macro_jit_x64: Eliminate variable shadowing in Compile_ProcessResult()
We can reduce the capture scope so that it's not possible for both "reg"
variables to clash with one another.
While we're at it, we can prevent unnecessary copies while we're at it.
6 years ago
MerryMage
977ceb4056
macro_jit_x64: Remove unused function Read
6 years ago
MerryMage
44f10d9b9f
macro_jit_x64: Inline Engines::Maxwell3D::GetRegisterValue
6 years ago
MerryMage
c409722435
macro_jit_x64: Optimization implicitly assumes same destination
6 years ago
MerryMage
a6ddd7c382
macro_jit_x64: Should not skip zero registers for certain ALU ops
The code generated for these ALU ops assume src_a and src_b are always valid.
6 years ago
MerryMage
cf0aad7d6a
macro_jit_x64: Remove NEXT_PARAMETER
Not required, as PARAMETERS can just be incremented directly.
6 years ago
MerryMage
1799f4e774
macro_jit_x64: Remove unused function Compile_WriteCarry
6 years ago
MerryMage
c09a9e5cc7
macro_jit_x64: Select better registers
All registers are now callee-save registers.
RBX and RBP selected for STATE and RESULT because these are most commonly accessed; this is to avoid the REX prefix.
RBP not used for STATE because there are some SIB restrictions, RBX emits smaller code.
6 years ago
MerryMage
79aa7b3ace
macro_jit_x64: Remove REGISTERS
Unnecessary since this is just an offset from STATE.
6 years ago
MerryMage
35db6e1c68
macro_jit_x64: Remove JITState::parameters
This can be passed in as an argument instead.
6 years ago
MerryMage
389549b80d
macro_jit_x64: Remove METHOD_ADDRESS_64
Unnecessary variable.
6 years ago
MerryMage
a6a43a5ae0
macro_jit_x64: Remove RESULT_64
This Reg64 codepath has the exact same behaviour as the Reg32 one.
6 years ago
MerryMage
d563017dfe
xbyak_abi: Remove *GPS variants of stack manipulation functions
6 years ago
ReinUsesLisp
6e5d8aac4d
video_core/macro_jit_x64: Remove initializer in member variable
Fix build time issues on gcc. Confirmed through asan that avoiding this
initialization is safe.
6 years ago
David Marcec
eca3d16e54
Default init labels and use initializer list for macro engine
6 years ago
David Marcec
411f5527d4
Mark parameters as const
6 years ago
David Marcec
3a20e74f40
Pass by reference instead of copying parameters
6 years ago
David Marcec
8118ea160b
Favor switch case over jump table
Easier to read and will emit a jump table automatically.
6 years ago
David Marcec
b032ebdfee
Implement macro JIT
6 years ago