Ryan Houdek
2152e812fc
Fix conditional branching on x86_64.
...
The register cache can be filled to the point that when dumping them the FixupBranch goes over the maximum size of 0x80.
Force them to use the "5byte" variant of the jump.
If we were able to determine if the length we had to jump was <0x80 in the future this could be a slight optimization.
This has to be done in bcctrx, bclrx, and twx. It was already done in bcx before.
This fixes issue 7378.
2014-06-13 12:41:50 -05:00
Ryan Houdek
1db93db474
Merge pull request #474 from Sonicadvance1/conditional-branch
...
Support conditional register cache flushing on ARMv7.
2014-06-10 07:21:07 -05:00
Ryan Houdek
be4b544bf6
Merge pull request #479 from Sonicadvance1/x86-regcache
...
Jit64 RegCache cleanup
2014-06-10 07:20:55 -05:00
Ryan Houdek
c2b6a41e6b
Fix a few code style remarks.
...
Removes some casting of size_t to int.
2014-06-10 02:52:15 -05:00
Ryan Houdek
b4ec70f0ac
Add conditional register cache flushing to JIT64's twx instruction.
2014-06-10 02:46:10 -05:00
Ryan Houdek
06e8c7d7c9
Add conditional register cache flushing to JIT64's bcx instruction.
2014-06-10 02:45:04 -05:00
Ryan Houdek
b99edd6202
Add conditional register cache flushing to JIT64's bcctrx conditional route.
2014-06-10 02:44:16 -05:00
Ryan Houdek
5e1a465d50
Change register cache to using an enum to determine flush mode.
...
This is easier to identify what the flush is doing rather than a "true" as argument.
2014-06-10 02:42:00 -05:00
Ryan Houdek
2989ccff79
Support conditional register cache flushing on ARMv7.
...
Similar to PR #451 , but for ARM as well.
2014-06-09 06:08:13 -05:00
Rachel Bryk
c38e8e25dd
Remove unused video config variable.
2014-06-09 00:02:38 -04:00
Ryan Houdek
4cfeeee5e9
Merge pull request #472 from Sonicadvance1/ARM-is-not-generic
...
Make it so ARMv7 isn't a generic target.
2014-06-08 09:30:57 -05:00
Tony Wasserka
489534bc7c
Merge pull request #248 from RachelBryk/dsp-rom-hash
...
Add DSP rom hashes to movie header.
2014-06-08 11:27:55 +02:00
Ryan Houdek
6e1d312091
Make it so ARMv7 isn't a generic target.
...
Rearranges a bit of code so that ARM isn't a generic build anymore. Because it obviously isn't
2014-06-07 20:26:31 -05:00
Pierre Bourdon
b79482af44
Merge pull request #459 from lioncash/prototype-typo
...
Fix a typo in a function prototype in PowerPCDisasm.h
2014-06-08 03:17:06 +02:00
Ryan Houdek
103d9008d6
Merge pull request #391 from RachelBryk/netplay-flash-on-join
...
Flash netplay window when someone joins if the window doesn't have focus...
2014-06-07 06:33:54 -05:00
Ryan Houdek
b778b43992
Merge pull request #404 from magumagu/jitcache-cleanup
...
JitCache cleanup
2014-06-07 01:49:07 -05:00
Ryan Houdek
7d12a31cc2
Merge pull request #395 from RachelBryk/race
...
Fix a couple race conditions.
2014-06-07 01:10:51 -05:00
Ryan Houdek
b591184e4b
Merge pull request #437 from lioncash/netplay
...
Minor netplay server cleanup
2014-06-07 01:08:52 -05:00
Ryan Houdek
d2e4c2fc50
Fix OpenGL ES version detection.
...
Mesa report GLES version as "3.0" not "3.00"
Spec mandates X.Y versioning scheme, doesn't say how long the decimal place must be.
2014-06-06 21:21:35 -05:00
Ryan Houdek
b6db0d0ab8
Merge pull request #457 from Tilka/jcc
...
x64Emitter: J_CC: use 32 bit offset automatically
2014-06-06 20:53:50 -05:00
Ryan Houdek
c118632cde
Merge pull request #450 from Tilka/fmrx
...
Jit64: revert fmrx revert
2014-06-06 20:53:21 -05:00
Ryan Houdek
db08f7bf4a
Merge pull request #371 from quarnster/patch-1
...
PPCAnalyst now detects internal branches better
2014-06-06 02:45:24 -05:00
Pierre Bourdon
7ffea5ddc9
Merge pull request #464 from lioncash/log-str
...
Use std::string in LogContainer's constructor.
2014-06-06 00:59:22 +02:00
Pierre Bourdon
834bc85e1f
Merge pull request #458 from Tilka/warnings
...
Fix some warnings
2014-06-06 00:58:37 +02:00
Lioncash
3843848ed4
Use std::string in LogContainer's constructor.
...
This allows for removal of the strcpy calls, also it's technically way more safe, though I doubt we'll ever have a log name larger than 128 characters or a short description larger than 32 characters.
Also moved these assignments into the constructor's initializer list.
2014-06-05 18:50:14 -04:00
Pierre Bourdon
b780ef950c
Merge pull request #435 from YourGamesBeOver/master
...
Options for selecting which columns are visible in the game list.
2014-06-06 00:46:26 +02:00
yourgamesbeover
91840cb4c7
added option for selecting which column are displayed in the game list, added optional game id column, and added config entry to disable making compressed games blue
2014-06-05 15:34:20 -04:00
degasus
9566dcf0da
OGL: speed up the EFB cache
...
gcc doesn't optimize this loops with -O2, so using memset now.
A flag to skip the clear funktion was added as the cache is already cleared most of the time.
2014-06-05 14:53:09 +02:00
degasus
d9eafd94a2
OGL-StreamBuffer: replace size_t with u32
...
Yes, this matters.
We align our buffer all the the time which needs a division. u64 divisions are just so slow.
2014-06-05 13:33:50 +02:00
degasus
606e46ba8d
OGL-StreamBuffer: move alignment to caller
...
Only the caller know if alignment is needed at all, so it can be skipped now.
2014-06-05 13:32:13 +02:00
degasus
02a4e3d70f
OGL-StreamBuffer: make the SLOT calculation much easier
...
The size of the buffer is now power of 2, so we can use a shift instead of a division.
This was at about 2% of the global CPU usage.
2014-06-05 13:32:13 +02:00
degasus
d81d2e8915
OGL-StreamBuffer: allocate fences in StreamBuffer directly
2014-06-05 13:32:13 +02:00
Tony Wasserka
e2cfb7f0fa
Merge pull request #448 from lioncash/fifo-cleanup
...
Expand GetBPRegInfo to include the rest of the BP registers.
2014-06-05 13:21:05 +02:00
degasus
0688cfdaef
OGL-StreamBuffer: don't use coherent mapping
...
Coherent mapping seems to be much slower on fermi gpus.
2014-06-05 12:18:44 +02:00
lioncash
efdcfe404f
Fix a typo in a function prototype in PowerPCDisasm.h
...
Should be GetGPRName not GetGRPName.
Removed an unnecessary extern declaration of GetGRPName in RegisterWindow.cpp.
Also added GetFPRName to the PowerPCDisasm header for consistency.
2014-06-04 12:12:28 -04:00
Tillmann Karras
0eb341e542
Fix some warnings.
...
The 'offset' variable needs to stay because the disabled code below uses it.
2014-06-04 01:04:52 +02:00
Tillmann Karras
f8280401f6
x64Emitter: J_CC: use 32 bit offset automatically
2014-06-03 23:08:58 +02:00
Ryan Houdek
3a06907653
Merge pull request #455 from lioncash/arm-cpudetect-fix
...
Stringify ArmCPUDetect.cpp.
2014-06-02 20:10:39 -05:00
Lioncash
7d7b3d6156
Stringify ArmCPUDetect.cpp.
2014-06-02 21:08:26 -04:00
degasus
541bfd071e
Jit64: Don't flush the regcache on bcx
2014-06-02 18:12:54 +02:00
degasus
0cd9eea99e
RegCache: make state clear optional on flushes
2014-06-02 18:12:53 +02:00
degasus
38c3812a60
RegCache: merge fpr+gpr BindToRegister
2014-06-02 18:12:53 +02:00
degasus
9e9b71fa87
RegCache: merge fpr+gpr StoreFromRegister
2014-06-02 18:12:53 +02:00
degasus
fd9bfddde7
RegCache64: devirtualize RegCache::Start
2014-06-02 18:12:53 +02:00
degasus
8693e0abaa
RegCache64: Use std::array
2014-06-02 18:11:26 +02:00
degasus
6089812482
RegCache64: move x?locks into register structs
2014-06-02 13:02:52 +02:00
degasus
c800918fd8
RegCache64: remove unused functions
2014-06-02 09:53:44 +02:00
Henrik Rydgård
edf9af0047
Merge pull request #449 from Sonicadvance1/remove-ppcstate-mojs
...
Remove unused mojs array from ppcState.
2014-06-02 09:42:53 +02:00
Tillmann Karras
2cf27e4de8
Jit64: revert fmrx revert
...
The AVX revert was not supposed to touch fmrx.
Partially reverts 2fad2a3e88
.
2014-06-02 08:53:02 +02:00
Ryan Houdek
e0a60a40a5
Remove unused mojs array from ppcState.
...
This was some unused array just sitting in our global ppcState struct.
I've got no idea what its use was /supposed/ to be used for if ever implemented.
2014-06-02 01:39:07 -05:00