magumagu
a2c4abcae8
Merge pull request #2247 from Linktothepast/master
...
Gameini database update.
2015-03-26 09:10:43 -07:00
magumagu
52aeab3d0e
Merge pull request #2240 from lioncash/emitter
...
x64Emitter: Remove emitter pointer parameter from WriteNormalOp.
2015-03-20 22:09:11 -07:00
magumagu
6642ddac99
Merge pull request #2235 from lioncash/overflow
...
Interpreter/JIT: Add missing overflow variants into the tables.
2015-03-20 18:39:49 -07:00
magumagu
337f89959b
Merge pull request #2226 from magumagu/restore-wpar-mask
...
Restore masking to gather pipe address checks.
2015-03-19 11:02:45 -07:00
magumagu
31add72dee
Merge pull request #2237 from lioncash/round
...
x64FPURoundMode: Make a look-up table static
2015-03-19 10:59:22 -07:00
magumagu
627b77e982
Restore masking to gather pipe address checks.
...
Apparently it's necessary. Issue 8386.
2015-03-17 12:01:37 -07:00
magumagu
ff6ae8a677
Disable FakeVMem in Wii mode.
...
I'm assuming nobody thought of this when FakeVMem was turned on by
default; FakeVMem doesn't make any sense in Wii mode.
2015-03-16 17:52:56 -07:00
magumagu
4b7748f3c0
Merge pull request #2205 from Stevoisiak/FormattingCleanup
...
Formatting Cleanup
2015-03-16 17:47:29 -07:00
magumagu
629fb8fb49
Merge pull request #2222 from Tilka/fix_warnings
...
Fix warnings
2015-03-16 17:41:46 -07:00
magumagu
adb8bbed90
Merge pull request #2217 from shuffle2/quiet-warnings
...
quiet some warnings which appear on vs2015.
2015-03-16 11:50:42 -07:00
magumagu
fd15cad1ca
Remove useless volatile from ProcessorInterface.
...
These values are only accessed/used from the CPU thread.
2015-03-15 20:33:41 -07:00
magumagu
87dcda5785
Remove remnants of old fake opcodes.
...
These are illegal opcodes, and should be treated as such.
2015-03-14 16:59:12 -07:00
magumagu
269be03908
OpenGL: use ClampUL instead of ClampLL where appropriate.
2015-03-12 13:24:52 -07:00
magumagu
b523e7d3d3
Fix IPCHLE for gethostbyname.
...
It turns out that the offsets of the data in the return buffer matter: the
offset 0x340 is hardcoded into the code that uses the result.
With that fixed, get rid of the completely wrong 0x80000000 hack.
2015-03-11 17:08:15 -07:00
magumagu
dda5e610eb
Fix paired loadstore to use correct load/store calls.
...
psq_st performs one store, and psq_ld one load, from the perspective of the
MMU; getting this wrong leads to potentially incorrect behavior (incorrect page
faults, weirdness with the gather pipe, etc.). Fix this, and stop masking
the address when checking for gather pipe writes.
Also a bunch of cleanup.
2015-03-11 17:06:18 -07:00
magumagu
a1dbe8e463
Merge pull request #2166 from MoochMcGee/master
...
Add various loads and stores to JitIL
2015-03-08 17:12:52 -07:00
magumagu
859c1123ba
Fix typo in usage of IsOptimizableMMIOAccess.
2015-03-08 16:20:17 -07:00
magumagu
9c045e2496
Merge pull request #2094 from lioncash/flags
...
Interpreter: Flag cleanups/fixes.
2015-03-07 17:38:00 -08:00
magumagu
92ba677371
Merge pull request #2174 from skidau/warning-fix-gc-adapter
...
Warning fix
2015-03-05 14:56:19 -08:00
magumagu
740522ec4a
Merge pull request #2173 from Tilka/whatever
...
Jit64: small cleanup
2015-03-05 14:36:51 -08:00
magumagu
863a4c9ce0
Fix clamping for rectangles.
...
Clamping a rectangle correctly requires fully clamping all four
coordinates in the general case.
This should fix issue 6923, sort of; at least, it fixes the part where a
rectangle ends up with a nonsensical height after being clamped.
2015-03-04 17:15:29 -08:00
magumagu
8c46bd2d1d
Merge pull request #1890 from Buddybenj/capital-ini
...
Capitalize Dolphin in Game INI Files
2015-03-01 14:54:38 -08:00
magumagu
7f7973efa5
Merge pull request #2148 from Tilka/fifo_cleanup
...
Small FIFO-related cleanup
2015-03-01 13:06:43 -08:00
magumagu
b4a586f84a
Merge pull request #2161 from Tilka/fix_warnings
...
Fix some warnings
2015-03-01 13:02:37 -08:00
magumagu
aa24dbc56e
Merge pull request #2157 from lioncash/leaks
...
DolphinWX: Allow input subsystems to correctly deinitialize
2015-03-01 12:53:28 -08:00
magumagu
c792d45d89
Merge pull request #2134 from JosJuice/delete-ph-presets
...
Delete PH_PRESETS.ini
2015-02-27 16:00:37 -08:00
magumagu
b1fbf205ec
Merge pull request #2122 from Tilka/intrinsics
...
Intrinsics: drop custom _mm_shuffle_epi8()
2015-02-25 10:48:34 -08:00
magumagu
e9e1a2c2dc
Merge pull request #2110 from lioncash/tl
...
DolphinWX: Make RAM watch strings translatable
2015-02-24 11:42:14 -08:00
magumagu
b9157c5a36
Merge pull request #2090 from magumagu/jit-gatherpipe-address
...
Refactor gather-pipe address checking.
2015-02-23 12:46:04 -08:00
magumagu
0ff7e20829
Merge pull request #2109 from lioncash/cr
...
Interpreter: Fix Helper_UpdateCR1
2015-02-23 11:23:21 -08:00
magumagu
fca5e176b3
Correctly set up MSR and BAT registers for ELF loading.
2015-02-22 20:51:50 -08:00
magumagu
e81d459bcf
Merge pull request #2104 from lioncash/commented
...
Interpreter: Uncomment code related to cmp and cmpl
2015-02-22 16:19:03 -08:00
magumagu
b5020b1675
Fix crash in Wii games using IPCHLE networking.
...
Address passed from IOS to PowerPC should be in the 0x90000000 range, not
0x10000000.
Issue 8264.
2015-02-22 14:07:05 -08:00
magumagu
b9f77a5c0f
Merge pull request #1808 from Stevoisiak/additionalToolTips(Again)
...
Added more settings tooltips
2015-02-22 12:05:34 -08:00
magumagu
917a900ccb
Refactor gather-pipe address checking.
...
The implementation of IsOptimizableGatherPipeWrite is extremely simple
now, but it will get a bit more complicated with dynamic-bat.
2015-02-22 11:01:42 -08:00
magumagu
18ada7a0f5
Merge pull request #2033 from magumagu/mmio-fix-addresses
...
Fix the addresses of MMIO registers.
2015-02-22 10:58:25 -08:00
magumagu
97b7f26d58
Hack around our terrible GC BIOS emulation.
...
Fixes a crash launching F-Zero GX.
2015-02-21 20:07:54 -08:00
magumagu
9e29154b08
Merge pull request #1988 from magumagu/fast-checkgatherpipe
...
Use faster CheckGatherPipe from JIT.
2015-02-21 15:07:59 -08:00
magumagu
018a7f1ec9
Fix registersInUse in Jit64::lmw.
...
Doesn't fix any known issue at the moment, but I ran into this bug with
dynamic-bat.
2015-02-21 09:31:20 -08:00
magumagu
074397c12d
Explicitly set up AllocateTexture configuration for palette conversion.
...
No functional change.
2015-02-19 15:57:05 -08:00
magumagu
0360e01eaf
Merge pull request #2040 from magumagu/gc-memmap
...
Try to fix our memory map to match the GameCube.
2015-02-19 15:44:36 -08:00
magumagu
ddc815dd7a
Remove TextureAddress struct.
2015-02-19 15:36:32 -08:00
magumagu
c0a4760f0e
Decode EFB copies used as paletted textures.
...
A number of games make an EFB copy in I4/I8 format, then use it as a
texture in C4/C8 format. Detect when this happens, and decode the copy on
the GPU using the specified palette.
This has a few advantages: it allows using EFB2Tex for a few more games,
it, it preserves the resolution of scaled EFB copies, and it's probably a
bit faster.
D3D only at the moment, but porting to OpenGL should be straightforward..
2015-02-19 15:09:27 -08:00
magumagu
314b241220
Try to fix our memory map to match the GameCube.
...
This basically just restores the RAM mirroring that existed before PR1856
(address translation).
2015-02-19 15:02:51 -08:00
magumagu
d0c675af83
Merge pull request #2080 from lioncash/interp
...
Interpreter: Remove unnecessary prototypes and includes
2015-02-19 11:19:20 -08:00
magumagu
4cdf9f543f
Partially fix WWE12 titantron videos.
...
The obvious question here is, why does it matter if we round or truncate?
The key is that GC/Wii does fixed-point interpolation, where PC GPUs do
floating-point interpolation. Discarding fractional bits makes the conversion
from floating-point to fixed point give more consistent results.
I'm not confident this is really the right fix, or that my explanation is
completely correct; ideally, we don't want to depend on floating-point
interpolation at all.
2015-02-18 19:41:00 -08:00
magumagu
dfac2ca055
Merge pull request #2072 from Sonicadvance1/fix_inst_table_mulli
...
Fix mulli's flags in the instruction tables.
2015-02-18 14:44:09 -08:00
magumagu
77a0bfdd8f
Merge pull request #2055 from magumagu/fakevmem-code
...
Allow executing code out of FakeVMEM.
2015-02-16 19:13:14 -08:00
magumagu
cce503c879
Disable an IsCPUThread() assert in Release builds.
...
IsCPUThread is extremely slow at the moment, and this code runs
frequently.
2015-02-16 19:07:42 -08:00
magumagu
f316265973
Fix the addresses of MMIO registers.
...
MMIO registers are located at 0x0C000000 and 0x0D000000, not 0xCC000000.
The 0xCC000000 addresses are just an artifact of address translation.
2015-02-15 18:29:37 -08:00
magumagu
5b6a947e8f
Merge pull request #2035 from magumagu/remove-bat-option
...
Remove the BAT checkbox/setting/implementation.
2015-02-15 17:27:18 -08:00
magumagu
001bf9152e
Allow executing code out of FakeVMEM.
...
Fixes regression from PR1856 (address translation).
2015-02-14 14:08:46 -08:00
magumagu
6797718950
Merge pull request #2039 from magumagu/pr1856-typos
...
Fix typos from PR1856 (address translation).
2015-02-12 16:18:54 -08:00
magumagu
f9e8ad39fc
Fix typos from PR1856 (address translation).
2015-02-12 12:11:33 -08:00
magumagu
98b809a05e
Disable thread safety assertions added in PR1987.
...
We do a whole bunch of non-threadsafe stuff, especially in the UI, and I'm
probably not going to get around to implementing a threadsafe framework
for interaction between the UI and the CPU thread anytime soon. See issue
8220.
2015-02-12 11:54:17 -08:00
magumagu
985087c7e2
Make all unknown opcodes behave consistently.
...
Consistently fall back to the interpreter for unknown instructions, and
make sure GetOpInfo() always returns a non-null pointer.
2015-02-11 22:18:33 -08:00
magumagu
e640ef9d7b
Improve illegal instruction handling.
...
This should more reliably show an error message for illegal
instructions.
2015-02-11 21:01:00 -08:00
magumagu
aa40f750d4
Remove the BAT checkbox/setting/implementation.
...
The current version of the setting is useless, and the real implementation
(PR1882) will be always-on, and won't use any of the existing code.
2015-02-11 20:24:51 -08:00
magumagu
49f223a211
Remove setting "BlockMerging".
...
It isn't hooked up to anything anymore, and it isn't the sort of thing we
want users messing with anyway.
2015-02-11 19:52:48 -08:00
magumagu
0e0a196a1c
Merge pull request #1856 from magumagu/correct-translation-disable-2
...
Make address translation respect the CPU translation mode
2015-02-11 17:04:12 -08:00
magumagu
4193350d22
Memmap: add an explanation of Dolphin's memory layout.
2015-02-11 15:22:21 -08:00
magumagu
aaee23d1b4
Fix ARM64 build for address translation changes.
2015-02-11 13:56:38 -08:00
magumagu
e136c8a066
PowerPC: misc cleanup.
2015-02-11 13:56:36 -08:00
magumagu
ac54c6a4e2
Make address translation respect the CPU translation mode.
...
The PowerPC CPU has bits in MSR (DR and IR) which control whether
addresses are translated. We should respect these instead of mixing
physical addresses and translated addresses into the same address space.
This is mostly mass-renaming calls to memory accesses APIs from places
which expect address translation to use a different version from those
which do not expect address translation.
This does very little on its own, but it's the first step to a correct BAT
implementation.
2015-02-11 13:56:22 -08:00
magumagu
d9988ee9b5
Merge pull request #1987 from magumagu/thread-safety
...
Cleanup usage of atomic/threadsafe functions
2015-02-10 13:48:12 -08:00
magumagu
0f96a0104e
Merge pull request #1752 from Buddybenj/clean-up
...
Clean Up
2015-02-10 11:39:14 -08:00
magumagu
1acd80f23f
Merge pull request #1779 from riking/pr-rename-boot-from-dvd
...
Reword "Boot from DVD Drive" -> "DVD Backup" menu option
2015-02-10 11:07:44 -08:00
magumagu
57d94de2ad
Fix regression for D3D EFB depth copies.
...
On D3D, we read from the depth buffer using the format
DXGI_FORMAT_R24_UNORM_X8_TYPELESS (essentially, the "r" component contains
the depth, and the other components contain nothing).
2015-02-03 11:27:27 -08:00
magumagu
30d15b3a32
Clean up usage of PowerPCState::Exceptions.
...
Accessing any member of ppcState from a thread other than the CPU thread
is not allowed; don't pretend that there's any exception to that rule.
2015-01-31 12:02:45 -08:00
magumagu
5a3f75f5cf
Use faster CheckGatherPipe from JIT.
...
We don't need to profile explicit calls to CheckGatherPipe: we aleady know
where they are. Skip profiling, and explciitly insert an exception check.
While I'm here, get rid of unused code in JitIL.
2015-01-30 17:00:58 -08:00
magumagu
47be9d8e6b
Clean up usage of ScheduleEvent_Threadsafe.
2015-01-30 14:48:23 -08:00
magumagu
0030ad9ecf
Fix D3D regression from PR1948.
...
Make sure we don't have a texture bound as both an ShaderResourceView and
a RenderTargetView; this causes rendering glitches.
This isn't really the right place to do this... but I'm not sure
how the code should be structured.
2015-01-27 18:25:35 -08:00
magumagu
897b678d24
D3D: delete unnecessary code.
2015-01-26 10:58:32 -08:00
magumagu
9dbb9bf3b5
Make sure EFB2RAM buffer is wide enough for new coordinate system.
2015-01-25 23:32:32 -08:00
magumagu
b56025e6eb
Don't use boolean negation.
2015-01-25 23:28:59 -08:00
magumagu
33259c272b
Remove some debugging junk.
2015-01-25 23:11:36 -08:00
magumagu
cb05730127
Use linear sampling in ScaleByHalf mode.
2015-01-25 23:05:23 -08:00
magumagu
92189823f3
Fix RGBA8 encoding.
2015-01-25 22:53:30 -08:00
magumagu
1ee09ced0a
Fix OpenGL coordinate computation.
2015-01-25 21:38:30 -08:00
magumagu
cb5d3fce4f
Fix stupid mistake.
2015-01-25 21:20:25 -08:00
magumagu
b0b99b6922
Fix shader so it's possible to use with D3D Map().
...
Well, that's not strictly true, but trying to memcpy between two buffers
using different row lengths and different strides is at minimum extremely
unintuitive.
2015-01-25 19:57:09 -08:00
magumagu
6c1bdfe04c
More work.
2015-01-25 19:57:07 -08:00
magumagu
ef75f3005d
WIP.
2015-01-25 15:49:35 -08:00
magumagu
3aa3002010
Fix Intellisense error spam on Visual Studio.
...
Intellisense doesn't like defines in PCH files, and it doesn't like the deleted
constructor for BitField. (I think it's being overly strict about the
"must have no non-default constructors" rule for classes in unions.)
2015-01-23 19:15:25 -08:00
magumagu
6659c15bed
Remove EFB to RAM cache, and simplify code.
2015-01-23 10:48:15 -08:00
magumagu
7d5abb4eb4
D3D: allow selecting adapters with no outputs.
...
The result might be a little iffy in complicated situations (i.e. you have
three graphics cards and monitors hooked up to two of them), but we really
need better UI for such cases anyway.
2015-01-17 14:27:11 -08:00
magumagu
c09e41d652
JIT: Fix the return pointer for backpatch trampolines.
...
The key change is that for stores less than 5 bytes, the correct
place for the trampoline to return is immediately after the backpatched jump,
not somewhere inside it.
2015-01-15 19:30:59 -08:00
magumagu
e92e1e5873
Remove HLE_HOOK_END.
...
It isn't used, it isn't implemented in interpreter, and the implementation
in JIT is wrong.
2015-01-15 11:54:20 -08:00
magumagu
213eb730d0
For idle loops, don't explicitly call CoreTiming::Advance.
...
This is more consistent with the way Dolphin behaves with idle skipping off.
2015-01-11 20:42:08 -08:00
magumagu
90d0096653
JIT: cleanup instrction merging for idle loop and dcbst.
...
Use MergeAllowedNextInstructions where appropriate, and read from the
instruction buffer rather than poking directly into memory.
2015-01-11 12:53:23 -08:00
magumagu
9b0bf34d00
Allow locked L1 DMA to write to the EFB.
...
I wouldn't have guessed that anyone would do this, but apparently people
who write video codecs love doing weird stuff with the locked L1 cache.
2015-01-10 15:08:21 -08:00
magumagu
5bd3123b2a
Add missing "break" in Memory::GetPointer.
2015-01-09 22:47:45 -08:00
magumagu
f1420472c8
OSREPORT: Fix out-of-bounds string access.
2015-01-06 17:12:31 -08:00
magumagu
1e370550c4
JIT: simplify ISI handling.
...
When we try to JIT from a block which doesn't exist, don't JIT any code;
just update the PPC state to indicate an ISI. This is a little simpler,
and avoids abusing the JIT block cache.
2015-01-01 19:25:48 -08:00
magumagu
31bcdb8f2f
D3D+OGL: choose blendenable over logicopenable.
...
No sane game should turn on both logicopenable and blendenable in the same
blend mode, but not every game is sane. Fixes issue 6009.
2014-12-15 20:16:25 -08:00
magumagu
e479606b07
JIT: simplify code using MOVTwo.
2014-12-12 22:29:49 -08:00
magumagu
43d56febc4
JIT: use fastmem loads in MMU mode.
...
Even in games that require MMU mode, loads outside the area specified by
the BAT are rare, so fastmem is a substantial improvement.
All of the interesting changes are in the backpatch handler, to make it
generate DSI exceptions correctly.
2014-12-12 22:08:46 -08:00
magumagu
6b34b1b0d0
JIT: remove unnecessary uses of MMU flag.
2014-12-03 14:06:06 -08:00
magumagu
c3b36de51e
HLE code replacement: remove unused code.
2014-12-03 14:05:05 -08:00
magumagu
a09283cf9f
ISOProperties: show all paritions on property page.
2014-11-30 16:38:15 +01:00