Gregory Hainaut
37379d5d1d
gsdx sw x64: shuffle memory allocation
...
tex address is a3
vm address is a1
Could help to avoid REX prefix
Reduce prologue/epilogue register copy
Byte code size 41893 => 38912 (on my testcase)
2016-11-20 20:19:13 +01:00
Gregory Hainaut
b76305a0d2
gsdx sw x64: keep the copy of top in the stack for dthe
...
An extra stack access by pixel won't impact perf (only 16 bits game with dithering)
Allow to save 2 registers (a1/a3)
2016-11-20 20:19:13 +01:00
Gregory Hainaut
994274623b
gsdx sw x64: use rip addressing on draw scan line
...
byte code 41997 => 41893
However it will allow to save 2 registers as future optimization
2016-11-20 20:19:12 +01:00
Gregory Hainaut
7c06e87d59
gsdx sw x64: use rip addressing on setup prim
...
byte code: 9017 => 8736
Save a register
2016-11-20 20:19:12 +01:00
Gregory Hainaut
923c297dfc
gsdx sw: vinsert128 opcode require an XMM register
...
Reported as an error on lastest Xbyak
2016-11-20 20:19:12 +01:00
Gregory Hainaut
e674518c4e
Update from xbyak 4.84 to 5.11
...
* bin2hex.h is removed
* vptest/vpblendvb YMM support integrated upsteam
* better support of rip for 64 bits
* AVX512 support (only miss the CPU now)
Local change: add BSD3 clause
2016-11-20 13:21:11 +01:00
Gregory Hainaut
681c09f25c
gsdx sw: catch xbyak exception
2016-11-20 12:58:07 +01:00
Gregory Hainaut
0fd5346860
gsdx x64 linux: only mmap in lower 2GB code segment
...
Allow to use rip addressing
2016-11-20 10:38:15 +01:00
Gregory Hainaut
2252ba1bb7
gsdx: add the detected ISA on the name
...
As a SSE build could potentially uses AVX operations.
2016-11-20 10:38:15 +01:00
Gregory Hainaut
30a5922a0b
pcsx2: reduce std padding to 1 for small screen
2016-11-19 21:52:08 +01:00
Gregory Hainaut
58c3794ce7
Merge pull request #1664 from PCSX2/greg/gsdx-64b
...
Greg/gsdx 64b
2016-11-19 18:12:41 +01:00
Jonathan Li
ef25502491
gsdx build: don't exclude AVX files.
...
Thanks for the patch :)
2016-11-19 17:01:36 +01:00
Gregory Hainaut
cc6d193e1d
gsdx: Relax SSE/AVX constraint on 64 bits
...
The JIT will automatically select the best ISA (only AVX1 so far)
2016-11-19 17:01:29 +01:00
Gregory Hainaut
8fd46e96aa
gsdx sw JIT: dynamically select ISA for SetupPrim
2016-11-19 17:00:33 +01:00
Gregory Hainaut
574a2c774e
gsdx sw JIT: dynamically select between AVX1 and SSE code path (scanline)
2016-11-19 17:00:33 +01:00
Gregory Hainaut
6b78b8f9ce
gsdx sw JIT: dynamically select SSE41 at runtime even on SSE2 build (scanline)
...
It won't give the full SSE41 speed boost but it is better than nothing
2016-11-19 17:00:33 +01:00
Gregory Hainaut
322473c295
gsdx sw: add a code example for gather instruction
...
It will requires a generic (register naming) linear interpolation to use it properly
Gather instruction requires an extra mask register therefore all registers name will be shuffled
Perf wise, initial haswell implementation seems to be microcode emulated.
2016-11-19 17:00:33 +01:00
Gregory Hainaut
2e20693583
gsdx sw x64: restore read texel optimization
2016-11-19 17:00:33 +01:00
Gregory Hainaut
e728a14c19
gsdx sw: factorize color split in split16_2x8
2016-11-19 17:00:33 +01:00
Gregory Hainaut
d58e43edbf
gsdx linux: plug vtune as Windows
2016-11-19 17:00:32 +01:00
Gregory Hainaut
8abf242e2c
gsdx: small x64 printf warning fixes
2016-11-19 17:00:32 +01:00
Gregory Hainaut
051c5c4bf7
gsdx sw x64: small stack optimization on linux
...
mov with the stack pointer require less bytecode
2016-11-19 17:00:32 +01:00
Gregory Hainaut
141c9e9c86
gsdx sw x64: prefer faster 32 bits operation when possible
2016-11-19 17:00:32 +01:00
Gregory Hainaut
a281bda9a6
gsdx sw x64: port the scanline generator on AVX
...
Based on Gabest's work.
* Miss mipmap
Note: dithering info
It is a bit tricky as a2 on linux was rdx register which overlap with fzm (dh/dl)
It might require dedicated windows code
2016-11-19 17:00:32 +01:00
Gregory Hainaut
8e29e09943
gsdx sw x64: update setup prim generator x64 SSE&AVX
2016-11-19 17:00:32 +01:00
Gregory Hainaut
4a47224ac1
gsdx: define the linux x64 ABI
2016-11-19 17:00:32 +01:00
Gregory Hainaut
e31ce87bb3
gsdx: SW JIT debug helper
...
Allow to compare 32/64 bits (and all ISAs too)
Allow to breakpoint (int3)
Print selector info
Print size of buffer and start (disabled by default)
2016-11-19 17:00:32 +01:00
Gregory Hainaut
633f7a1db9
xbyak: add int3 instruction
...
Very useful to stop the JIT
2016-11-19 17:00:32 +01:00
Gregory Hainaut
43b4cfc215
gsdx: separate dump directory for 32/64 bits
2016-11-19 17:00:32 +01:00
Gregory Hainaut
82d12691e1
gsdx: properly check SSE support
...
1/ Check all "levels"
2/ requires AVX for 64 bits
2016-11-19 17:00:32 +01:00
Gregory Hainaut
8b4da69861
cmake: always define avx on 64 bits build
2016-11-19 17:00:32 +01:00
Gregory Hainaut
0e2ec9c2cb
pcsx2 gui: reduce the padding to 2 for low cost display
2016-11-19 11:27:20 +01:00
Gregory Hainaut
4aa79df402
pcsx2 gui: increase a bit the about box
...
It was too crowded
2016-11-19 11:21:07 +01:00
Gregory Hainaut
b251d47712
pcsx2 gui: use dynamic section sized for ee/vu cycle message
...
Static size is better aligned but it consumes too much space on the GUI
Besides, if a string (translation) is bigger that the static size it will be cut off.
VU/EE min sized are the same to keep a proper alignment
2016-11-19 11:21:07 +01:00
Gregory Hainaut
9c598fcd01
common: finally spot the text size bug
...
GetBestWrappedSize (hence the BestSize) computes the size of
the wrapped text based on box side minus padding.
So the width of the widget is already the good size for text wrapping
2016-11-19 11:21:07 +01:00
Gregory Hainaut
4ee942aba2
pcsx2 gui: use pxGetFixedFont helper instead of wxFont constructor
2016-11-19 11:19:24 +01:00
Jonathan Li
d64db65743
LilyPad: Add PS mouse support ( #1660 )
...
Adds Playstation Mouse as a new pad type.
For use with PS1 games only.
2016-11-14 13:37:00 +00:00
FlatOutPS2
8db9a27970
fix2
2016-11-14 13:55:55 +01:00
Gregory Hainaut
259521ec3e
Merge pull request #1659 from PCSX2/greg/clang-format-common
...
reformat main common directory
2016-11-14 11:37:53 +01:00
refractionpcsx2
e0cd520837
VIF: Apply stall fix to VIF0 as well.
2016-11-13 12:15:18 +00:00
FlatOutPS2
d1788ac1e9
fix
2016-11-13 10:56:35 +01:00
FlatOutPS2
de8d3fb1eb
LilyPad: Add PS mouse support
...
Adds Playstation Mouse as a new pad type.
For use with PS1 games only.
2016-11-13 01:23:59 +01:00
FlatOutPS2
a3478e02f4
LilyPad: Add tooltips ( #1653 )
...
Adds informational tooltips to several UI options.
2016-11-12 23:52:56 +00:00
Jonathan Li
f513ca2a28
cdvdgigaherz:linux: Check ioctl return value
...
Fixes Coverity CID 172718: Unchecked return value
Also avoid adding the sector leadout descriptor info to the TOC since it
actually isn't used.
2016-11-12 23:28:17 +00:00
Gregory Hainaut
c5d727da39
CDVD: check return value of ToLong
...
Reported by coverity
2016-11-12 19:36:44 +01:00
Gregory Hainaut
356429d0e7
Sio: use & 0xFF instead of u8 mask
...
Tentative to avoid various bad coverity reports
2016-11-12 19:29:10 +01:00
Gregory Hainaut
2da6cb263d
pcsx2: Gcc warning in copy constructor of BaseMessageBoxEvent
...
../pcsx2/gui/MessageBoxes.cpp:62:1: warning: base class ‘class pxActionEvent’ should be explicitly initialized in the copy constructor [-Wextra]
BaseMessageBoxEvent::BaseMessageBoxEvent( const BaseMessageBoxEvent& event )
2016-11-12 18:47:11 +01:00
Gregory Hainaut
5e5b927abd
gzip reader: bad find interface
...
Find => return int
find => return size_t (behave as STL)
Thanks to gcc for the useful warning
+ a cast to avoid an useless warning
2016-11-12 18:41:07 +01:00
Gregory Hainaut
a7e76438b2
iop: use const on some variables
...
Avoid coverity warning
2016-11-12 18:26:28 +01:00
Gregory Hainaut
056ecb1c39
pcsx2: add some cast to fix gcc (int vs uint) warning
...
I'm pretty sure that .RMSK (which is an u32:31) warnings are false positives
2016-11-12 17:36:40 +01:00