LPFaint99
e6e50ee621
GCI Folder: try to leave 10% of the blocks free. only applies if the save is not for the current game
2014-09-04 20:59:38 -07:00
shuffle2
a9a6270982
Merge pull request #774 from magcius/texdecode-cleanup
...
Clean up the TextureDecoder and some related things
2014-09-04 19:37:49 -07:00
shuffle2
fb3a668767
Merge pull request #974 from lioncash/wiki-links
...
DolphinWX: Simplify wiki link construction
2014-09-04 19:35:28 -07:00
shuffle2
9c41b17b41
Merge pull request #945 from MikeRavenelle/inputConfig
...
Edit Auto iterate through configuration inputs with toggle
2014-09-04 19:34:01 -07:00
shuffle2
f09978ddeb
Merge pull request #896 from magcius/event-thread-bozo
...
Don't sleep in the event thread
2014-09-04 19:33:49 -07:00
Jasper St. Pierre
76b4dbdf28
TextureDecoder: Clean up the code style
...
For a long time, we've had ugly and inconsistent function names here as
helpers, names like "decodebytesRGB5A3rgba" which are absolutely
incomprehensible to understand. Fix this by introducing a new consistent
naming scheme, where the above function now becomes "DecodeBytes_RGB5A3".
2014-09-04 18:36:57 -07:00
Jasper St. Pierre
0b7bed4a52
TextureDecoder: Simplify how the reference texture decoder works
...
Instead of having three separate functions and checking the tlutfmt in a
variety of places, just do it once in a helper method. This is already
for the slow path either in our Generic decoder or in our Software
renderer, so it doesn't matter that this is slower.
x64 will continue using the separate functions for speed.
2014-09-04 18:36:57 -07:00
Jasper St. Pierre
ea1245d191
TextureDecoder: Pass the TLUT address straight into the texture decoder
...
This removes the requirement for the TextureDecoder to have access to
global texture memory.
2014-09-04 18:36:57 -07:00
Jasper St. Pierre
fcd4ecc942
TextureDecoder: Add an enum for the TLUT formats
...
Quick code cleanup. The enum names and values come from libogc.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre
32da01edec
TextureDecoder: Rearrange header slightly
...
Put the two Decode APIs together.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre
f975307016
TextureDecoder: Add some statics to some of our helper functions
...
I know these are already inline, but this makes it more clear that
they're helper functions to be used in this file only.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre
a8e591dc73
VideoCommon: Remove support for decoding to ARGB textures
...
The D3D / OGL backends only ever used RGBA textures, and the Software
backend uses its own custom code for sampling. The ARGB path seems to
just be dead code.
Since ARGB and RGBA formats are similar, I don't think this will make
the code more difficult to read or unable to be used as
reference. Somebody who wants to use this code to output ARGB can simply
modify the MakeRGBA function to put the shift at the other end.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre
9438a30384
VideoCommon: Start putting common texture decoding code in TextureDecoder_Common
...
This pulls all the duplicate code from TextureDecoder_Generic /
TextureDecoder_x64 out and puts it in a common file. Out custom font
used for debugging the texture cache is also pulled out and put in a
common "sfont.inc" file. At some point we should also combine this font
with the other six binary fonts we ship.
2014-09-04 18:36:53 -07:00
Lioncash
6369173981
DolphinWX: Simplify wiki link construction
2014-09-04 21:30:33 -04:00
skidau
73fc45db68
Merge pull request #967 from skidau/SyncGPU-SaveState
...
Added the EmuRunningState check to the GPU thread's FIFO loop
2014-09-05 11:24:46 +10:00
Jasper St. Pierre
bfb2c04ace
TextureDecoder: Remove unused function
...
GetPC_TexFormat was never used. It was added in commit d02426a
, with the
only user being commented out code. The commented out code was later
removed in 9893122
, but the implementation stayed.
2014-09-04 17:32:06 -07:00
Jasper St. Pierre
6682a2fadd
TextureDecoder: Fix a RGBA/BGRA copy/paste typo
...
We were decoding to BGRA32 textures in our RGBA32 texture decoder. Since
this is the same for the BGRA32 decoder implementation, this is most
likely a copy/paste typo, rather than the texture actually being
bit-swapped. Fix this.
I'm not sure of any games that use the C14X2 texture format, so I'm not
sure this fixes any games, but it does make the code cleaner for when we
clean it up in the future, and merge some of these similar loops.
2014-09-04 17:30:53 -07:00
Jasper St. Pierre
a5297f6da8
PixelEngine: Remove unused AllowIdleSkipping and all references to it
2014-09-04 17:25:59 -07:00
Jasper St. Pierre
5cb5a6ecd2
Don't sleep in the event thread
...
The person who wrote this seemed to misunderstand how XPending and
XNextEvent actually work. XNextEvent will wait in poll if there's
no event yet, meaning that we don't need to sleep after we process
all the events; the kernel will sleep for us.
This changes indentation, so view with -w or a similar feature to
understand what's actually changed here.
2014-09-04 17:24:51 -07:00
MikeRavenelle
411c060504
Checkbox for iteration
...
Added the option to handle whether the user wants to iterate through the
assignment of button mappings or assign them one at a time.
fixed formatting issues and code style.
I excluded this option from the config file. This stopped the check box value and the boolean from becoming offset. Since the option should always start as false.
This still causes an issue with the Wiimote input, since the class variable that keeps the state will be wiped, but the check box value will stay the same after closing/reopening without closing the entire Wiimote configuration. I am looking for a way to resolve this.
I also reduced wait time to 2.5 seconds vs. the 5 seconds previously. Seemed to be a little long.
These changes apparently did not go through.
This should fix the Wiimote issue.
2014-09-04 19:23:04 -05:00
MikeRavenelle
ffa6572116
Auto iterate through configuration inputs
...
Allows user to map all inputs seamlessly without having to
click on each button.
Also increased button timeout to 5 seconds from 1.5 due to pita.
Motion controls are not included since they will be special cases.
2014-09-04 19:05:52 -05:00
Sonicadvance1
e32b2e1771
Work around Intel's failings with with buffer_storage
2014-09-04 19:03:49 -05:00
TurboK234
b7ecaf6111
Added OSD comment if EFB Copies are disabled.
2014-09-05 01:42:40 +03:00
TurboK234
18e13aacf7
Remove "EFB Copies Disabled" option from hotkey toggling cycle.
2014-09-05 00:12:04 +03:00
Yuriy O'Donnell
d8d9bc8c6c
Render: Implemented simple render target pool
...
This avoids creating and destroying render targets every frame,
which is a significant CPU overhead.
Old render targets are destroyed after 3 frames.
2014-09-04 22:21:06 +02:00
Dolphin Bot
830a03c540
Merge pull request #957 from degasus/frame_skipping
...
VideoCommon: rewrite frame skipping code
2014-09-04 18:27:19 +02:00
shuffle2
af7881474e
Merge pull request #958 from degasus/xf_cleanup
...
VideoCommon: remove XFReg copy optimization
2014-09-04 09:22:19 -07:00
degasus
8b84ddce9a
VideoCommon: rewrite frame skipping code
2014-09-04 18:07:39 +02:00
degasus
ef6f6a7fa9
VideoCommon: remove XFReg copy optimization
...
This code is just ugly and I doubt there is a way that copying twice is faster.
2014-09-04 17:56:17 +02:00
shuffle2
127fc1bdc1
Merge pull request #965 from FioraAeterna/srawixzero
...
JIT: remove srawix fallback
2014-09-04 08:44:33 -07:00
shuffle2
b5e18993f9
Merge pull request #964 from RachelBryk/typo
...
Fix a typo introduced by 5adbc83
in ControllerEmu.cpp.
2014-09-04 08:42:22 -07:00
lioncash
9f48f02514
Core: Make the tables in ARDecrypt.cpp static
2014-09-04 09:29:34 -04:00
skidau
b2c743157d
Merge pull request #969 from lioncash/windows-stuff
...
Common: Remove unused header from Thread.cpp
2014-09-04 23:22:52 +10:00
lioncash
bd91e8b0c8
Common: Remove unused header from Thread.cpp
...
This define isn't even used in the Windows builds.
2014-09-04 09:15:18 -04:00
lioncash
4b329a0a75
Core: Fix variable prefixing of statics in Core.cpp
...
These aren't globals.
2014-09-04 08:26:15 -04:00
skidau
86db0bf8c3
Added the EmuRunningState check to the GPU thread's FIFO loop so that the GPU thread services any waiting save states. This is needed for games that have the Sync GPU option enabled.
2014-09-04 22:02:21 +10:00
Rachel Bryk
1cc153b4ed
Fix a typo introduced by 5adbc83
in ControllerEmu.cpp.
2014-09-04 05:00:53 -04:00
Rachel Bryk
345b608d64
Change IniFile::Section::Set() with default value to use a template.
2014-09-04 03:29:49 -04:00
Fiora
a63b9f6713
JIT: remove srawix fallback
...
As far as I can tell, this has literally been here since the start of the git
history; maybe it was stubbed out because the author wasn't sure it was right?
It matches the PPC/Broadway manuals perfectly, though.
2014-09-03 23:39:52 -07:00
LPFaint99
f6d89c5c98
GCI Folder: if there are too many files in the folder, try to leave free directory entries.
...
Rule: Load first 112 files, any remaining files in the folder are ignored unless they are the same gameid as the current game
2014-09-03 21:15:41 -07:00
shuffle2
46c18aa909
Merge pull request #836 from lioncash/initlist
...
Core: Initialize all JITIL RegInfo members in the initializer list.
2014-09-03 21:03:48 -07:00
shuffle2
329410074c
Merge pull request #962 from lioncash/casing
...
OGL: Fix constant casing in RasterFont.
2014-09-03 21:03:29 -07:00
Rohit Nirmal
732bb7beb1
Change NULL to nullptr.
2014-09-03 22:22:12 -05:00
Lioncash
956b0708b4
Core: Initialize all JITIL RegInfo members in the initializer list.
2014-09-03 23:06:05 -04:00
Lioncash
cf390ba537
OGL: Make rasters 2D array static in RasterFont
2014-09-03 22:59:13 -04:00
Lioncash
89557f6c2f
OGL: Fix constant casing in RasterFont
2014-09-03 22:59:05 -04:00
shuffle2
4fcb633df5
Merge pull request #961 from RachelBryk/logs
...
Read the config file before enabling logs.
2014-09-03 17:20:11 -07:00
Rachel Bryk
22d2c7d053
Read the config file before enabling logs.
2014-09-03 19:50:02 -04:00
shuffle2
1f6f01e2a0
Merge pull request #955 from skidau/geckocodes-mmio
...
Added code to patch the codehandler's MMIO address
2014-09-03 15:33:57 -07:00
shuffle2
05cd06539b
Merge pull request #960 from lioncash/preproc-stuff
...
Common: Make TITLEID_SYSMENU a static const variable in NandPaths.h
2014-09-03 15:22:32 -07:00
shuffle2
29ef22fd81
Merge pull request #871 from shuffle2/hide-menubar
...
Re-implement hiding of the menubar in fullscreen with render to main.
2014-09-03 15:21:33 -07:00
Dolphin Bot
7a18add39f
Merge pull request #959 from FioraAeterna/fixtimer
...
JIT: fix regression in timer patch
2014-09-04 00:20:28 +02:00
lioncash
a687cc556b
Common: Make TITLEID_SYSMENU a static const variable in NandPaths.h
2014-09-03 18:03:23 -04:00
skidau
0da22d687d
Added code to patch the codehandler's MMIO address to the currently running system. Added code to detect the location of where the code list should be. This allows any Gecko code handler to be used. Replace the codehandler.bin file with the code handler to be used (e.g. codehandleronly.bin).
2014-09-04 07:44:45 +10:00
Fiora
068b5c26f4
JIT: fix regression in timer patch
2014-09-03 14:36:38 -07:00
Fiora
1b50f9df14
JIT: implement fres
...
Mostly a straightforward translation of the interpreter code, with a few
tricksy optimizations and fallbacks for rare paths.
2014-09-03 12:15:30 -07:00
Fiora
c72a133206
JIT: implement frsqrte
...
Mostly a straightforward translation of the interpreter code, with a few
tricksy optimizations and fallbacks for rare paths.
2014-09-03 11:21:04 -07:00
Dolphin Bot
e1248599eb
Merge pull request #868 from FioraAeterna/bmi
...
x64Emitter: add BMI1/BMI2 support
2014-09-03 19:24:27 +02:00
lioncash
f69e6ef16f
Common: Remove unnecessary define check in Log2
2014-09-03 13:04:48 -04:00
Fiora
5088a2b4e2
x64Emitter: add BMI1/BMI2 support
...
TZCNT and LZCNT use a completely different encoding scheme, so they should
probably go in a separate patch.
Also add some tests.
2014-09-03 10:04:01 -07:00
skidau
08715167a8
Added code to patch the codehandler's MMIO address to the currently running system. Added code to detect the location of where the code list should be. This allows any Gecko code handler to be used. Replace the codehandler.bin file with the code handler to be used (e.g. codehandleronly.bin).
2014-09-04 00:48:52 +10:00
Shawn Hoffman
fd2343e431
Re-implement hiding of the menubar in fullscreen with render to main.
2014-09-03 03:02:13 -07:00
shuffle2
46c1a0f03b
Merge pull request #733 from lioncash/readability
...
DolphinWX: More readable variable names in BreakpointView
2014-09-03 01:28:17 -07:00
Shawn Hoffman
30dd2809a7
Prevent changing adapters during emulation and VideoConfigDiag cleanup
...
Author: https://github.com/Anti-Ultimate/dolphin
2014-09-03 00:35:23 -07:00
Dolphin Bot
6e2b873ec1
Merge pull request #781 from RachelBryk/ControlState
...
Change ControlState typedef to double, and change all related floats/dou...
2014-09-03 09:15:51 +02:00
shuffle2
db84a22109
Merge pull request #770 from lioncash/panic
...
Core: Fix case where a panic alert wouldn't be shown in MemoryUtil.cpp
2014-09-03 00:10:12 -07:00
Rachel Bryk
5adbc83453
Change ControlState typedef to double, and change all related floats/doubles to use it.
...
Fixes an off by 1 issue related to double->float->double conversion, and eliminates numerous warnings.
2014-09-03 03:08:09 -04:00
comex
64575d565a
Merge pull request #923 from FioraAeterna/fixcallersave
...
JIT: Fix caller-save registers on WIN64
2014-09-03 02:27:44 -04:00
Dolphin Bot
e2dfa603a0
Merge pull request #891 from RachelBryk/netplay-time
...
Allow system time to move forward during netplay.
2014-09-03 08:26:51 +02:00
comex
51a5311d6a
Merge pull request #949 from comex/eviction-policy
...
Evict registers from the cache based on LRU.
2014-09-03 02:22:45 -04:00
shuffle2
50879f5624
Merge pull request #905 from RachelBryk/status-bar-messages
...
Add OSD messages back to status bar.
2014-09-02 23:21:58 -07:00
shuffle2
de71db4864
Merge pull request #925 from shuffle2/xbcd-compat
...
Revert changes to how DInput filters out XInput devices.
2014-09-02 23:21:47 -07:00
shuffle2
532b7bb7da
Merge pull request #893 from rohitnirmal/scan-build-fixes
...
Scan build fixes
2014-09-02 23:15:18 -07:00
shuffle2
d20f5fb861
Merge pull request #946 from ChuckRozhon/fix_cast_bug
...
Fixed bug introduced in PR#803 caused by casting
2014-09-02 22:58:53 -07:00
shuffle2
5468b535c1
Merge pull request #941 from FioraAeterna/eaxemit
...
x64Emitter: add support for shorter EAX forms of instructions
2014-09-02 22:54:53 -07:00
Ryan Houdek
1ad1a9062a
Remove PowerPCState::DebugCount.
...
This value was "helpful" for debugging when the stack got corrupted.
Helpful that if gpr[1](Which is the stack pointer with PPC ABI) is zero then the interpreter would spam huge amounts of annoy text saying that we
managed to get in to a "corrupted" state.
This is incremented every instruction on the interpreter, or every block run on the JIT64....Only if debugging is enabled(JIT64 it is a const
variable)
The message is only outputted when interpreter is used and debugging is enabled.
2014-09-03 00:26:57 -05:00
comex
f5c7f676dc
Evict registers from the cache based on LRU.
...
The old method would always evict the first suitable register, i.e. the
same register every time once the cache got full. The cache doesn't get
terribly often, but the result is pathological...
2014-09-03 01:06:14 -04:00
Dolphin Bot
fa29b18e3e
Merge pull request #840 from FioraAeterna/jittimer
...
JIT: implement timer support in mtspr
2014-09-03 07:01:20 +02:00
Fiora
9e4419e786
x64Emitter: add support for shorter EAX forms of instructions
...
Should save a few bytes of code size here and there.
2014-09-02 21:52:41 -07:00
Fiora
6875d911f1
JIT: merge paired timebase reads where possible
...
Combined with the previous patch, ~1% faster overall on F-Zero GX.
2014-09-02 21:49:24 -07:00
Fiora
816d056657
JIT: implement timer support in mtspr
...
Faster, of course, since we avoid the interpreter, but also means we can
get more a more accurate timer in long blocks by adding the offset from the
start of the block to the retrieved timer. I don't know if this will actually
fix any issues, but it's more correct and a nearly-free improvement.
2014-09-02 21:47:45 -07:00
comex
b48e059173
Don't switch to a vertex array object of 0.
...
This causes glDrawArrays to fail in core profile, and thus on OS X, see:
http://renderingpipeline.com/2012/03/attribute-less-rendering/
There must be something bound, even though it is not used.
Fixes #7599 . I'm not sure this is actually the best way to fix it,
since AFAICT it makes a nonobvious assumption that *something* will be
bound before the first attributeless rendering in
TextureConverter::DecodeToTexture, but it's what degasus suggested and
seems to work.
2014-09-03 00:10:45 -04:00
comex
dd5be7c0dc
Merge pull request #924 from comex/fifo-command-runnable
...
Refactor opcode decoding a bit to kill FifoCommandRunnable.
2014-09-02 23:27:30 -04:00
Charles Rozhon
0e5fde52ac
Fixed bug introduced in PR#803 caused by casting
...
Also changed casts to C++ style casts to removed some of the ambiguity.
2014-09-02 21:50:43 -05:00
Ryan Houdek
1bc246735b
Add some static_asserts to the Arm32 JIT to make sure ppcState is sane.
2014-09-02 18:38:42 -05:00
Fiora
6655c7775e
JIT: Fix callee-save registers on WIN64
2014-09-02 10:56:14 -07:00
Lioncash
e10b0d1008
Merge pull request #930 from skidau/openal-seq-ms
...
Removed the auto setting of SEQUENCE_MS because the synchronised audio c...
2014-09-02 09:56:46 -04:00
Pierre Bourdon
ddb2aefedf
Merge pull request #904 from FioraAeterna/dcbz
...
JIT64: try enabling dcbz again
2014-09-02 15:41:40 +02:00
Pierre Bourdon
e72146d19c
x64Emitter: Do not assert-fail on redundant MOVs, instead show an error log
2014-09-02 10:17:32 +02:00
Pierre Bourdon
a79ced2fc2
x64Emitter: Make it clear for both SSE to int conv that X64 regs are expected
2014-09-02 09:55:47 +02:00
Pierre Bourdon
c428c5999f
x64Emitter: UNPCKLPS/HPS are now tested
2014-09-02 09:53:00 +02:00
Pierre Bourdon
cc0b048c0b
x64Emitter: Support FLD/FSTP with 80 bits operands
2014-09-02 09:52:59 +02:00
Pierre Bourdon
f99f302c91
x64Emitter: assert instead of crashing when generating MOVZX with a wrong size
2014-09-02 09:52:04 +02:00
Pierre Bourdon
b1738b60fc
x64Emitter: Fix MUL with AH/BH/CH/DH registers.
2014-09-02 09:52:04 +02:00
Pierre Bourdon
f0e8b1fda8
x64Emitter: Error out on 8 bits CMOV, and emit 16 bits CMOV properly
2014-09-02 09:52:04 +02:00
Pierre Bourdon
d4ec9737bd
x64Emitter: Assert when using an invalid POP instead of generating an INT3
2014-09-02 09:52:04 +02:00
Pierre Bourdon
9c4daac3a4
x64Emitter: RDTSC now without a typo'd name
2014-09-02 09:52:04 +02:00
Pierre Bourdon
88af225070
x64Emitter: Remove a declared function that is never implemented
2014-09-02 09:52:04 +02:00
shuffle2
cc6db8cf26
Merge pull request #939 from shuffle2/fix-memcard-flush2
...
move the decision to delay raw memcard flushes out of the thread.
2014-09-02 00:28:31 -07:00
Pierre Bourdon
5941653d47
Merge pull request #920 from shuffle2/msvc-gtest
...
Provide a way to build and run unittests on Windows
2014-09-02 07:40:49 +02:00
Shawn Hoffman
44a1a7cdbe
move the decision to delay raw memcard flushes out of the thread.
...
This allows the flush to work better with games which hammer
memcard accesses over short periods as it delays more of the work.
2014-09-01 22:38:31 -07:00
Pierre Bourdon
9b10d36a85
Merge pull request #938 from lioncash/statics
...
Common: Make the LUTs in ColorUtil static
2014-09-02 07:36:17 +02:00
Pierre Bourdon
15e19e98cb
Merge pull request #937 from lioncash/namespaces
...
Common: Remove unnecessary "using namespace Gen;" from x64emitter
2014-09-02 07:35:26 +02:00
Pierre Bourdon
8913c71dc1
Merge pull request #936 from lioncash/printf
...
DolphinWX: Change a wx Printf call to a Format call
2014-09-02 07:34:28 +02:00
Pierre Bourdon
7fb8572765
Merge pull request #935 from lioncash/snprintf
...
DolphinWX: Get rid of an snprintf call in ISOProperties
2014-09-02 07:33:56 +02:00
Lioncash
824a0a19f1
Common: Make the LUTs in ColorUtil static
2014-09-02 00:52:13 -04:00
Shawn Hoffman
839cace5ff
msvc: get UnitTests compiling
...
Choose it from VS or pass /p:RunUnitTests=true to msbuild
2014-09-01 21:27:45 -07:00
Shawn Hoffman
0625b5defb
windows: make failure to load hid.dll or bthprops.cpl not pop a msgbox, and not crash
2014-09-01 21:27:44 -07:00
Shawn Hoffman
266992684d
msvc: remove some remnants of SDL and DSound from projects and general cleanup.
2014-09-01 21:27:44 -07:00
skidau
d287a278cf
Merge pull request #880 from RachelBryk/log
...
Disable all logs by default.
2014-09-02 13:50:26 +10:00
Dolphin Bot
e5705a9273
Merge pull request #908 from FioraAeterna/fixenhancedbat
...
MMU: fix enhanced BAT support
2014-09-02 05:46:03 +02:00
Fiora
3aa40dab00
JIT64: optimize carry calculations
...
Omit carry calculations that get overwritten later in the block before they're
used. Very common in the case of srawix and friends.
2014-09-01 20:41:48 -07:00
Fiora
a40278b1c4
JIT64: support merged branching for rlwinmx, too
...
Not quite as common a branch instruction as cmpwi, but close.
2014-09-01 20:41:12 -07:00
Fiora
10d691a277
JIT64: optimize some special cases of srawix
...
Shift by 31 and 1, both of which are pretty common, can be done in a few less
instructions. Tested with a hwtest.
2014-09-01 20:41:12 -07:00
Fiora
805be80f12
JIT64: Optimize carry handling
...
Carries are rather common and unpredictable, so do them branchlessly wherever
we can.
2014-09-01 20:41:11 -07:00
Fiora
ee24d4714a
JIT64: tweak srwx/slwx BindToRegister arguments
...
Register B gets immediately moved into the shift register, so even if a == b
it doesn't need to be loaded.
2014-09-01 20:41:11 -07:00
Fiora
ad51fc7c4b
JIT64: use xor instead of mov for loading a zero regcache immediate
2014-09-01 20:41:10 -07:00
Fiora
27996a65cf
JIT64: use LEA for the "a = b + imm" case of addi
2014-09-01 20:41:10 -07:00
Fiora
cd0c52b537
JIT64: avoid using LEA for adds when not necessary
2014-09-01 20:41:10 -07:00
Fiora
355850f499
JIT64: optimize sign/zero-extend
...
Also remove some comments that no longer apply since x86_32 was dropped.
2014-09-01 20:41:09 -07:00
Fiora
61af91ff16
JIT64: Optimize cmpXX
...
Use TEST instead of CMP if we're comparing against 0 (rather common), and
optimize the case of immediate compares further.
2014-09-01 20:41:09 -07:00
Fiora
41c3dde737
JIT64: optimize rlwinmx/rlwinix and friends
...
Take advantage of movzx as a replacement for anding with 0xff or 0xffff, and
abuse loads from the register cache to save ops.
2014-09-01 20:41:08 -07:00
Fiora
58dc802ce2
JIT64: optimize multiplication by immediate constants
...
Factor out common code and handle a few more common cases.
2014-09-01 20:41:08 -07:00
Fiora
b51aa4fa89
Rename Log2 and add IsPow2 to MathUtils for future use
...
Also remove unused pow2/pow2f functions.
2014-09-01 20:41:07 -07:00
Lioncash
ec9fc6bfc1
Common: Remove unnecessary "using namespace Gen;" from x64emitter
2014-09-01 23:10:56 -04:00
Lioncash
e8a929ac1d
DolphinWX: Change a wx Printf call to a Format call
2014-09-01 22:02:38 -04:00
Lioncash
56122728c8
DolphinWX: Get rid of an snprintf call in ISOProperties
2014-09-01 21:55:38 -04:00
Lioncash
20c2e8e895
DolphinWX: Get rid of unnecessary getName function in LogWindow
2014-09-01 20:15:50 -04:00
Shawn Hoffman
3c0227445c
Revert changes to how DInput filters out XInput devices.
...
This is to remain compatible with XBCD devices.
2014-09-01 14:56:11 -07:00
Lioncash
1977ea42ae
DiscIO: Prefix class member variables with "m_"
2014-09-01 15:48:02 -04:00
comex
608f9bcd67
Refactor opcode decoding a bit to kill FifoCommandRunnable.
...
Separated out from my gpu-determinism branch by request. It's not a big
commit; I just like to write long commit messages.
The main reason to kill it is hopefully a slight performance improvement
from avoiding the double switch (especially in single core mode);
however, this also improves cycle calculation, as described below.
- FifoCommandRunnable is removed; in its stead, Decode returns the
number of cycles (which only matters for "sync" GPU mode), or 0 if there
was not enough data, and is also responsible for unknown opcode alerts.
Decode and DecodeSemiNop are almost identical, so the latter is replaced
with a skipped_frame parameter to Decode. Doesn't mean we can't improve
skipped_frame mode to do less work; if, at such a point, branching on it
has too much overhead (it certainly won't now), it can always be changed
to a template parameter.
- FifoCommandRunnable used a fixed, large cycle count for display lists,
regardless of the contents. Presumably the actual hardware's processing
time is mostly the processing time of whatever commands are in the list,
and with this change InterpretDisplayList can just return the list's
cycle count to be added to the total. (Since the calculation for this
is part of Decode, it didn't seem easy to split this change up.)
To facilitate this, Decode also gains an explicit 'end' parameter in
lieu of FifoCommandRunnable's call to GetVideoBufferEndPtr, which can
point to there or to the end of a display list (or elsewhere in
gpu-determinism, but that's another story). Also, as a small
optimization, InterpretDisplayList now calls OpcodeDecoder_Run rather
than having its own Decode loop, to allow Decode to be inlined (haven't
checked whether this actually happens though).
skipped_frame mode still does not traverse display lists and uses the
old fake value of 45 cycles. degasus has suggested that this hack is
not essential for performance and can be removed, but I want to separate
any potential performance impact of that from this commit.
2014-09-01 14:35:23 -04:00
Pierre Bourdon
5cc0bda3d5
Merge pull request #932 from lioncash/ptr
...
DolphinWX: Use normal instantiation of wxTimer in HotkeyDlg
2014-09-01 20:12:13 +02:00
Pierre Bourdon
d9950d8cab
Merge pull request #921 from lioncash/unique
...
DiscIO: Move some raw pointers over to unique_ptr
2014-09-01 20:11:18 +02:00
Lioncash
1ad3740770
DolphinWX: Use normal instantiation of wxTimer in HotkeyDlg
2014-09-01 13:44:16 -04:00
Lioncash
4bbf96ffd2
Merge pull request #922 from lioncash/export
...
DolphinWX: Fix exporting of Wii save files
2014-09-01 11:05:05 -04:00
Pierre Bourdon
24b5ce2ddc
Merge pull request #917 from lioncash/input
...
InputCommon: Rename class InputPlugin to InputConfig
2014-09-01 16:36:52 +02:00
Lioncash
27bd0ce70e
Merge pull request #929 from skidau/dsp-acc-loop
...
Take the size of the audio data into account when checking for the loop address
2014-09-01 10:07:43 -04:00
skid
91a6962565
Take the size of the audio data into account when checking for the loop address. Fixes the static audio in the FMV of Megaman X Collection, Pac Man World 2, off pitched instruments in Skies of Arcadia and audio desync in the Taiko no Tatsujin series.
...
Fixes:
issue 7154
issue 7222
issue 7280
issue 7457
2014-09-01 21:43:33 +10:00
skid
c2d7801ceb
Removed the auto setting of SEQUENCE_MS because the synchronised audio code has made it unnecessary.
2014-09-01 20:28:29 +10:00
Pierre Bourdon
494a60e41b
VertexLoader: Change VtxDesc to use u64 instead of u32
...
This is required to make packing consistent between compilers: with u32, MSVC
would not allocate a bitfield that spans two u32s (it would leave a "hole").
2014-09-01 11:18:02 +02:00
Lioncash
22c7664aaf
DolphinWX: Fix exporting of Wii save files
...
This would trip an out of bounds assert due the fact that the size is reserved, but the vector is not actually resized.
2014-08-31 15:23:25 -04:00
Lioncash
4cb46879bc
DiscIO: Move some raw pointers over to unique_ptr
2014-08-31 14:48:57 -04:00
Lioncash
f8e24de833
Merge pull request #907 from FioraAeterna/rollbacklmw
...
JIT: revert lmw optimizations
2014-08-31 13:51:24 -04:00
Lioncash
1a3ebbb831
InputCommon: Rename class InputPlugin to InputConfig
2014-08-31 00:59:06 -04:00
Pierre Bourdon
ea7eee1f58
Merge pull request #913 from lioncash/movie-func
...
Core: Break movie header validity checking into a function
2014-08-31 06:55:04 +02:00
Lioncash
f22597a4ee
Core: Break movie header validity checking into a function
2014-08-31 00:52:36 -04:00
Pierre Bourdon
ee880ea73c
Merge pull request #914 from lioncash/potential-uninitialized
...
Core: Fix potential uninitialized variable warnings in Wii_IPC_HLE_Devices_es.cpp
2014-08-31 06:46:45 +02:00
Lioncash
377a1c8f20
AudioCommon: Get rid of now unused handle param for InitSoundStream()
2014-08-30 23:36:00 -04:00
Ryan Houdek
1a6268e6cf
Merge pull request #899 from FioraAeterna/checkram
...
JIT: fix RAM check in load-from-constant-address
2014-08-30 20:49:33 -05:00
Lioncash
2f7df4a803
AudioCommon: Declare iterator variable in loop body in DPL2Decoder
2014-08-30 21:10:18 -04:00