Commit Graph
100 Commits
Author SHA1 Message Date
Scott Mansell e6476b805e Merge pull request #5008 from ligfx/aspectheuristic
VideoCommon: rework anamorphic widescreen heuristic
2017-04-10 11:30:34 +12:00
Scott Mansell 4c0a392698 Merge pull request #4715 from iwubcode/efb_copy_corruption_at_higher_ir
Add configurable toggle to round vertices to nearest pixel
2017-04-05 19:41:52 +12:00
Scott Mansell d1b343ab5a Merge pull request #4976 from ligfx/fixwxcommandlineassertion
DolphinWX: provide empty OnCmdLineParsed
2017-02-27 15:10:01 +13:00
Scott Mansell 38f399bdfc Merge pull request #4947 from JMC47/WallaceGromitSaving
Force Wallace and Gromit in Pet Zoo to use smaller memory card
2017-02-23 09:52:20 +13:00
Scott Mansell d8479869dc Merge pull request #4914 from Rastaban/master
C++ conformance fixes (MSVC /permissive-)
2017-02-16 18:48:01 +13:00
Scott Mansell 5da565a1a1 Merge pull request #4735 from degasus/jitcache
Jit64: Enable branch following.
2017-01-28 15:48:01 +13:00
Scott Mansell e41858232d Merge pull request #4720 from lioncash/si-stub
SI_Device: Move the null device implementation to its own source files
2017-01-23 15:46:37 +13:00
Scott Mansell ed95115c17 Merge pull request #4220 from aldelaro5/memcheck-interface-improvements
Redo the MemCheck add dialog
2016-09-28 13:46:25 +13:00
Scott Mansell 4c004b6dc9 Merge pull request #4131 from aldelaro5/memoryViewer-memChecks-improvements
Add the configuration of how a memory check is added via the memory window
2016-09-15 10:46:07 +12:00
Scott Mansell 514ce3c6ed Merge pull request #4201 from EmptyChaos/interpreter-coretiming
Interpreter/CachedInterpreter/JitArm64: Fix CoreTiming::Advance usage
2016-09-15 09:57:00 +12:00
Scott Mansell a7566ea037 Merge pull request #4213 from sepalani/map_align
PPCSymbolDB: Rename unknown variable
2016-09-15 09:54:46 +12:00
Scott Mansell ea7e734496 Merge pull request #4186 from aldelaro5/registerView-update-fix
Fix registerView updates issues when stepping over or stepping out
2016-09-14 18:10:41 +12:00
Scott Mansell 4e595ca25f Merge pull request #4208 from aldelaro5/more-debugger-font-fix
Fix the debugger font not appearing on the captions of panes (DSP)
2016-09-14 18:09:28 +12:00
Scott Mansell d5c25a8990 Merge pull request #4207 from aldelaro5/debugger-floating-window-fix
Debugger: Fix some floating window issues
2016-09-14 18:08:23 +12:00
Scott Mansell 65c1df34f4 Merge pull request #4198 from aldelaro5/memory-breakpoint-fix
Fix the memChecks breaking a second time after hitting one and unpausing
2016-09-12 14:51:47 +12:00
Scott Mansell fe41dff228 Fix the master build. 2016-09-07 20:10:03 +12:00
Scott Mansell d951f9e765 Merge pull request #3771 from phire/pr3771
Remove instant ARAM DMA hack (Fixes Sarge's War)
2016-09-07 19:09:39 +12:00
Scott Mansell 42e91dd815 Merge pull request #4189 from phire/efb_linear_downsampling
EFB2RAM: Downsample higher resolutions with linear filtering.
2016-09-07 17:44:16 +12:00
Scott Mansell 62d7a698da Merge pull request #4145 from tenthmile/WiiOrientationModifier
Emulated Wiimote Orientation Modifier
2016-09-07 14:20:02 +12:00
Scott Mansell 7311cd8b6e Merge pull request #4137 from aldelaro5/memCheck-crash-fix
Fix a crash when adding the first memory check while the game is running
2016-09-07 14:19:19 +12:00
Scott Mansell ac6013bff3 Merge pull request #4134 from RisingFog/move_advancepane_disable
Fix advanced config panel staying disabled after TAS recording
2016-09-07 14:18:00 +12:00
Scott Mansell f5e870bbe5 Merge pull request #4135 from RisingFog/remove_wii_limits_rtc
Fix issues with Custom RTC when set past the year 2038
2016-09-07 14:05:58 +12:00
Scott Mansell 366a38a917 Merge pull request #4142 from mbc07/IPC_HLE_usb_ven
[IPC HLE] Implement /dev/usb/ven with very basic functionality
2016-09-07 13:51:55 +12:00
Scott Mansell dbface94ea And remove the feature from the Arm64 jit too. 2016-09-07 12:53:14 +12:00
Scott Mansell c354dfcd2f Remove instant ARAM DMA mode.
Now that our timings are much more accurate it doesn't look like we
need it anymore. And the instant ARAM DMA mode + scheduling fixes
ctually breaks ATV: Quad Power Racing 2 (causing all sorts of werid
bugs).
2016-09-07 12:53:14 +12:00
Scott Mansell f5c70a4b27 EFB2RAM: Downsample higher resolutions with linear filtering. 2016-09-07 11:17:32 +12:00
Scott Mansell 3e0355e7f6 Merge pull request #4184 from EmptyChaos/wii_ipc-init
WII_IPC_HLE: Fix Reinit
2016-09-06 15:51:30 +12:00
Scott Mansell 5932ded806 Merge pull request #4183 from aldelaro5/if-simplification-slowmem
Simplify an if condition after PR #4078
2016-09-06 13:20:58 +12:00
Scott Mansell d29dae207a Merge pull request #4078 from comex/alwaysUseMemFuncs-for-write
Don't use the fast path when there are watchpoints enabled, for writes too
2016-09-06 04:55:17 +12:00
Scott Mansell 0119f1302f Merge pull request #4177 from phire/useless_cases
BPStructs: remove case statements which never match.
2016-09-06 00:56:09 +12:00
Scott Mansell a665743b70 BPStructs: remove case statments which never match.
Visual Studio's code analyzer complains about these.
2016-09-06 00:40:49 +12:00
Scott Mansell f5fa5a7d32 Merge pull request #4168 from EmptyChaos/coretiming-cleanup
Core: CoreTiming Cleanup (Add UnitTests)
2016-09-04 11:48:54 +12:00
Scott Mansell a32bb8f1b9 Movie: Fix null pointer derefrence.
Part of the acceleration data is packed in with the buttons. We
always have button data when we have acceleration data.
2016-09-03 16:46:48 +12:00
Scott Mansell 0e7424b359 VideoSoftware: Fix unsigned overflow bug in fog
Was causing fog errors on the left half of the screen.

Only appeared to affect visual studio builds, GCC did the correct
thing.
2016-09-02 10:12:44 +12:00
Scott Mansell def0b42fb7 Merge pull request #4161 from OrN/wxwidgets-build-fix
Fix wxWidgets build for 32-bit arch
2016-08-31 11:29:04 +12:00
Scott Mansell efac0cf8fe Merge pull request #4156 from phire/interlaced_panic
VideoInterface: Fix panic alert on interlaced fields.
2016-08-29 23:10:55 +12:00
Scott Mansell c4786ad70e Merge pull request #4151 from phire/fix_lswx
Fix bug in interpreter's lswx. Was overwriting extra register.
2016-08-29 23:10:23 +12:00
Scott Mansell 17e64b75a5 VideoInterface: Fix panic alert on interlaced fields.
For some reason this was only showing up in video software.

Not sure why.
2016-08-29 23:08:23 +12:00
Scott Mansell fc2b0e0f45 Simplify lswx loop. 2016-08-29 22:57:37 +12:00
Scott Mansell fc969388f0 Merge pull request #4152 from aldelaro5/debugger-font-fix
Fix the Debugger font not appearing on the captions of panes
2016-08-29 11:17:59 +12:00
Scott Mansell 967c371d7a Zero case behaviour confirmed by hardware test
Modify comments to reflect this
2016-08-28 09:48:29 +12:00
Scott Mansell ab3eedcc33 While I'm here, stswx should wrap too. 2016-08-27 14:15:43 +12:00
Scott Mansell 5b47635b3f Fix bug in interpreter's lswx. Was overwriting extra register.
When n was a multiple of 4, the old implementation would overwrite
the following register with 0.

This was causing Not64 to crash.

Thanks to Extrems for spotting this.
2016-08-27 14:15:42 +12:00
Scott Mansell 0fbf72cbf1 Merge pull request #4140 from Armada651/ww-depth
D3D: Correctly invert the viewport depth range.
2016-08-24 02:28:53 +12:00
Scott Mansell 92f165d756 Merge pull request #4144 from aldelaro5/debugger-insertInstruction-fix
Invalidate the icache when inserting a nop or a BLR
2016-08-24 00:22:24 +12:00
Scott Mansell f1964f90d6 Merge pull request #4129 from RisingFog/hahahahahahahahahaha
Fix a really stupid GLSL version parsing bug
2016-08-20 08:48:28 +12:00
Scott Mansell 0015d2e86b Merge pull request #4121 from leoetlino/osreport-sjis
Convert OSREPORT text from SJIS to UTF-8
2016-08-15 16:04:07 +12:00
Scott Mansell 088f7eaa3d Merge pull request #4110 from JosJuice/fix-exi-translations
Fix choosing certain localized EXI devices
2016-08-11 12:39:36 +12:00
Scott Mansell e577ffaee5 Merge pull request #4107 from JosJuice/no-immediate-scheduleevent
Remove Immediate variants of ScheduleEvent
2016-08-11 12:13:49 +12:00
Scott Mansell d56ae505dd Merge pull request #4101 from meffij/SIDevicesEnumFix
clean up bounds checking for SIDEVICE_ENUM
2016-08-09 06:09:52 +12:00
Scott Mansell 2304d76914 Merge pull request #4060 from dolphin-emu/revert-4004-dynamic-bat
Revert "JitCache: Support for VMEM + MSR bits"
2016-07-27 13:07:32 +12:00
Scott Mansell 6834b4cb27 Revert "JitCache: Support for VMEM + MSR bits" 2016-07-27 11:15:25 +12:00
Scott Mansell 66b11c5198 Merge pull request #4044 from CharlesCorrin/CharlesCorrin-WD9.ini
Update WD9.ini
2016-07-22 08:49:57 +12:00
Scott Mansell 7139b6bae6 Merge pull request #4024 from bentley/swap
Undefine OpenBSD's system byteswap macros to pick up generic functions.
2016-07-18 15:51:05 +12:00
Scott Mansell ff3b4a0fd7 Merge pull request #4020 from bentley/fstat64
Use the standard stat()/fstat() interfaces, not nonstandard *64().
2016-07-18 12:22:33 +12:00
Scott Mansell cb63bacd65 Merge pull request #4006 from EmptyChaos/dqt2-warning
DolphinQt2: Startup Warning
2016-07-13 18:27:01 +12:00
Scott Mansell 6b48b62872 Merge pull request #3973 from phire/StripSpaces
Strip whitespace from Evdev and OSX controller names.
2016-07-12 14:44:47 +12:00
Scott Mansell e0839a9478 Strip whitespace from Evdev and OSX controller names. 2016-07-12 14:19:07 +12:00
Scott Mansell 708fb35fdb Merge pull request #3878 from mathieui/enable-cheats-for-jmc-the-cheater
Sync the "enable cheat" setting over netplay
2016-07-05 21:36:02 +12:00
Scott Mansell 69bf05b302 Merge pull request #3976 from JosJuice/shutdown-clear-codes
PatchEngine: Clear active codes on shutdown
2016-07-05 21:13:48 +12:00
Scott Mansell 20449ec91f Don't forget to initalize your variables. 2016-06-30 20:27:19 +12:00
Scott Mansell 35566316ed XFB: Send image to screen at start of field.
This is much more accurate to the hardware, and saves around 16ms
of latency.
2016-06-28 15:12:43 +12:00
Scott Mansell d958388617 VideoCommon: Fix some warnings. 2016-06-26 23:10:31 +12:00
Scott Mansell b16333a25c Merge pull request #3716 from degasus/coretiming
CoreTiming: Drop ProcessFifoWaitEvents.
2016-06-26 22:13:05 +12:00
Scott Mansell ee9e3432cb Merge pull request #3513 from phire/make_hdkr_happy
Get shadergen ready for Multithreadded generation of shaders.
2016-06-26 21:55:22 +12:00
Scott Mansell 2f134c5c36 Remove the rest of ShaderDebugging.
Without UID checking, it's basically a no-op that disables shader cache
and stores the shader source code (without ever reading it back).
2016-06-26 16:25:11 +12:00
Scott Mansell ebe5fd0b36 Multithreadded Shadergen: Minor fixups. 2016-06-26 16:13:22 +12:00
Scott Mansell 95469ec225 Remove UID Checker.
Kind of pointless now that multiple shaders with the same UID are
now fundementally impossible.
2016-06-26 16:13:22 +12:00
Scott Mansell 24e5d21780 Multithreadded Shadergen: Second pass over Pixel Shadergen.
Note: It's not 100% perfect, as some of the GPU capablities leak into the
pixel shader UID.

Currently our UIDs don't get exported, so there is no issue. But someone
might want to fix this in the future.
2016-06-26 16:13:21 +12:00
Scott Mansell 1a831cfc7d Multithreadded Shadergen: Second Pass over vertex/lighting Shadergens
As much as possible, the asserts have been moved out of the GetUID
function. But there are some places where asserts depend on variables
that aren't stored in the shader UID.
2016-06-26 16:13:21 +12:00
Scott Mansell 28c7113e41 Multithreadded Shadergen: Second Pass over geometery Shadergen 2016-06-26 16:13:21 +12:00
Scott Mansell fa02f47729 Multithreadded Shadergen: First pass over geometery Shadergen. 2016-06-26 16:13:20 +12:00
Scott Mansell 4969415f38 Remove global refrences from common code.
Bug Fix: Previously vertex shaders and geometery shaders didn't track
         antialaising state in their UIDs, which could cause AA bugs
	 on directx.
2016-06-26 16:13:20 +12:00
Scott Mansell 0d996f512b Multithreadded Shadergen: First pass over pixel Shadergen
Bug Fix: It was theoretically possible for a shader with depth writes
         disabled to map to the same UID as a shader with late depth
	 writes.
	 No known test cases trigger this.
2016-06-26 16:13:20 +12:00
Scott Mansell e99364c7c9 UID Change: Fix bug with indirect stage UIDs
Bug Fix: The normal stage UIDs were randomly overwriting indirect
         stage texture map UID fields. It was possible for multiple
	 shaders with diffrent indirect texture targets to map to
	 the same UID.
         Once again, it dpesn't look like this bug was ever triggered.
2016-06-26 16:13:19 +12:00
Scott Mansell 03f2c9648d Shader UID change: Only store the two bits of components we need.
This frees up 21 bits and allows us to shorten the UID struct by an entire
32 bits.

It's not strictly needed (as it's encoded into the length) but I added a
bit for per-pixel lighiting to make my life easier in the following
commits.
2016-06-26 16:13:19 +12:00
Scott Mansell 53c402dbc5 Multithreadded Shadergen: First Pass over vertex/lighting Shadergens
The only code which touches xfmem is code which writes directly into
uid_data.

