Gregory Hainaut
a95adcb999
gsdx-ogl: correct texture coordinate by 0.5 when vertex position is -0.5
...
Avoid ghosting in Captain tsubasa
2016-11-29 17:22:02 +01:00
Gregory Hainaut
61a7c747e1
gsdx-ogl: alternate implementation of half pixel offset
...
The previous implementation of HPO adds an offset on vertex position. It
doesn't always work beside it moves the rendering window.
The new implementation will add a texture offset so that instead to sample
the middle of the GS texel, we will sample the middle of the real texture texel.
It must be manually enabled with
* UserHacks_HalfPixelOffset_New = 1 (keep a small offset as intended by GS effect)
* UserHacks_HalfPixelOffset_New = 2 (no offset)
v2: always apply a 0.5 offset in case of float coordinates (Tales of Abyss)
Might break other games but few of them uses float coordinates to read
back the target
2016-11-29 17:22:02 +01:00
Gregory Hainaut
c2229e3c0b
gsdx-ogl: add a texture offset uniform parameter to vertex shader
...
It would be used for a new implementation of the half pixel offset hack
Hopefully it doesn't badly impact the perf on low end iGPU
2016-11-29 17:22:02 +01:00
Gregory Hainaut
f6cad2235b
gsdx: defer GSScanlineConstantData init
...
Avoid AVX instruction in the middle
Issue #1677
2016-11-28 19:40:25 +01:00
Gregory Hainaut
4c3e98754e
vif JIT: increment based on sizeof(T)
...
Struct on x64 will be 32B so +2 instead of +1
2016-11-28 19:07:04 +01:00
Gregory Hainaut
9862e5d207
vif hash: move bucket size check in the 'add' path instead of 'find' path
...
More logical this way
2016-11-28 19:07:04 +01:00
Gregory Hainaut
c9db1c6c4b
vtune: plug PCSX2 core + add missing profiling (VU/VIF/TLB)
...
Doesn't fully work yet
* Unknown stack frame
* Outside any known module
Potential root cause:
* Nvidia driver
* VU code as ebp is required for emulation so likely no frame
2016-11-28 19:07:04 +01:00
Gregory Hainaut
4fca5f4d88
mvu: use static array for dispatcher code
...
I don't understand why but standard mmap blew up Vtune
2016-11-28 19:07:04 +01:00
refractionpcsx2
7ec8c7f9fe
Merge pull request #1676 from FlatOutPS2/master
...
GameDB: Add fixes for EA Sports team games and more
2016-11-28 12:57:51 +00:00
FlatOutPS2
fadc727df4
GameDB: Add fixes for EA Sports team games and more
...
Fixes missing geometry in EA Sports team games.
All NTSC-J and the Madden NFL PAL versions unconfirmed, but extremely
unlikely to act any different.
And adds The Simpsons: Hit & Run lens flar fix (see issue
https://github.com/PCSX2/pcsx2/issues/1670 )
Fixed title for NCAA College Football 2K3, game is not in compatibility
list.
2016-11-25 21:00:40 +01:00
Gregory Hainaut
aeef39a417
Merge pull request #1672 from np511/master
...
Fix LTO flags.
2016-11-25 17:09:54 +01:00
Gregory Hainaut
e4516ac9b8
cmake: add extra SSE4 and AVX2 build of GSdx when DISABLE_ADVANCE_SIMD is enabled
...
It will provide a speed boost on distribution that only enable SSE2
2016-11-25 16:35:40 +01:00
Gregory Hainaut
8431299b92
gsdx sw: port code to the new constant object
2016-11-24 23:03:26 +01:00
Gregory Hainaut
3b5bc9c38d
gsdx sw: create a constant buffer
...
* Use POD type to avoid SSE/AVX compilation dependency
* global object to reduce cache miss
* dynamically object so give a chance to allocate below 2GB (allow x64
optimization)
2016-11-24 23:03:26 +01:00
Gregory Hainaut
0f5529be18
gsdx sw: s/g_cpu/m_cpu/
2016-11-24 23:03:25 +01:00
Gregory Hainaut
c3e38e46c7
gsdx sw x64: disable mipmap support on AVX
...
Until it is implemented (might never happen)
2016-11-24 23:03:25 +01:00
Gregory Hainaut
608bb5ccb2
gsdx sw x64: add AVX2 implementation for VS
...
FS was copied from 32 bits (require massive update)
2016-11-24 23:03:25 +01:00
Gregory Hainaut
15220c386a
gsdx sw x64: setup prim miss some optimizations
2016-11-24 23:03:25 +01:00
Gregory Hainaut
e3bfa2be88
gsdx sw: factorize common draw scanline code
...
Ymm inherite from Xmm so it is useless to duplicate the code
Add a parameter to alltrue to test the good register
2016-11-24 23:03:25 +01:00
Gregory Hainaut
211c7745de
gsdx: don't try to correct depth in primitive trace
...
Avoid to go above the maximum size allowed by the format
Issue #1674
2016-11-24 22:24:00 +01:00
Jonathan Li
230b470a3c
pcsx2:freebsd: Disable aio use on FreeBSD 10.3 and earlier
...
A FreeBSD 10.3 user (meowthink) reported to me that games were not
working properly on their system. After some investigation, it was
discovered that aio was buggy on their setup. There's also bug reports
for other applications that involve aio too.
Workaround the issue by using a normal read and disabling the use of aio
on FreeBSD 10.3 and earlier. It'll remain enabled on FreeBSD 11.0 in the
hope that the aio issue has since been fixed.
2016-11-24 19:50:07 +00:00
Gregory Hainaut
df96361ded
Merge pull request #1673 from FlatOutPS2/W
...
GSdx Merge Circuit: Fix regressions
2016-11-24 11:02:38 +01:00
FlatOutPS2
417d0a3606
GSdx Merge Circuit: Fix regressions
...
Fixes screen shaking in Tenchu: Wrath Of Heaven, and graphical issues in
NASCAR 09.
2016-11-23 22:14:44 +01:00
np511
46fb6e9b48
Fixes LTO flags. Disables the use of the "gold" linker as a few plugins fail to compile with "gold" and "gold" is not used outside of LTO currently anyway.
2016-11-22 16:10:25 -05:00
Jonathan Li
483b3d6368
cdvdgigaherz: Avoid holding lock during thread sleep
...
Fixes Coverity CID 127721: Program hangs
Change the sleep to a condition variable wait, which has the added
benefit of allowing the plugin to close ever so slightly faster if
there's no disc in the drive.
2016-11-22 21:26:41 +01:00
Jonathan Li
29c2ccb310
cdvdgigaherz: Use a queue to manage sector requests
...
Fixes a data race.
Also avoid copying from the cache when it's unnecessary to do so.
2016-11-22 21:26:41 +01:00
Jonathan Li
3919a32dc3
cdvdgigaherz: Avoid race condition by reading from cache/disk
...
Instead of reading from a buffer shared by multiple threads, just read
the correct data from the cache or disk instead.
2016-11-22 21:26:41 +01:00
Jonathan Li
31b0b53394
cdvdgigaherz: Read correct sector type in keepalive thread
...
It'll prevent errors messages when raw sector reading is used.
2016-11-22 21:26:41 +01:00
Jonathan Li
a34942c882
cdvdgigaherz: Only update cache if the read succeeds
2016-11-22 21:26:41 +01:00
Jonathan Li
bb25ce1c6a
cdvdgigaherz: Add cache entry check function
...
Useful when you don't actually want the cached data.
2016-11-22 21:26:41 +01:00
Jonathan Li
23f48e07ed
cdvdgigaherz: Change signs
...
Avoid some unnecessary casting.
2016-11-22 21:26:41 +01:00
Jonathan Li
008fea5d89
common|cdvdgigaherz: Fix API sign mismatch
...
The typedef and function declaration don't quite match.
2016-11-22 21:26:41 +01:00
Gregory Hainaut
0d275868a5
gsdx x64: quick fix for windows
...
Until we got a full implementation
2016-11-21 18:18:09 +01:00
Vladimir Jigulin
268b4d9f9f
debugger: memory view improvements
...
Highlight memory location referenced by current register
Allow memory window not be aligned by row size
Use radio and checks in menu
2016-11-21 10:31:34 +01:00
Gregory Hainaut
dc85989553
cmake: only enable SSE2 on x64 build
...
SW will generate AVX code anyway
2016-11-20 23:27:13 +01:00
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