Scott Mansell
ce493b897d
Merge pull request #2271 from revel8n/fixes
...
Fix for alignment of zero-length files within directory based virtual disk
2015-09-28 05:28:38 +13:00
Scott Mansell
be3851b72e
Merge pull request #3090 from LPFaint99/gcifolder
...
GCI Folder: Skip 'header-only' writes
2015-09-28 05:26:12 +13:00
Scott Mansell
af327aec79
Merge pull request #3036 from mimimi085181/hash-respecting-stride
...
Respect the stride for efb copies when hashing them
2015-09-28 05:23:55 +13:00
Scott Mansell
4817118028
Merge pull request #3084 from JosJuice/cpu-core-clock
...
SystemTimers: Don't name non-constant variables as if they are constant
2015-09-28 05:22:54 +13:00
Scott Mansell
bf636a8fe5
Merge pull request #3094 from JosJuice/metroid-prime-ini
...
Don't force EFB Copies to Texture Only off for Metroid Prime
2015-09-28 05:20:18 +13:00
Scott Mansell
a91810ba3b
Merge pull request #3042 from booto/audio-timing
...
AI: reduce overhead of sample counter
2015-09-27 05:03:55 +13:00
Scott Mansell
6eb0c2552d
Merge pull request #3085 from Tilka/fifoplayer
...
FifoPlayer: remove leftover code
2015-09-24 15:37:01 +12:00
Scott Mansell
a537ca7543
Merge pull request #2997 from phire/FixFifoRecorder
...
FifoRecorder: Use Texture Cache to record efb copies correctly.
2015-09-23 00:17:37 +12:00
Scott Mansell
aa1fec6fc3
FifoPlayer: Fixup style of types.
2015-09-23 00:03:43 +12:00
Scott Mansell
a355d9868e
FifoRecorder: Use Video Common to record efb2ram correctly.
...
Texture updates have been moved into TextureCache, while
TMEM updates where moved into bpmem. Code for handling
efb2ram updates was added to TextureCache.
There was a bug for preloaded RGBA8 textures, it only copied
half the texture. The TODO was wrong too.
2015-09-22 23:59:16 +12:00
Scott Mansell
c9836ff592
EGL: Don't depend on VideoCommon or Core
2015-09-22 00:36:48 +12:00
Scott Mansell
72249b8085
GLX: Don't depend on Core or VideoCommon
2015-09-22 00:36:47 +12:00
Scott Mansell
01ed925fec
AGL: Don't depend on VideoCommon
2015-09-22 00:36:46 +12:00
Scott Mansell
93f6563789
WGL: Don't depend on Core/VideoCommon
2015-09-22 00:36:45 +12:00
Scott Mansell
95f3c956a8
Move GL interface code out of the OpenGL video backend.
2015-09-22 00:36:45 +12:00
Scott Mansell
b6cd78a370
VideoBackendBase: Remove check for XP.
2015-09-19 07:10:44 +12:00
Scott Mansell
3f56480903
Merge pull request #3037 from JosJuice/titles-txt-sort
...
DolphinWX: Fix sorting games by custom titles
2015-09-18 17:41:32 +12:00
Scott Mansell
3ef103d1c9
Merge pull request #3058 from lioncash/override
...
ControllerInterface: Fix -Winconsistent-missing-override warnings on OSX
2015-09-18 15:24:54 +12:00
Scott Mansell
7681d7b67a
Merge pull request #3056 from degasus/master
...
VideoSW: Remove unused function
2015-09-18 05:53:31 +12:00
Scott Mansell
1c17d3d653
Merge pull request #3050 from lioncash/const
...
Jit_Util: Mark a class function as const
2015-09-17 17:14:18 +12:00
Scott Mansell
deeb1d8370
Remove segfault from DX11 backend.
...
Instead of blindly using the expected width, clamp it to the stride of the
buffer which dx11 returns. This prevents use from reading invalid memory
at the end of textures.
This doesn't solve the base issue of what to do when a game tries to copy
from outside the efb. On real hardware it returns random noise (biased
to all ones)
2015-09-17 02:22:00 +12:00
Scott Mansell
45c1cfa078
Merge pull request #2242 from Stevoisiak/Titles.txt
...
GameListCtrl: Improvements for reading custom game titles
2015-09-13 14:03:47 +12:00
Scott Mansell
3e4b62797c
Merge pull request #3033 from JosJuice/stick-names
...
Use official names for GameCube controller sticks
2015-09-13 13:14:10 +12:00
Scott Mansell
c0a89c3bf4
Merge pull request #3009 from phire/depth_tested_pokes
...
Add some logging for depth tested efb color pokes.
2015-09-12 22:20:59 +12:00
Scott Mansell
44456bec0f
Add some logging for depth tested efb color pokes.
2015-09-12 22:19:59 +12:00
Scott Mansell
66dd79c569
Merge pull request #3010 from Felk/master
...
fixed disabling auto reporting for emulated wiimotes not working properly
2015-09-12 21:40:25 +12:00
Scott Mansell
68b415ba87
Merge pull request #3019 from mimimi085181/store-base-hash
...
Store the base hash for paletted textures in the texture cache entries
2015-09-12 16:24:29 +12:00
Scott Mansell
02842cb34b
Merge pull request #3006 from phire/deadlock
...
Fix deadlock with KHR_debug.
2015-09-12 16:19:58 +12:00
Scott Mansell
ee7285a1db
Merge pull request #3008 from Lionel07/qt-screensaver
...
Qt: Disable Display Sleep when game is running (Windows)
2015-09-12 16:13:51 +12:00
Scott Mansell
2c67ad88cd
Merge pull request #3023 from JosJuice/qt-pixmaps
...
DolphinQt: Bring pixmaps up to date with DolphinWX and themes
2015-09-12 16:13:35 +12:00
Scott Mansell
921bab6b4d
Merge pull request #3015 from phire/SplitLogtypes
...
Split OpenGL errors into a separate logtype from video errors.
2015-09-10 18:55:29 +12:00
Scott Mansell
ef4974b6a2
Remove unused log type.
2015-09-10 18:39:32 +12:00
Scott Mansell
0ed1e977cc
Rearrange the logtypes into something closer to alphabetical order.
...
Also fix up a few of the long names.
2015-09-10 18:39:08 +12:00
Scott Mansell
de9310fe70
Split OpenGL errors into a separate logtype from Video errors.
...
Allows them to be enabled/disabled separately.
2015-09-10 18:38:45 +12:00
Scott Mansell
f2771695a2
Merge pull request #3014 from lioncash/cpath
...
ExpressionParser: Make all control paths return a value in operator std::string
2015-09-10 14:48:30 +12:00
Scott Mansell
38d05cd70f
Merge pull request #3007 from phire/khr_debug_notification
...
OpenGL: drop log level of some spammy KHR_debug messages.
2015-09-09 17:34:27 +12:00
Scott Mansell
a95adba39b
Drop DEBUG_SEVERITY_NOTIFICATION messages down to DEBUG_LOG
2015-09-09 12:22:52 +12:00
Scott Mansell
b9b80191d5
Fix deadlock with KHR_debug.
...
An KHR_debug callback could end up waiting for a mutex
on a thread which calls windows system functions.
While this is not expressly forbidden by the standards,
it does forbid directy calling windows system functions
from a KHR_debug callback. Close enough.
2015-09-09 12:05:24 +12:00
Scott Mansell
332e81d2d7
Merge pull request #2984 from JosJuice/dvdinterface-round-down
...
DVDInterface: Use ROUND_DOWN
2015-09-08 12:43:11 +12:00
Scott Mansell
1f800b80dd
Merge pull request #2960 from phire/improve_efb2tex
...
Make efb2tex behave much more like efb2ram.
2015-09-07 14:12:03 +12:00
Scott Mansell
ac467d9fb9
FifoPlayer: Don't check efb copy hashes when plaing back a broken dff
2015-09-07 05:20:25 +12:00
Scott Mansell
bda964e0b9
Workaround to allow partial texture updates to keep working in NSMBWii
2015-09-07 02:32:01 +12:00
Scott Mansell
ee649c6d9f
Make efb2tex behave more like efb2ram.
...
Instead of having special case code for efb2tex that ignores hashes,
the only diffence between efb2tex and efb2ram now is that efb2tex
writes zeros to the memory instead of actual texture data.
Though keep in mind, all efb2tex copies will have hashes of zero as
their hash.
2015-09-07 02:32:01 +12:00
Scott Mansell
c08a83a5aa
Merge pull request #2957 from phire/unify_efbcopy
...
Cleanup and unify efb copy implemtations into VideoCommon
2015-09-07 00:10:42 +12:00
Scott Mansell
d797b5d0b5
Use ROUND_UP instead of custom bittwiddling.
2015-09-06 23:00:17 +12:00
Scott Mansell
137856bd00
Fix palette conversions for 4 bit efb copies.
...
Fixes purple shadow in THPS4 and many other things.
2015-09-06 21:16:52 +12:00
Scott Mansell
e745748c3e
Improve comments for texture formats enum.
2015-09-06 21:16:51 +12:00
Scott Mansell
b9be3245e1
Move common EFB copy code into VideoCommon
...
Addded a few duplicated depth copy texture formats to the enum
in TextureDecoder.h. These texture formats were already implemented
in TextureCacheBase and the ogl/dx11 texture cache implementations.
2015-09-06 21:16:51 +12:00
Scott Mansell
be4caa3dc0
Merge pull request #2961 from lioncash/printf
...
General: Toss out PRI macro usage
2015-09-06 21:02:22 +12:00
Scott Mansell
d52d8bf935
Merge pull request #2982 from lioncash/unique
...
Common: Remove StdMakeUnique.h
2015-09-06 21:01:48 +12:00
Scott Mansell
a26cac87fc
Merge pull request #2959 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-09-06 19:59:49 +12:00
Scott Mansell
61da83182e
Merge pull request #2978 from lioncash/override
...
Add missing override specifiers
2015-09-06 19:21:59 +12:00
Scott Mansell
728d082bc7
Merge pull request #2983 from lioncash/delete
...
WII_Socket: Make the copy-assignment operator deleted
2015-09-06 19:20:47 +12:00
Scott Mansell
52948bb3ef
Cleanup and unify handling of efb copy stride.
2015-09-05 23:37:24 +12:00
Scott Mansell
9be01a9044
Merge pull request #2968 from t27duck/lost_levels_missing_ini
...
Add missing INI file for SMB: The Lost Levels
2015-09-05 14:05:48 +12:00
Scott Mansell
a1538a30ef
Merge pull request #2941 from lioncash/gp
...
GPFifo: Remove pointer casts
2015-09-03 13:47:26 +12:00
Scott Mansell
532c81266c
Merge pull request #2933 from t27duck/mm5_missing_ini
...
Added missing Mega Man 5 INI file
2015-09-03 12:13:59 +12:00
Scott Mansell
34c7f34198
Merge pull request #2945 from lioncash/alloca
...
ActionReplay: Remove an alloca call
2015-09-03 12:12:26 +12:00
Scott Mansell
ecbb83fa0f
Merge pull request #2686 from booto/field-timing
...
VI: derive field timing from VI registers
2015-09-03 01:09:43 +12:00
Scott Mansell
368867dba0
Merge pull request #2922 from aserna3/SDBlock
...
Implemented ability to block writes to the SD card
2015-08-31 04:51:50 +12:00
Scott Mansell
13526135f8
Merge pull request #2877 from JosJuice/remove-lle-ini
...
Remove forced DSP LLE from game INIs
2015-08-20 05:41:51 +12:00
Scott Mansell
5097a22844
Merge pull request #2794 from randomstuff/evdev-stable
...
Stable device identifier for evdev
2015-08-02 21:40:49 +12:00
Scott Mansell
8dd9d35689
Merge pull request #2653 from AdmiralCurtiss/netplay-video-mode-sync
...
Netplay: Sync Video Mode settings. (Progressive Scan and PAL60)
2015-08-02 12:42:21 +12:00
Scott Mansell
a3eb16c6e1
Merge pull request #2790 from phire/even_smarter_heuristic
...
Make the GameCube game widescreen heuristic smarter.
2015-08-01 15:59:06 +12:00
Scott Mansell
a1df1f5ae4
Widescreen Heuristic: Cleanup code.
2015-08-01 14:39:34 +12:00
Scott Mansell
615e5db0cb
Make the GameCube game widescreen heuristic smarter.
...
The last heuristic wasn't quite smart enough and had a few
false positives in Mario Kart: Double Dash and Metroid prime 2.
Now we only activate if the game is rendering a 16:9
projection to a 4:3 viewport.
2015-08-01 13:21:53 +12:00
Scott Mansell
fc4ba3adee
Merge pull request #2765 from mirrorbender/master
...
Aspect Ratio/VI Scaling FIx
2015-08-01 12:45:38 +12:00
Scott Mansell
567d0b20fa
Merge pull request #2769 from phire/autodetect_widescreen
...
Heuristic to detect if a gamecube game is rendering 16:9 widescreen.
2015-07-29 18:23:35 +12:00
Scott Mansell
bb60bcc42d
Heuristic to detect if a gamecube game is rendering 16:9 widescreen.
...
Someone suggested on IRC that we should make a database of memory
locations in GameCube games which contain the 'Widescreen' setting
so we can automatically detect if the game is in 4:3 or 16:9 mode.
But that's hardly optimal, when the game actually tells the gpu
what aspect ratio to render in. 10 min and 6 lines of code later,
this is the result. Not only does it detect the correct aspect ratio
it does so on the fly.
I'm a little suprised nobody thought about doing this before.
2015-07-27 10:40:41 +12:00
Scott Mansell
db42c7c3ba
Merge pull request #2772 from randomstuff/symbolicate-ppc
...
Tool to transform JIT_PPC_${address} to JIT_PPC_${symbol}
2015-07-26 19:21:10 +12:00
Scott Mansell
9ae8e38a8a
Merge pull request #2717 from phire/fix-reordering
...
PPCAnalyst: Don't swap instruction which might cause interrupts.
2015-07-22 05:16:51 +12:00
Scott Mansell
da38e3a8ae
Merge pull request #2741 from endrift/fix-freebsd-build-stable
...
Fix FreeBSD (stable)
2015-07-13 19:51:18 +12:00
Scott Mansell
dc25277a2f
Merge branch 'stable' into 'master'
2015-07-13 12:40:38 +12:00
Scott Mansell
87e19f1c19
Merge pull request #2705 from phire/fixrumble
...
evdev: Delete rumble effects on the correct file descriptor.
2015-07-13 12:05:54 +12:00
Scott Mansell
a31ebb9bcd
PPCAnalyst: Don't swap instruction which might cause interrupts.
...
fcmpo and fcmpu can be matched by the REORDER_CMP pass, as they set CR0
and they can cause interrupts if the fpu is disabled.
So we add an extra check to make sure op a is an integer op too.
2015-07-07 22:37:48 +12:00
Scott Mansell
4ffeb057cc
Interpreter: Fix bug with icache emulation.
...
The constructor sets up way_from_valid and way_from_plur as fast lookup
tables for implementing the PLRU algrothm. Then the Init function
memsets them to zero, meaning the instruction cache will now always
choose the first way in each set.
This degrades the cache from 128 sets, 8 way to 128 sets, 1 way.
Not only does fixing this bug increase accuracy, but it increases
preformance too, giving a 1% speedup to interpreter.
2015-07-07 22:20:36 +12:00
Scott Mansell
c54534ee3b
Merge pull request #2649 from phire/FileIO_Sanity
...
IPC_HLE: Don't open/close files for every single file operation.
2015-07-07 17:16:28 +12:00
Scott Mansell
6e969133f5
evdev: Delete rumble effects on the correct file descriptor.
...
Was using m_id insted of m_fd.
Also re-arrange the code so rumble effects always get deleted instead of
just on stop commands.
2015-07-07 16:59:10 +12:00
Scott Mansell
e14816351e
Merge pull request #2706 from phire/revert-PIE
...
Revert "Merge pull request #2358 from Tilka/pie"
2015-07-07 16:53:50 +12:00
Scott Mansell
0b0f70aad4
Revert "Merge pull request #2358 from Tilka/pie"
...
This reverts commit 0f7f8f8774 , reversing
changes made to 9f15054358 .
2015-07-06 09:05:25 +12:00
Scott Mansell
08fcc7bf84
IPC_HLE: Cleanup device definitions with templates.
...
Less copy/pasted code will make future modifications easier.
2015-07-05 02:05:39 +12:00
Scott Mansell
1d5cda9820
IPC_HLE: Reimplement fix for issues 2917/5232 with more sanity.
...
Instead of opening... and... closing... files... after... every...
file... operation... (which can be slow, especially if a virus scanner
is running), we catch attempts to open the same file twice and
only open one copy of the file.
2015-07-05 02:01:45 +12:00
Scott Mansell
1af8b62d9f
Merge pull request #2698 from Tilka/evdev
...
evdev: fix -Wunused-private-field warning
2015-07-05 01:14:42 +12:00
Scott Mansell
d2578000bb
Merge branch 'stable'
2015-07-04 23:43:36 +12:00
Scott Mansell
77183899e0
evdev: Support axis with ranges which extend below zero.
2015-07-01 10:13:05 +12:00
Scott Mansell
0dc8763247
Linux: Don't allow dolphin to be build without evdev support.
...
Unless explicitly requested.
2015-07-01 10:13:05 +12:00
Scott Mansell
ad714993aa
CMake: Explicitly pull in threads.
...
Dolphin uses threads, but never actually pulled them it. Normally
some library we depend on would pull threads in, but there are
potential builds that forget to pull in threads.
2015-07-01 10:13:05 +12:00
Scott Mansell
9065ddf5fa
Linux: Disable SDL controller backend by default.
...
Not deleted, because it's the only option for some other operating
systems such as FreeBSD or any other slightly exotic operating
system someone might try and run dolphin on.
2015-07-01 10:13:05 +12:00
Scott Mansell
2721fdf8a9
Linux: Add an evdev based controller backend, to replace SDL.
2015-07-01 10:13:05 +12:00
Scott Mansell
8b4734133e
IPC_HLE: Don't open/close file for every single file operation.
...
On the first boot of Pokemon Snap it copies a 144KB file to the Wii's
NAND, but it only copies 32 bytes per IPC write call.
This was causing dolphin to open and close the same file over 4000
times. This wouldn't usually be a huge issue, except some operating
systems (namely Windows) allow 3rd party programs (namely antivirus
software) to hook all accesses to the filesystem.
This causes the antivirus software to scan the same file for viruses
4000+ times, which is kind of slow.
This fix reduces the initial boot time of pokemon snap from 3+ min
to just a few seconds. Could also improve other games which write
things to NAND.
Will break a few things, see the next commit for an improved fix.
2015-06-24 19:23:10 +12:00
Scott Mansell
03124ec3f0
IPC_HLE: Simplify lifecycle of devices with shared pointers.
...
This also fixes a memory/filehandle leak when loading savestates.
2015-06-24 19:22:04 +12:00
Scott Mansell
7df6982973
Add a dirty flag for arraybases.
...
Only loop through and call getPointers when something has actually
changed.
Worth about 2-4% speedup un SMG over the previous commit.
2015-05-30 04:39:48 +12:00
Scott Mansell
f57517f1a0
Clean up cached_arraybases. Update VideoSW to new scheme.
...
Move ownership of cached_arraybases from CPMemory to VertexLoaderManager
to better match it usage.
2015-05-30 04:09:27 +12:00
Scott Mansell
6d916762fb
Fix invalid pointer errors in Burnout 2.
...
Yet another story of games loading weird shit into registers.
For some reason, Burnout 2 would (in rare situations) load invalid
addresses into cp_state.array_bases. What would the real hardware
do in this situation? Who knows, Burnout 2 doesn't actually enable
the vertex array with the invalid address so nothing kinky happens.
But dolphin tries to optimise things and starts using the address
as soon as it is loaded into memory. This causes GetPointer (which is
now much more vocal) to throw an error.
The Fix: We don't call GetPointer until we are sure the vertex array
has been enabled.
2015-05-29 18:51:17 +12:00
Scott Mansell
43dfec07c9
Cleanup DotProduct function to make it more readable.
2015-02-16 13:53:58 +13:00
Scott Mansell
7add7b685f
Remove unneeded spaces from code.
...
Line now matches the style of the rest of the function.
2015-02-16 12:59:45 +13:00
Scott Mansell
4cb01673a0
Remove now useless NumFields Function which always returned 1.
2015-02-10 00:48:06 +13:00
Scott Mansell
8f416821ad
Remove VBeam Speedhack.
2015-02-09 23:10:30 +13:00
Scott Mansell
61215e7180
Fix a buffer underrun in CalculateZSlope.
2015-01-25 20:31:20 +13:00
Scott Mansell
fe28d1476a
Make the IsMMIOAddress function easier to read, add tests.
...
This also makes IsMMIOAddress more restrictive.
2015-01-24 17:24:40 +13:00