All the rest now read their parameters out of uid_data.

I also simplified the lighting code so it always generated seperate
codepaths for alpha and color channels instead of trying to combine
them on the off-chance that the same equation works for all 4 channels.

As modern (post 2008) GPUs generally don't calcualte all 4 channels
in a single vector, this optimisation is pointless. The shader compiler
will undo it during the GLSL/HLSL to IR step.

Bug Fix: The about optimisation was also broken, applying the color light
         equation to the alpha light channel instead of the alpha light
	 euqation. But doesn't look like anything trigged this bug.
2016-06-26 16:13:19 +12:00
Scott Mansell 131c65c41e NullVideo: Fix up Visual studio solution.
Turns out visual studio really wants tabs in it's solutions.
2016-06-26 14:30:14 +12:00
Scott Mansell 2ec3a24e4e analytics: Collect less data about controllers.
The name field can contain personal information, particularly in the
case of bluetooth devices on OSX which get configured with the user's
full name.
2016-06-22 17:02:30 +12:00
Scott Mansell 3dfea6e996 analytics: Collect controller information.
Collects the existence of a gamecube adapter, and the type of
whatever controller is configured for the first emulated gamepad.
2016-06-21 01:48:28 +12:00
Scott Mansell d197f489b9 analytics: Report OpenGL's adapter name too. 2016-06-20 23:54:44 +12:00
Scott Mansell 96ab76f81d TextureCache: Rename functions and add comments to clear up docs 2016-06-18 04:27:16 +12:00
Scott Mansell 94eaacae30 TextureCache: Track efb copies used in a partially updated texture
Fixes a major preformance regression in Skies of Arcadia during
battle transisions.

