Gregory Hainaut
eb4db2152c
x86emitter: add x64 to push/pop
2016-01-17 00:21:05 +01:00
Gregory Hainaut
ef21a8dbd0
x86emitter: extend group8 type
2016-01-17 00:21:05 +01:00
Gregory Hainaut
39a6bda52d
x86emitter: extend test & bitscan type
...
Factorize the code to support any types
2016-01-17 00:21:05 +01:00
Gregory Hainaut
e285036455
x86emitter: shift: extend it to 64 bits type
2016-01-17 00:21:05 +01:00
Gregory Hainaut
fdaf0e9979
x86emitter:group: uses base type
...
Add 64 bits support for free ;)
Note: 64b still requires the REX prefix
2016-01-17 00:21:05 +01:00
Gregory Hainaut
e2602b3967
x86emitter:move: factorize type and extend it to 64 bits
...
It's still missing the REX prefix support
2016-01-17 00:21:05 +01:00
Gregory Hainaut
41f509873d
x86emitter: extend xIndirect32orLess to support 64 bits
...
It would be renamed later to avoid conflict with pending updates
2016-01-17 00:12:31 +01:00
Gregory Hainaut
39dc8368fa
x86emitter: add GetPrefix16 helper
2016-01-17 00:12:21 +01:00
Gregory Hainaut
be0b8cf2f5
x86emitter: implement some function to emit the REX prefix
...
Same fashion as EmitSibMagic
2016-01-17 00:10:21 +01:00
Gregory Hainaut
53b5ecf34a
x86emitter: add the new x86_64 registers set
2016-01-17 00:10:21 +01:00
Gregory Hainaut
366f793cf0
core: use xRegisterLong instead of xRegister32
...
Code needs to work with xAddressReg however the x32 inheritance doesn't
exits anymore on 64 bits.
Note: it might be possible to uses some kind of autoconversion with
xRegister32or64. Could be a future improvement.
2016-01-17 00:10:21 +01:00
Gregory Hainaut
1328865279
x86emitter: xAddressReg size will depend on the arch
...
Note: displacement are never 8B. The max is 4B which is sign extended to 8B.
So we can't store a pointer into it anymore.
Add xRegisterLong that will be x64 on 64 bits and x32 on 32 bits
2016-01-17 00:10:21 +01:00
Gregory Hainaut
a865ba8cf5
x86emitter: add various type for 64 bits
2016-01-17 00:10:21 +01:00
Gregory Hainaut
2fea78a6c4
x86emitter: remove not virtual inherited function
...
IsSIMD isn't virtual
2016-01-17 00:10:21 +01:00
Jonathan Li
37deeb0d52
gsdx-ogl: Optimise overlap detection algorithm
...
Vectorise coordinate min/max sorting, and use the ordered runion
instead.
2016-01-16 19:21:56 +00:00
Jonathan Li
14dffa762b
gsdx: Add runion_ordered to GSVector
...
Allows to save a few instructions cycles when xy and zw are already
sorted (min and max rectangle coords).
2016-01-16 19:21:55 +00:00
Jonathan Li
2fc3ef8124
gsdx-ogl: Add sprite overlap statistics to debug messages
2016-01-16 19:21:54 +00:00
Gregory Hainaut
38c548854e
Merge branch 'uptr-addr'
2016-01-16 18:34:27 +01:00
ramapcsx2
20c8b89bb7
cdvd: return 0xff instead of 0 on unknown 8 bit reads. improves compatibility with popstarter a bit.
...
Unfortunately, it then fails to load pops with "loadmodule: fname rom0:UDNL args 5 arg crap:"
2016-01-16 14:36:09 +01:00
Gregory Hainaut
35568f6425
gsdx: disable simd in 64 bits
...
Let's concentrate first on SSE2
This commit fuses a couple of ifdef
2016-01-16 14:34:00 +01:00
Gregory Hainaut
76230c1305
MTGS: s/u32 pointer/uptr/
2016-01-16 14:34:00 +01:00
Gregory Hainaut
e23ba2340c
core: s/u32 pointer/uptr/
2016-01-16 14:34:00 +01:00
Gregory Hainaut
022cd9cd64
gsdx: s/u32 pointer/uptr/
2016-01-16 14:34:00 +01:00
Gregory Hainaut
6ec7d2c340
x86emitter: ease template stuff
2016-01-16 14:34:00 +01:00
Gregory Hainaut
8c3798e96b
core: pointers are 8B on 64 bytes
2016-01-16 14:34:00 +01:00
Gregory Hainaut
d623453451
build.sh: automatically configure wx-config on debian system
...
It is easier to alternate between 32/64 bits build
2016-01-16 14:33:49 +01:00
ramapcsx2
aafa333355
added the profiler to the visual studio solution. also added preliminary cop1 (fpu) tables, ready for implementation
2016-01-15 00:26:52 +01:00
Gregory Hainaut
9bcd9f0a73
cmake: onepad require gtk
2016-01-14 19:26:55 +01:00
Gregory Hainaut
a7a8c542f5
Merge pull request #1100 from PCSX2/recompiler-abi-wrapper
...
Recompiler abi wrapper
2016-01-14 19:21:27 +01:00
Jonathan Li
74ace74d50
gsdx-ogl: Group non-overlapped accurate blend sprite draws
...
Reduces the number of draw calls and barriers when drawing sprites.
2016-01-13 08:07:53 +00:00
Jonathan Li
f3b6829c74
gsdx-ogl: Restart collision detection algorithm for remaining sprites
...
It's useless on its own, but it prepares for the next commit.
2016-01-13 08:02:42 +00:00
Gregory Hainaut
c73d626757
build.sh: separate release/dev/dbg into separated directory
...
Avoid useless recompilation
2016-01-13 08:58:50 +01:00
Gregory Hainaut
4ac17428ac
Merge branch 'EmperorArthur-build_with_spaces'
2016-01-13 08:15:06 +01:00
Gregory Hainaut
c8da280a19
Merge branch 'build_with_spaces' of git://github.com/EmperorArthur/pcsx2 into EmperorArthur-build_with_spaces
...
Conflicts:
build.sh
2016-01-13 08:14:46 +01:00
Gregory Hainaut
d4b30620a7
pcsx2: avoid a segmentation fault due to previous hack
2016-01-12 19:35:23 +01:00
Gregory Hainaut
46a2f6ed24
interpreter: fix a subtle bug in a QFSRV
...
Math is correct but a shift of 64 bits is illegal in x86 because the cl register is masked
From the x86 spec:
The destination operand can be a register or a memory location. The count operand can be an immediate value or
the CL register. The count is masked to 5 bits (or 6 bits if in 64-bit mode and REX.W is used). The count range is
limited to 0 to 31 (or 63 if 64-bit mode and REX.W is used). A special opcode encoding is provided for a count of 1.
2016-01-12 19:29:10 +01:00
remeh
28cfd50f08
gsdx: cmake: don't display "unused parameters" warnings on release build with clang.
2016-01-12 13:42:47 +01:00
dokman
f06d055372
Now it's usable!
...
All done
ToDo:
Details of every setting
2016-01-12 10:44:36 +01:00
dokman
7fae220f18
Emulation Settings done
2016-01-12 10:26:10 +01:00
dokman
7b48923a2c
Updating with newest templates.
...
Emulation Settings
EE/IOP done
VUs done
GS done
GS Window done
Speedhacks done
Game fixes ToDo
Plugin/BIOS Selector done
2016-01-12 10:05:34 +01:00
refractionpcsx2
22de865582
Gamefix: Add Scarface - The World is Yours Gamefix, might help other games that do constant VU recompilation.
2016-01-11 23:32:33 +00:00
dokman
5f680141b4
Pushing base of translation with the newest template
2016-01-11 22:39:06 +01:00
Gregory Hainaut
3c528f0fdd
common define _32kb and _4kb
2016-01-11 18:00:25 +01:00
Gregory Hainaut
812a2e4850
recVtlb: Align dispatcher to 32B boundary
...
Better for cache coherency
2016-01-11 18:00:19 +01:00
Gregory Hainaut
e3d5eb5a4e
core: convert xCALL to xFastCall
...
SuperVU wasn't converted (unlikely to be ported to 64 bits)
A couple of calls weren't converted because they require extra work
but there are not mandatory (debug/MTVU/...)
2016-01-11 09:21:45 +01:00
Gregory Hainaut
859d62d2a7
ee|iop: use xScopedStackFrame to handle dynarec frame
...
* Rework a bit MVU to support xScopedStackFrame. Potentially
stack frame can be optimized (save 5 instructions)
* I removed the recompiler stack check. Address sanitizer is more efficient anyway
2016-01-11 09:21:45 +01:00
Gregory Hainaut
6e66bea152
x86emitter: improve the various abi wrapper
...
V2:
* Add various option to handle the different frame
* Basic x86-64 port (untested so likely completely broken)
v3:
Create an templated xImpl_FastCall object
v4:
clang compilation fix
2016-01-11 09:21:32 +01:00
Gregory Hainaut
a6eb871b42
pcsx2: use a common general intrin include
...
Avoid issue with various compiler conversion
Fix build with GCC4.8
2016-01-11 09:13:52 +01:00
Derek "Turtle" Roe
a09b42e046
Revert title case
2016-01-10 19:55:30 -06:00
Derek "Turtle" Roe
c85713850d
Revert change
2016-01-10 19:53:43 -06:00