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
Derek "Turtle" Roe
3823b1a6fc
Update MTVU speedhack commit
2016-01-10 19:48:49 -06:00
Gregory Hainaut
52b4604d3b
iop: remove unused iPsxMem.cpp file
2016-01-10 18:41:18 +01:00
Akash
aade5278d8
PCRTC: Better handling of CRTC height saturation
2016-01-10 21:47:59 +05:30
Gregory Hainaut
afdf5cdfe2
x86emitter: remove old unused macro
...
Add some notes for a GCC "bug"
2016-01-10 16:49:50 +01:00
Gregory Hainaut
41d13dc2c6
vtlb: remove SetBaseAddr
...
Base address is given in the constructor
2016-01-10 14:31:49 +01:00
Gregory Hainaut
9bcd34349f
Merge branch 'recompiler-prof'
2016-01-10 14:15:42 +01:00
Gregory Hainaut
1c4b430984
profiler: plug recompiler with new perf infra
...
Only EE/IOP support by block profiling
v2: cast wxString with ToUTF8 (windows)
2016-01-10 13:43:08 +01:00
Gregory Hainaut
92d7639267
profiler: add functions to plug linux Perf Event on JIT
...
Basically it creates a /tmp/perf-`pid`.map file which will contains
a mapping of the x86 code with the EE/IOP/VU code
* You need to enable the profiler with a define
* You can split the profiling by block (inside a recomp buffer)
v2: add new file to VS xml files
v3: remove useless include
2016-01-10 13:42:59 +01:00
Jonathan Li
8977673fdf
ci: reduce AppVeyor workload
...
Don't compile with VS2013 if VS2015 compilation fails.
Build only SSE2 and AVX2 GSdx variants.
2016-01-10 12:11:49 +00:00
Derek "Turtle" Roe
25a4636d0a
Update some links and fix some more errors
2016-01-09 23:01:37 -06:00
Derek "Turtle" Roe
80589dfeb2
Update notes
2016-01-09 21:27:18 -06:00
Derek "Turtle" Roe
76ca2aab29
Fix some typos and fix screenshots not lining up correctly
2016-01-09 18:22:16 -06:00
Derek "Turtle" Roe
429005559d
More updates
2016-01-09 18:20:20 -06:00
Derek "Turtle" Roe
e193a48b75
Small updates
2016-01-09 18:09:45 -06:00
Derek "Turtle" Roe
09b975ab46
Add screenshots back in and update the requirements
2016-01-09 18:07:07 -06:00
Derek "Turtle" Roe
582a834b89
Fix some more grammatical errors and punctuation, and some small updates
2016-01-09 17:17:50 -06:00
Derek "Turtle" Roe
1ae9c0858a
Fix a punctuation error and remove title case
2016-01-09 17:12:02 -06:00
Derek "Turtle" Roe
5211c95b81
Fix some more things in the README and remove low-res screenshots
2016-01-09 17:10:36 -06:00
Gregory Hainaut
e75d3f759f
ee:profiler: add instructions counters
2016-01-09 23:29:03 +01:00
Gregory Hainaut
5b08bda5b8
ee:profiler: count EE memory access
2016-01-09 23:29:03 +01:00
Gregory Hainaut
0e1188565e
ee:profiler: count EE instruction execution
...
Based on microVU_Profiler.h
It remains to emit all the opcode to use it properly
2016-01-09 23:29:03 +01:00
Gregory Hainaut
50c7cb1717
x86emitter: implement some BMI instructions
...
Only a couple of one to do some memory profiling
2016-01-09 23:29:01 +01:00
Gregory Hainaut
9e13a7bdaa
x86emitter: add support for the VEX opcode
2016-01-09 22:59:31 +01:00
Gregory Hainaut
29b0b17f50
x86emitter: add BMI1 & BMI2 instruction detection
2016-01-09 22:59:31 +01:00
Gregory Hainaut
d57466608e
linux: pretty print dump
...
allow to replace 0xBADA55 address with nice name such as v0_b0
2016-01-09 22:59:31 +01:00
Gregory Hainaut
c80037bb2f
debug: add a new function to dump EE block
...
Give both EE and x86 code.
Don't rely on global variable. The dump still dump the content of the register.
Of course value will be wrong if you don't dump it at the start of the block.
It help to detect register/memory access
the cpu struct address is also printed to easily postprocess the x86 memory pointer
(see next commit)
2016-01-09 22:59:31 +01:00
Gregory Hainaut
dd097fe361
cmake: clang, please compile my code quietly
2016-01-09 22:57:43 +01:00
Gregory Hainaut
fd56195b2d
x86emitter: drop old register define
2016-01-09 21:28:10 +01:00
Gregory Hainaut
5c0c9a60e9
core: use ecx directly
2016-01-09 21:26:25 +01:00