I had plans for a more advanced version of this code after 5.0,
but here is a minimal implemenation for now.
2016-06-17 23:46:22 +12:00
Scott Mansell 7d80aaedc7 Cleanup: fix an incorrect variable name.
For consistancy.
2016-05-29 18:14:50 +12:00
Scott Mansell f419faa408 IPC_HLE: Close file handles before savestating. Fixes DKCR crashing.
Donkey Kong Country Returns is writing new data to some files in /tmp
when loading each level. But the savestate code was opening the files
a second time and reading some old and stale data out.

As of #3798, dolphin now correctly restores that stale data to /tmp,
which broke DKCR (and probally countless other games).

This PR closes all file handles before saving and loading savestates,
which flushes the data out and pervents this issue. (old savestates
are corrupted and will still cause crashes if loaded)
2016-05-29 16:48:46 +12:00
Scott Mansell 2c95cf0f5a Increase Audio DMA Interrupt delay to 200 cycles.
We really need hardware tests for this one. But this will do as a
quick fix for issue 9509 for 5.0
2016-05-09 14:16:32 +12:00
Scott Mansell eb5819f88a Make exceptions consistant across all JITs/Interpeters.
They all handled it diffrently, so I've just moved it into Advance()

This fixes Pokemon Box booting in JIT/JITIL which shared a bug where
exceptions set in a scheduled event would be ignored untill the next
slice (upto 20,000 cycles).
2016-04-28 17:22:52 +12:00
Scott Mansell 8f4ac5bbad Close all files so /tmp can be deleted on save state load.
Because the file handles were open, the recursive delete was
failing. The previous commit stopped the crash but this should
make the restore actually happen has expected.
2016-04-25 18:29:49 +12:00
Scott Mansell b2f133d2ac make DeleteDirRecursively clean up correctly after failure.
Fixes Metroid prime crashing the second boot after loading
a save state (issue 9496)
2016-04-25 18:28:38 +12:00
Scott Mansell 429ae8fb01 Fix netplay desync when using wii-u adapter.
If the game sent a command to a disconnected controller, the
wii u adapter code would return a diffrent response.

