degasus
be16901ae1
VideoSW: Don't raise a PanicAlert because of indices
...
It's not panic, it may just render wrong. And this case seems to happen often.
2015-09-20 13:13:47 +02:00
degasus
c976e14277
GLInterface: Fix VideoSW on linux + OSX (v2)
...
Our Video Software backend isn't OpenGL Core compatible, so we need a flag to alloc a compatible one.
v2: Fix AGL profile selection.
2015-09-19 13:22:55 +02:00
degasus
baf09c3af6
VideoSW: Remove unused function
2015-09-17 19:44:44 +02:00
degasus
3b5b80bf3c
VideoSW: Drop SW bbox code
...
The hardware backends don't use this shared code any more, and it's not needed for video sw either. So this was just dead code.
2015-09-17 18:21:37 +02:00
degasus
e3e0399af2
VideoSW: Drop HwRasterizer
...
I don't remember it being working, and nobody cares about performance of videosw.
2015-09-17 18:21:37 +02:00
degasus
48279c1840
GLInterface: Fix VideoSW on linux + OSX
...
Our Video Software backend isn't OpenGL Core compatible, so we need a flag to alloc a compatible one.
2015-09-17 17:52:56 +02:00
degasus
3ae466a33c
JitArm64: Fix lmw + stmw
2015-09-16 08:11:18 +02:00
degasus
74b20e627c
VideoCommon: Drop "Disable destAlpha" hack
...
This option has no use any more, neither performance nor driver workaround.
2015-09-09 21:31:54 +02:00
degasus
664beea538
OGL: reimplement SSAA based on ARB_gpu_shader5
...
So i965 shall support it again.
2015-09-07 22:21:11 +02:00
degasus
1c0366993a
VideoBackends: Reimplement SSAA, now for D3D + OGL
2015-09-06 19:40:00 +02:00
degasus
9187200de3
Android: Abort the screenshot after 2 seconds
...
If the emulation is crashed, this blocks forever. So there is no way to exit the emulation within a finite time.
2015-09-05 15:29:22 +02:00
degasus
24fec3ebca
JitArm64: Fix float load & store
2015-09-05 13:48:29 +02:00
degasus
36902c58eb
JitArm64: Fix lwbrx and lhbrx
2015-09-05 13:48:29 +02:00
degasus
696f95d5f9
JitArm64: Fix subfic
2015-09-05 13:48:29 +02:00
degasus
baa28e13f4
JitArm64: Remove FLUSH_INTERPRETER
...
It seems to be broken for some instructions, and there is no need for it any more.
2015-09-05 13:48:29 +02:00
degasus
5797111ef0
JitArm64: Optimize fpr.R()
2015-09-02 22:46:14 +02:00
degasus
dfd44730c8
JitArm64: simplify fpr call
2015-09-02 22:46:14 +02:00
degasus
e516d4ef59
JitArm64: Implement rlwnmx
2015-08-26 21:59:10 +02:00
degasus
0d92c8fb89
Jit64: Optimize dcbx
2015-08-24 18:33:23 +02:00
degasus
6f34b27323
Jit64: implement dcbf + dcbi
2015-08-24 18:33:19 +02:00
degasus
7320d519b4
JitArm64: Implement srwx
2015-08-23 23:29:48 +02:00
degasus
4722a69fd0
JitArm64: Implement divwux
2015-08-23 23:29:18 +02:00
degasus
9e4366963c
JitArm64: Implement subfic
2015-08-23 23:29:07 +02:00
degasus
95be17772f
JitArm64: Implement addex
2015-08-23 23:29:02 +02:00
degasus
025e7c835a
JitArm64: Implement subfcx
2015-08-23 23:28:28 +02:00
degasus
550a90e691
JitArm64: Implement subfex
2015-08-23 23:28:24 +02:00
degasus
77a6798094
JitArm64: Faster linking of continuous blocks
2015-08-23 14:44:23 +02:00
degasus
e9ade0abe1
JitArm64: implement crXXX
2015-08-21 20:49:08 -05:00
degasus
78aa01e06e
Jit64: Faster linking of continuous blocks
...
We compile the blocks as they are executed, so it's common
to link them continuously. We end with calling JMP after every
block, but often just with a distance of 0.
So just emitting NOPs instead also "calls" the next block, but
easier for the CPU.
2015-08-21 17:41:53 +02:00
degasus
17932935d9
Profiler: Sort output by total time
2015-08-20 11:50:43 +02:00
degasus
896a02b3a8
DSP HLE: Remove timing informations from ucodes
...
On HLE, we don't emulate the timings on HLE, so there is also no need
to setup periods callbacks.
2015-08-19 16:20:17 +02:00
degasus
7277eb0e6c
AX-HLE: Call HLE on mailbox write
...
It was done on Update() which was called exactly every 5ms.
But the game is allowed to use the DSP more often, eg to generate 48kHz audio.
2015-08-19 16:19:06 +02:00
degasus
9bfff0d461
JitArm64: Fix jit clearing
...
We have to reset m_lastCacheFlushEnd on clearing.
2015-08-15 11:41:01 +02:00
degasus
715802d5aa
JitArm64: Move all pointers into the map
...
And cleanup all of the old code for sharing and generating this pointers.
2015-08-14 11:24:11 -05:00
degasus
878f919f63
JitArm64: Fastmem: fixup map & lookup
2015-08-14 11:24:03 -05:00
degasus
fc23380f6b
JitArm64: Implement dcbt
...
This is a 1:1 copy&paste from Jit64.
2015-08-14 14:47:00 +02:00
degasus
4ef2962055
JitArm64: optimize addzex
...
So on the general case, we don't need a tempory register.
2015-08-13 13:40:53 +02:00
degasus
f7fa22a053
JitArm64: fix addzex
...
CMP don't update the carry flag, so we have to use an addition.
2015-08-13 13:36:21 +02:00
degasus
de3ce74b48
JitArm64: disable addzex
2015-08-13 12:22:48 +02:00
degasus
b9f5bfb2bd
JitArm64: zero extend RC for cmpli
...
Patch written by HdkR
2015-08-13 12:22:48 +02:00
degasus
6b9eba5761
Wiimotes: Initialize all atomic<bool> globally.
...
This fixes an issue with broken real wiimotes on linux.
2015-08-12 18:39:38 +02:00
degasus
bceab37801
PPCAnalyst: Mark function as static
2015-08-09 11:15:44 +02:00
degasus
d3cf4034de
DriverDetails: Disable GL_ARB_copy_image on mesa.
2015-08-06 19:41:36 +02:00
degasus
e2f42f8fd0
OGL: Move copy_image variable into backend.
2015-08-06 19:41:36 +02:00
degasus
ec0582ee5b
JitArm64: fix lfd
...
Bug found by HdkR.
2015-07-28 00:13:50 +02:00
degasus
b7c4886d66
JitArm64: fix stfsux
2015-07-27 23:07:38 +02:00
degasus
1c9b5efb4c
CachedInterpreter: New kind of jit which always fallback to interpreter.
2015-07-22 23:19:20 +02:00
degasus
6f38d1baa1
CodeBlock: Add a shared IsAlmostFull function
...
This function shall keep care about the low watermark of code space.
If we ran out of space, the JITs shall clear their block cache.
2015-07-15 08:53:05 +02:00
degasus
a5c10ded55
JitArm64: Fix copy&paste issue
2015-07-12 09:41:32 +02:00
degasus
7196901b40
JitArm64: Move all FLUSH_MAINTAIN_STATE to the far cache
2015-07-12 09:41:32 +02:00
degasus
b8dd68beef
JitArm64: Far Code Cache
2015-07-12 09:41:32 +02:00
degasus
effb626bef
JitArm64: Implement EXCEPTION_FPU_UNAVAILABLE support.
...
Seems like this flag was missed.
This patch was mostly done by HdkR.
2015-07-06 23:40:20 +02:00
degasus
30869135d5
Jit64: Fallback support of branching instructions
2015-07-04 04:12:25 +02:00
degasus
245a639e2c
JitArm64: Partially fallback on bcctrx
...
No need to assert, fallbacks on branching instructions now works fine.
2015-07-01 17:58:17 +02:00
degasus
0054c4e0d9
JitArm64: Drop icbi instruction
...
It was already just a fallback + exit. Now we emit the exit for all affected fallbacks.
2015-07-01 17:58:17 +02:00
degasus
dc83c8912f
JitArm64: Support branching fallbacks
2015-07-01 17:58:17 +02:00
degasus
717d4bfbcc
Interpreter: Idle skipping support
2015-06-30 20:11:23 +02:00
degasus
5bc88d5c6a
Revert "GeometryShaderGen: Don't use centroid in for input variables."
...
This reverts commit 4cbaddb7ad .
2015-06-22 17:20:41 +02:00
degasus
dd2183dbb5
Revert "GeometryShaderGen: Don't use centroid in for input variables."
...
This reverts commit 4cbaddb7ad .
2015-06-18 20:25:32 +02:00
degasus
9f929c8593
Hotkeys: Fix translation array
2015-06-12 19:32:50 +02:00
degasus
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00
degasus
b9a9fcd26d
Hotkeys: Fix missing hotkey strings
2015-06-12 13:59:22 +02:00
degasus
20ec5867ec
GameIni: Remove default Projection Hack
2015-06-10 19:31:10 +02:00
degasus
640b81a19f
Hotkeys: Fix "Select State Slot"
...
This was a copy&paste issue from dfc951fbbb .
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8645
2015-06-09 21:05:54 +02:00
degasus
d31bed8b79
Fifo: Rewrite SyncGpu
...
The new implementation has 3 options:
SyncGpuMaxDistance
SyncGpuMinDistance
SyncGpuOverclock
The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.
The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
2015-06-08 23:16:24 +02:00
degasus
12b469b417
Config: Add SyncOnSkipIdle GameIni option
2015-06-06 11:19:58 +02:00
degasus
dfc951fbbb
Hotkey: move some code into ParseHotkey
2015-06-04 10:44:20 +02:00
Markus Wick
bcd77f9a3a
Merge pull request #2482 from degasus/ogl_poke_z
...
OGL: Rewrite POKE_Z with a draw call
2015-06-03 20:35:34 +02:00
degasus
eabda0efa5
Hotkeys: Implement default hotkeys
...
Also disable the default hotkeys of the old system.
2015-06-03 19:26:43 +02:00
degasus
501ebdb471
Hotkeys: Fix duplicated called hotkeys.
2015-06-03 19:26:43 +02:00
degasus
84b13de538
OGL: Rewrite POKE_Z with a draw call
...
It's now also merged and it should be faster than the glClear way.
2015-06-02 23:06:41 +02:00
Markus Wick
da97d77e08
Merge pull request #2489 from degasus/hotkeys
...
Hotkeys fixes
2015-05-31 23:28:26 +02:00
Markus Wick
aa2576a2c7
Merge pull request #2480 from phire/GamesDoWeirdShit
...
Fix invalid pointer errors in Burnout 2.
2015-05-31 23:26:55 +02:00
degasus
bdfea96123
InputCommon: Change default hotkey for home and start.
...
We already use ALT + ENTER for toggling fullscreen.
But as ENTER is both home and start, this buttons will always
also be triggered on toggling fullscreen. Now we check for
those buttons if ALT is not pressed.
So now we're able to toggle fullscreen without pressing home or start.
2015-05-31 10:30:09 +02:00
degasus
ef3ed682a1
DolphinWX: Also evaluate Hotkeys while stopped.
2015-05-31 10:00:07 +02:00
degasus
19f753de6b
HotKey: Allow more than one hotkey at the same time.
2015-05-31 09:27:04 +02:00
Markus Wick
c12f04eefa
Merge pull request #2472 from degasus/master
...
AudioCommon: Remove lock on Pause state
2015-05-30 23:40:46 +02:00
degasus
9c730b0a1f
Unittests: Add BlockingLoopTest
2015-05-30 13:40:36 +02:00
degasus
bfa61105d5
Common: Update BlockingLoop to only use one atomic.
...
This merges two atomic<bool> into one atomic<int>.
We did move the bit from one bool to another, now we can use operator--.
2015-05-30 12:58:09 +02:00
degasus
02a3a063c3
Fifo: Extract syncing loop
...
It's now a new helper function within common.
2015-05-30 12:58:09 +02:00
Markus Wick
d1d284e784
Merge pull request #2475 from degasus/sampler
...
OGL: Always use sampler objects.
2015-05-29 16:21:05 +02:00
degasus
c4fc141ced
OGL: Always use sampler objects.
...
We are used to use the texture parameter for all util draw calls,
but AMD seems to have a bug where they use the sampler parameter
of stage 0 if no sampler is bound to the used stage.
So as workaround (and a bit as nicer code), we now use sampler
objects everywhere.
2015-05-29 14:03:03 +02:00
Markus Wick
61c53babf4
Merge pull request #2467 from RisingFog/disc2fix
...
Fix adding additional Disc 2 to certain multi-disc games
2015-05-29 07:47:56 +02:00
degasus
c69cc91f00
HiresTexture: Fix prefetching with broken textures
2015-05-29 07:31:11 +02:00
degasus
9a96e3c416
AudioCommon: Remove lock on Pause state
...
We had to lock audiocommon with the old asynchron HLE audio emulation,
now our Mixer is just a plain FIFO which may underrun.
Of course, this will stutter, but underruning the audio backend is likely worse.
2015-05-28 19:58:18 +02:00
Markus Wick
255a8dfdd2
Merge pull request #2465 from lioncash/commandproc
...
CommandProcessor: Replace volatile usages with atomics
2015-05-27 11:07:36 +02:00
Markus Wick
3318120632
Merge pull request #2422 from lioncash/core
...
DSPCore: Make the mailbox registers atomic.
2015-05-27 09:14:41 +02:00
Markus Wick
1c2d4e5d42
Merge pull request #2464 from lioncash/pixelengine
...
PixelEngine: Replace volatile usages with atomics
2015-05-27 08:43:35 +02:00
Markus Wick
a6b327751a
Merge pull request #2463 from lioncash/fifo
...
Fifo: Replace usages of volatile with atomics
2015-05-27 08:03:39 +02:00
Markus Wick
85e706b4ec
Merge pull request #2459 from degasus/master
...
Common: Fix IsTriviallyCopyable macro for GCC 5
2015-05-26 20:13:14 +02:00
degasus
ebad10f2a1
Common: Fix IsTriviallyCopyable macro for GCC 5
...
Based on quarthex's patch in PR #2440
2015-05-26 19:50:14 +02:00
degasus
b64301d65c
DolphinWX: Drop dead hotkey button.
2015-05-26 15:50:15 +02:00
Markus Wick
d7900b4423
Merge pull request #2006 from RisingFog/disc2
...
Append Disc 2 to Titles for Multi-Disc Games
2015-05-26 15:39:42 +02:00
Markus Wick
308b72d376
Merge pull request #2426 from Linktothepast/master
...
Gameini updates
2015-05-26 13:50:39 +02:00
Markus Wick
a6412fb41e
Merge pull request #2162 from degasus/prefetch_tex
...
CustomTexture: prefetch all available textures
2015-05-26 13:30:26 +02:00
Markus Wick
5d3a248811
Merge pull request #2455 from lioncash/fifo
...
FifoQueue: Use atomics instead of volatile members
2015-05-26 12:26:36 +02:00
Markus Wick
1fc3c8aa02
Merge pull request #2451 from degasus/master
...
DSP: Inline DSPControl into DSPState
2015-05-25 15:19:31 +02:00
degasus
dd35f5df94
DSP: Inline DSPControl into DSPState
...
This was a struct with exactly one element, and
an overloaded constructor which matches the construtor
of this element. So there is no need for this stacked
structur.
2015-05-25 10:56:14 +02:00
degasus
fc76d0df38
BBox: Touch old gameinis again
2015-05-25 09:48:50 +02:00
degasus
7e127da791
VideoCommon: Warn if bbox is disabled but used
2015-05-25 09:33:34 +02:00