This simply deletes the speclized version of RunBuffer for the
wii-u adapter as the only diffrence was the code which detected
disconnected controllers and returned a error.
2016-04-25 15:26:31 +12:00
Scott Mansell 5e50c37c13 Alternative fix: promote cycleslate to an s64 everywhere.
Also changed a few functions to be static.
2016-04-10 02:13:06 +12:00
Scott Mansell 28e0607522 Fix Metroid: Other M
During boot of Other M, there is momentarily a period when VICallback's
cycles late is larger than GetTicksPerHalfLine(). Because
GetTicksPerHalfLine() returns a u32 and c++'s weird type promotion rules,
cycleslate gets promoted from a s32 to a u32 and the result of the
substraction is a really large u32.

Before ScheduleEvent accuracy improvements, ScheduleEvent took a s32, so
the result got cast back to the small negitave we expect. But it now takes
a s64 and the u32 to s64 conversion gives us a really large number (around
two seconds) and Other M times out while waiting for something.
2016-04-10 00:10:56 +12:00
Scott Mansell 662ed217d7 "Instant" ARAM DMA shouldn't schedule and event too soon.
Now that the accuracy of ScheduleEvent has changed, 0 cycles will
schedule an event as soon as possible. But this breaks ATV 2.

So we schedule it 100 cycles out (unless it's a really short copy)
2016-04-09 22:34:53 +12:00
Scott Mansell 365baeccb4 Only force progressive if we are currently in an interlaced video mode
The NES games on the Zelda Collecters Edition disk use a XFB which is
only 256 pixels wide, but has a stide of 640 pixels.

This fits our definition of a interlaced xfb, as a second line of data
could fit in the extra space. The solution is to check that we are
actually in a interlaced video mode before activating the force
progressive hack.
2016-04-06 05:12:53 +12:00
Scott Mansell fbcac2598a Use a sane default for the controller update rate.
Previously the default queryed the controller 4500 times a second,
Wasn't really a problem for most games as they set it to a sane
value. But fifoplayer didn't, and so in my profile dolphin spends
12% of the cpu time reading the controllers.

This new default value (I just took what the gamecube bios set)
drops that to 1.2% of cpu time and increase the framerate of the
silent hill fifo by 10-12%
2016-03-27 09:02:52 +13:00
Scott Mansell c036cf7a5f Updated D3D12 to build on the newer windows 10 sdk. 2016-03-26 18:11:49 +13:00
Scott Mansell 066b6b0bcb OpenGL: Cache query to max texture size.
This showed up really high when I was profiling things.
2016-03-26 03:14:39 +13:00
Scott Mansell d61baef2f6 Disable JitArm64's inline timebase implemenation, as it's incorrect.
The interpeted version is correct.
2016-03-24 05:17:10 +13:00
Scott Mansell 27beef1ff4 Store an inverted copy of lastOCfactor.
The inverse operation is more common, especially when games check the
timer rapidly. So we do the division once and store the inverted copy.
2016-03-24 05:17:10 +13:00
Scott Mansell 407f86e01a Mark global variables with g_ prefix 2016-03-24 04:32:12 +13:00