Pierre Bourdon
48bd904028
Common::Event: Implement in terms of Common::Flag to get rid of a volatile and optimize with early returns and atomic swaps
2014-04-14 23:13:15 +02:00
Pierre Bourdon
e24cad0780
Common::Flag: Add support for TestAndSet + test by implementing basic spinlocks.
2014-04-14 23:13:15 +02:00
Pierre Bourdon
fc71494742
Merge pull request #270 from neobrain/bitfield_fixes
...
Bitfield fixes
2014-04-14 20:24:01 +02:00
Tony Wasserka
774a394808
UnitTests: Add a test for BitField behavior on odd structure alignment.
2014-04-14 20:13:23 +02:00
Tony Wasserka
ccc04944b2
BitField: Fix alignment issues.
...
At least one platform (ARM with NEON instructions enabled) generates SIGBUSes if BitField objects aren't aligned properly.
2014-04-14 20:04:44 +02:00
Pierre Bourdon
6bdcbad3e4
Common: Move the Event class to a separate file, and add tests for it. Fix includes everywhere to match this.
2014-04-14 10:54:07 +02:00
Pierre Bourdon
f9fb39d383
Common: Add a 'Flag' class that is used to encapsulate a boolean flag manipulated from several threads
2014-04-14 10:54:07 +02:00
degasus
ee76a51d1f
Truncate the path on logging
...
Cmake compiles we an absolute path, so the macro __FILE__ also has the absolute file in it.
It seems that gcc doesn't provide macros for the basename, so we have to truncate them in c directly:
https://stackoverflow.com/questions/8487986/file-macro-shows-full-path
2014-04-14 10:39:52 +02:00
Tillmann Karras
296637d6f2
Fix crash when pressing Tab
...
When pressing Tab for a long time, Dolphin will sooner or later crash
because the result of FindFocus() has become NULL (toctou).
2014-04-14 10:27:41 +02:00
Tony Wasserka
4f3227b4a9
Merge pull request #261 from magumagu/pixelshadergen-extra-paren
...
PixelShaderGen: delete extra parenthesis
2014-04-14 09:48:02 +02:00
magumagu
a2150ef1f8
PixelShaderGen: delete extra parenthesis.
...
Without this patch, we can generate a pixel shader which doesn't compile
in some cases.
2014-04-14 00:41:27 -07:00
Matthew Parlane
4e0b7260b6
Merge pull request #263 from Sonicadvance1/DetermineMaliVersion
...
Add Mali driver version check and support of checking for Mali-T7xx
2014-04-14 19:20:04 +12:00
Ryan Houdek
3f73fc37fc
[ARM] Implements more fastmem instructions in lXX.
...
There are a few instructions in lXX that aren't currently fastmem capable due to using a register offset.
This implements fastmem for those few instructions.
Really I'll be changing how ARMv7 fastmem works in the future so this is really temporary code.
Just don't know how long it'll stay.
This relies on PR #257
2014-04-14 00:38:46 -05:00
Ryan Houdek
a07f8fb65b
Merge pull request #257 from Sonicadvance1/LoadStore-Fix
...
[ARM] Minor cleanup to lXX and stX. Fixes a bug.
2014-04-14 00:38:13 -05:00
magumagu
1a4156a4a0
JitIL: fix carry computation for srawi.
...
The carry computation needs to be based on the input value, not the output
of the shift.
2014-04-13 20:31:32 -07:00
Pierre Bourdon
f034983b62
Merge pull request #262 from SlEePlEs5/master
...
Added BBA TAP backend for OS X.
2014-04-14 02:15:10 +02:00
Tony Wasserka
12841928df
BitField: Optimize generated assembly by forcing inlining.
2014-04-13 13:27:01 +02:00
magumagu
812ff4686b
OpenGL backend: remove useless header Globals.h.
...
The header has no content, so it can can just be deleted.
2014-04-12 19:25:37 -07:00
degasus
96ffbe345d
VideoSoftware: remove const memory usage of DebugUtil
2014-04-12 13:32:53 +02:00
SlEePlEs5
891fb056a3
Added BBA TAP backend for OS X.
...
TUN/TAP OS X needs to be installed, and /dev/tap0 chown’d to the user.
The tap0 network interface doesn’t appear until /dev/tap0 is opened by
the program, so all bridging must be done once the game is already
running.
Unfortunately, bridging seems to be broken on OS X, so this does not
actually work over LAN (yet!).
2014-04-12 09:51:34 +02:00
magumagu
f18a3cc650
OpenGL config: clear backend_info.Adapters on init
...
Fixes a minor UI glitch where if you switch from Direct3D to OpenGL, the
OpenGL config page would appear to have an adapter choice available.
2014-04-12 00:17:36 -07:00
Ryan Houdek
a9fa49f34d
Support checking for the Mali-T7xx line of GPUs.
...
They are similar enough that they will share bugs with their drivers, so make them fall under the same Mali-Txxx umbrella of bug issues.
If there is ever a need in the future for having separate bugs depending on family, we can support that then.
2014-04-11 23:46:44 -05:00
Ryan Houdek
ed67cc3fb2
Add the ability to determine the Mali driver version.
...
This is the only way we can determine the video driver version with mali.
Really it's a good thing that they only push driver updates once every two years, makes it easy to determine what driver anybody is running.
2014-04-11 23:38:40 -05:00
Tony Wasserka
b106dbc96e
Merge pull request #235 from magumagu/videobackend-unused-config
...
VideoBackend: Remove unused config variables.
2014-04-12 00:06:02 +02:00
magumagu
fd9c1fa746
VideoBackend: remove unused config vars.
...
No point to keeping around variables which are always "true".
2014-04-11 14:53:12 -07:00
Pierre Bourdon
745fe14269
Jit64: Use LoadAndSwap/SwapAndStore where it makes sense.
2014-04-11 23:33:21 +02:00
Pierre Bourdon
6cb42859d4
JitAsmCommon: Use MOVBE everywhere it matters (!x86 only code, !old CPU support code).
2014-04-11 23:33:21 +02:00
Pierre Bourdon
fcbe265adc
Jit_Util: Provide two util functions to load/store and swap values, using MOVBE internally when possible.
2014-04-11 23:33:21 +02:00
Pierre Bourdon
b2597739ff
x64Emitter: Add the MOVBE instruction.
2014-04-11 23:33:21 +02:00
Pierre Bourdon
d2de1ddabc
CPUDetect: add support for MOVBE detection
2014-04-11 23:29:03 +02:00
magumagu
76d7c1eb9c
D3DBackend: Don't recompute ID3D11Layout.
...
CreateInputLayout requires a shader as an input, but it only cares about
the signature; we don't need to recompute it for different shaders with
the same inputs.
2014-04-11 13:13:01 -07:00
Tony Wasserka
306b9afd1e
Merge pull request #224 from magumagu/swrender-deletepixelfork
...
Software backend: Delete forked PixelEngine.
2014-04-11 20:01:23 +02:00
Ryan Houdek
bedb386560
Merge pull request #242 from LPFaint99/GCMemcard
...
MemcardManager: Fix "export all saves"
2014-04-10 22:10:34 -05:00
Kristian Buchman
abd57f7198
Updated the Cmake and VCX project files
2014-04-10 12:10:55 -06:00
Kristian Buchman
45589e7735
Renamed all Core/DPS/Dsp* files to Core/DSP/DSP*
2014-04-10 12:10:55 -06:00
Pierre Bourdon
36a693e4fc
Merge pull request #252 from shuffle2/master
...
Assign "user_defined" value properly for downloaded Gecko codes.
2014-04-10 12:23:42 +02:00
Ryan Houdek
d17d5ead07
[ARM] Minor cleanup to lXX and stX. Fixes a bug.
...
Fixes an issue in lXX where if the instruction was an update instruction and was a register address offset that we would add garbage values to the
writeback register.
Does some minor cleanups as well which save a few instructions here and there.
2014-04-10 02:17:01 -05:00
Tony Wasserka
cdf6172348
Merge pull request #213 from Jezze/vertexloader-cleanups
...
Vertexloader cleanups
2014-04-10 08:52:36 +02:00
magumagu
4990b8910b
DSound: use DSound notifications to produce sound.
...
Pretty straightforward; IDirectSoundNotify lets you register for
notifications after a certain amount of sound has played, so use that
instead of depending on Update() notifications from the CPU thread.
Also, while I'm here, reduce the buffer size by a factor of 4; this seems
to reduce the latency, although the difference is sort of subtle.
2014-04-09 13:41:27 -07:00
Ryan Houdek
87d106d65c
Remove dumb CodeBlock duplication in the emitters.
...
Fixes issue 6990.
This uses a bit of templating to remove the duplicate code that is the CodeBlocks in each emitter headers.
No actual functionality change in this.
2014-04-09 13:53:43 -05:00
Shawn Hoffman
0c145dd1aa
Assign "user_defined" value properly for downloaded Gecko codes.
...
Fixes Issue 7156.
2014-04-08 14:52:17 -07:00
Ryan Houdek
ccc4866118
Fix Fastmem on ARM once more.
2014-04-06 10:28:58 -04:00
Ryan Houdek
93c871522f
Fix a bug in the ARMEmitter.
...
When creating a Fixupbranch we were swapping the BL and B targets.
I think this was found by PPSSPP a while ago, but they never send PRs to merge their changes upstream.
2014-04-06 10:28:41 -04:00
Rachel Bryk
d9d292fd1c
Add dsp rom hashes to movie header.
...
Also fix a random typo.
2014-04-06 09:36:45 -04:00
magumagu
d0f89b2b63
SWBackend: Fix code style.
2014-04-05 13:08:00 -07:00
magumagu
accd652aa1
Fix trailing whitespace.
2014-04-04 16:25:08 -07:00
Matthew Parlane
13119e6755
Merge pull request #240 from Sonicadvance1/GLSLES310_binding
...
Add initial support for GLSL ES 3.10.
2014-04-04 08:43:20 +13:00
Pierre Bourdon
c68be42c55
Merge pull request #226 from LPFaint99/Issue6753
...
Use a 251 block Memory card for games that do not work with larger cards. Fixes Issue 6753
2014-04-03 10:15:43 +02:00
LPFaint99
6333a4b5ba
fix exporting all saves in memcardmanager
2014-04-02 22:58:03 -07:00
Ryan Houdek
3251d78f89
Add initial support for GLSL ES 3.10.
...
GLSL ES 3.10 adds implicit support for the binding layout qualifier that we use.
Changes our GLSL version enums to bit values so we can check for both ES versions easily.
2014-04-03 00:46:09 -05:00
Ryan Houdek
ca9ee3586f
Merge pull request #227 from magumagu/swbackend-fix-shaders
...
SW backend: make shaders work on Intel/Windows.
2014-04-02 14:51:14 -05:00
Pierre Bourdon
2aac3f14b5
Merge pull request #238 from lioncash/fix-deprecations
...
Replace use of the deprecated mem_fun function with mem_fn.
2014-04-01 23:59:20 +02:00
pf packet
2aaca74dd5
Fix compilation error of Wayland_Util.h
...
This commit fixes the following error:
error: #endif without #if
2014-04-02 03:39:10 +09:00
lioncash
e79895e372
Replace use of the deprecated mem_fun function with mem_fn.
2014-04-01 12:09:22 -04:00
magumagu
f9d2f7e88c
D3D11: Use appropriate shader for PEEK_Z.
...
Trying to use GetDepthMatrixProgram outside of
TCacheEntry::FromRenderTarget is a bad idea, so don't. Instead, use a
shader which only copies the input.
Fixes lens flare depth test in Twilight Princess. See
http://code.google.com/p/dolphin-emu/issues/detail?id=5999 .
2014-03-30 19:50:53 -07:00
Pierre Bourdon
bad109402e
Merge pull request #233 from delroth/dsphle-cleanups
...
DSPHLE Zelda cleanups
2014-03-30 20:12:20 +02:00
Pierre Bourdon
76fafb1c7b
Merge pull request #220 from magumagu/audio-handling-cleanup-v2
...
Audio handling cleanup v2
2014-03-30 13:24:52 +02:00
Pierre Bourdon
9b03178673
Merge pull request #222 from comex/more-clang-fixes
...
More clang fixes
2014-03-30 13:24:08 +02:00
Pierre Bourdon
c7642e4712
DSPHLE: Rename variables in the Zelda UCode to match Dolphin's coding style
2014-03-30 13:06:45 +02:00
Pierre Bourdon
66fa0b626a
DSPHLE: Remove 'ZeldaObsolete.txt'
2014-03-30 12:51:21 +02:00
comex
92dd498fa7
Fix harmless warnings.
2014-03-30 01:40:11 -04:00
comex
b5654a2464
Don't cast -1 to enum to represent a missing value.
...
This is undefined behavior in C++, and a clang warning suggests it is
actually producing bad code as a result:
../Source/Core/VideoCommon/BPFunctions.cpp:164:45: warning: comparison of constant 4294967295 with expression of type 'PEControl::PixelFormat' is always false [-Wtautological-constant-out-of-range-compare]
if (new_format == old_format || old_format == (unsigned int)-1)
2014-03-30 01:40:06 -04:00
Pierre Bourdon
b31d1fd313
Merge pull request #232 from delroth/dsphle-cleanups
...
Random DSPHLE cleanups
2014-03-30 01:23:09 +01:00
Pierre Bourdon
c2ae791440
DSPHLE: Cleanup common style issues in Zelda.{cpp,h} (most of the file is not coding style compliant)
2014-03-30 01:13:33 +01:00
Pierre Bourdon
18ca5b880e
DSPHLE: Cleanup ROM.{cpp,h}
2014-03-30 01:13:33 +01:00
Pierre Bourdon
090e7637c8
DSPHLE: Cleanup INIT.{cpp,h}
2014-03-30 01:10:08 +01:00
Pierre Bourdon
41e9d8e1a4
DSPHLE: Cleanup GBA.{cpp,h}
2014-03-30 01:10:07 +01:00
Pierre Bourdon
061e3f998a
DSPHLE: Cleanup CARD.{cpp,h}
2014-03-30 01:10:07 +01:00
Pierre Bourdon
85ebffd839
DSPHLE: Cleanup AX{,Wii}.{cpp,h}
2014-03-30 01:10:07 +01:00
Pierre Bourdon
d3abe3824f
DSPHLE: Cleanup UCodes.{cpp,h}
2014-03-30 01:10:07 +01:00
Matthew Parlane
2e119af086
Merge pull request #230 from Parlane/libogc_ios_fix
...
Fixes Wiimotes for libogc.
2014-03-30 12:07:02 +13:00
Pierre Bourdon
17d64a1d50
DSPHLE: Mass rename classes to match our coding style better.
2014-03-30 00:01:15 +01:00
Pierre Bourdon
6bc845a804
DSPHLE: Rename files to remove redundant 'UCode' prefix.
2014-03-30 00:01:15 +01:00
Matthew Parlane
cb319ba1da
Fixes Wiimotes for libogc.
...
Caused by USB not writing back expected values.
Fixes Issue 7109
2014-03-30 11:04:30 +13:00
magumagu
bdcd5ba39b
SW backend: make shaders work on Intel/Windows.
...
Apparently the Intel shader compiler doesn't implement "#if" correctly...
so use "#ifdef" instead.
2014-03-29 13:10:43 -07:00
magumagu
0661efea84
Software backend: Delete forked PixelEngine.
...
Mostly just zapping a bunch of duplicated code; the only interesting thing
going on here is the changes to the performance counter implementation.
2014-03-29 12:07:20 -07:00
magumagu
3afa17f752
Move audio handling out of DSP emulation.
...
This is good for a couple of reasons: one, it gets rid of duplicated code,
and two, DSP emulation shouldn't need to interact with audio in the first
place.
2014-03-29 11:19:32 -07:00
magumagu
78499e5b7c
Delete AudioCommon::UseJIT().
2014-03-29 11:19:31 -07:00
magumagu
102ea55f20
Move mixer construction to AudioCommon.cpp.
2014-03-29 11:19:30 -07:00
magumagu
aac4206664
Move UDSPControl structure into DSP.h .
2014-03-29 11:19:19 -07:00
LPFaint99
c47f047ac6
Use memory card 251 for games that cannot use large memory cards
2014-03-29 10:14:24 -07:00
Lioncash
c351e12fe5
Fix assertion fails in FifoPlayerDlg.cpp.
2014-03-29 12:39:54 -04:00
Lioncash
366c83c4e0
Remove unnecessary wxT declarations in FifoPlayerDlg.
...
These are not needed anymore since wx 3.0. Also some minor formatting stuff.
2014-03-29 12:27:51 -04:00
Lioncash
73a3a6726d
Add the algorithm header to a few FifoPlayer cpp files.
...
Both of them use std::min and std::max, but this header wasn't included.
2014-03-29 10:42:28 -04:00
Pierre Bourdon
664c8d30a0
Remove all trailing whitespaces from our codebase.
2014-03-29 11:05:44 +01:00
comex
4d5df0d008
Fix IsTriviallyCopyable for volatile (fixes Mac build).
...
Between C++11 and C++14, volatile types stopped being trivially
copyable. The serializer has no reason to care about this distinction,
so tack on remove_volatile.
2014-03-27 23:42:52 -04:00
Lioncash
52c1db81ee
Fix include order in EGL.h.
2014-03-27 20:26:52 -04:00
magumagu
23174d25c6
Minor Ucode cleanup.
...
Clean out unnecessary references to the audio system from the ucode
implementation.
2014-03-27 14:16:16 -07:00
Pierre Bourdon
784c636db8
Merge pull request #214 from magumagu/zelda-ucode-cleanup
...
Zelda ucode cleanup
2014-03-27 09:57:03 +01:00
Jens Nyberg
73176d0333
VideoCommon/VertexLoader: Add more use of std::min and std::max
2014-03-27 00:33:41 +01:00
Jens Nyberg
478a27e052
VideoCommon/VertexLoader: Remove duplicate point min and max calculation
2014-03-27 00:24:48 +01:00
magumagu
8a3da44d91
Fix CMake build.
2014-03-26 15:59:23 -07:00
Jens Nyberg
0c62ae9c1a
VideoCommon/VertexLoader: Remove NRM enum
2014-03-26 23:56:57 +01:00
magumagu
f8b7a2fc10
Add audio output for Zelda Ucode variants.
...
Untested.
2014-03-26 15:17:37 -07:00
magumagu
e9896c1ff9
Use correct sample rate in Zelda Ucode HLE.
...
The Ucode's output should be independent of the sample rate Dolphin is using.
2014-03-26 15:12:00 -07:00
magumagu
3b62e8b798
Fix minor Zelda Ucode audio corruption.
...
Stupid mistake in my previous commit; the value of m_CurBuffer was
off-by-one.
2014-03-26 14:34:00 -07:00
magumagu
4fafa954a1
Zelda Ucode partly working without Premix hack.
...
The code is still completely wrong, and it only outputs some sound,
but the mess is confined to the Zelda Ucode implementation.
2014-03-26 14:06:32 -07:00
magumagu
8dad1be319
Fix sound buffer addresses in Zelda UCode HLE.
...
The code previously mixed up the addresses of the right and left buffer;
testing shows that the address of the left buffer comes first.
2014-03-26 14:06:30 -07:00
Pierre Bourdon
f6a343df79
Merge pull request #211 from magumagu/win32-jit-fixes
...
Win32 jit fixes
2014-03-26 20:18:04 +01:00
magumagu
ae9367a89b
Delete a bunch of old audio HLE cruft.
...
This commit intentionally breaks audio output from HLE Zelda UCode; no other functional change.
2014-03-26 11:17:19 -07:00
Pierre Bourdon
ea6b37cb75
Merge pull request #193 from neobrain/tev_combiner_fixes
...
PixelShaderGen: Cleanups and fixes for tev combiners.
2014-03-26 10:05:46 +01:00
Tony Wasserka
c6070b94ce
BPMemory: Fix an enum to use u32 as its underlying type.
2014-03-26 10:02:57 +01:00
magumagu
ca4e0495c0
Save registers before calls in x86-32 JIT.
...
I have no idea what the person who added RegistersInUse() was thinking,
but not correctly saving registers is an easy way to end up with crashes.
2014-03-25 20:50:14 -07:00
magumagu
4eab240e25
Compute stack usage correctly in ABI_CallFunctionPC.
...
(The numbers need to be consistent with the actual usage, or else the stack gets corrupted.)
2014-03-25 20:48:25 -07:00
magumagu
e4081b29f9
Use unaligned stores to save XMM regs to stack.
...
On Win32, the stack isn't aligned, so aligned stores will cause crashes.
2014-03-25 20:46:36 -07:00
Pierre Bourdon
5fc6ce59c3
Merge pull request #210 from magumagu/writerex-fix
...
Fix OpArg::WriteRex with 8-bit memory operand.
2014-03-26 02:34:44 +01:00
Tony Wasserka
1dead05cae
Software renderer: Properly calculate tev combiner output.
...
As pointed out by dolphin-emu/hwtests@461476112 .
2014-03-26 00:23:58 +01:00
Tony Wasserka
a8c8db8da7
Software renderer: Use color combiner configuration for alpha combiner compare mode inputs.
...
As pointed out by dolphin-emu/hwtests@f684f2498 .
2014-03-26 00:23:58 +01:00
Tony Wasserka
eb0f547a17
PixelShaderGen: Cleanups.
2014-03-26 00:23:36 +01:00
Tony Wasserka
4f82d6f7af
PixelShaderGen: Implement tev combiner lerping in a faster way which also reproduces hardware behavior perfectly.
...
The new behavior has been verified to be correct by hardware tests. This is an improvement over the old code, which was just a guess.
2014-03-26 00:17:04 +01:00
Tony Wasserka
fdad95c055
PixelShaderGen: Cleanups and fixes for tev combiners.
...
Fixes issue 4674.
2014-03-26 00:17:03 +01:00
Tony Wasserka
16105db709
BPMemory: Make use of BitField in a number of structures.
2014-03-25 23:57:58 +01:00
Tony Wasserka
8941f19cdb
BPMemory: Expose the pixel_format and zformat fields in PE_CONTROL as enumerations.
2014-03-25 23:57:58 +01:00
Tony Wasserka
77a7bab5ae
BPMemory: Use the new BitField class in two selected structures.
2014-03-25 23:57:57 +01:00
Tony Wasserka
948c0a54f1
UnitTests: Add tests for BitField.
2014-03-25 23:57:54 +01:00
Tony Wasserka
48a1790d81
Common: Add a generic class for accessing bitfields in a fast and endianness-independent way.
...
The underlying storage type of a bitfield can be any intrinsic integer type,
but also any enumeration.
Custom storage types are supported if the following things are defined on the storage type:
- casting 0 to the storage type
- bit shift operators (in both directions)
- bitwise & operator
- bitwise ~ operator
- std::make_unsigned specialization
2014-03-25 23:33:04 +01:00
magumagu
03292eabc2
Fix OpArg::WriteRex with 8-bit memory operand.
...
Previously he function was misbehaving because of a missing check for
whether an 8-bit operand was a register operand; it would therefore
emit unnecessary REX prefixes, incorrectly assert on 32-bit targets, and
could potentially emit wrong code in rare cases (like a memory to register
operation involving AH.)
Also, some cleanup while I was in the area to make the function easier to
read.
2014-03-25 14:09:15 -07:00
Matthew Parlane
6351f28ab4
Merge pull request #200 from lioncash/unused-param
...
Remove an unused parameter from UpdateDebugger_MapLoaded.
2014-03-25 09:20:23 +13:00
Pierre Bourdon
c929c3ebc1
Merge pull request #202 from Tilka/mathutil
...
MathUtil: add IntFloat/IntDouble constructors and test FlushToZero()
2014-03-24 21:20:09 +01:00
Tillmann Karras
e0baed850f
MathUtilTest: add test for FlushToZero
2014-03-24 16:14:22 +01:00
Tillmann Karras
af525266d4
MathUtil: add constructors to IntFloat/IntDouble
2014-03-24 16:14:22 +01:00
Tony Wasserka
4aba433296
Merge pull request #201 from Sonicadvance1/Revert-PR179
...
Revert "Remove an unnecessary wx translation underscore macro from PHackSettings."
2014-03-24 09:50:38 +01:00
Ryan Houdek
5310d6d2ea
Fix a crash that got recently introduced.
...
When CFileSystemGCWii::GetFileName can't find a valid filename it would return nullptr.
nullptr as a std::string throws an assert within the std lib.
So return an empty string and check if it is empty or not
2014-03-23 22:29:30 -05:00
Ryan Houdek
479695d068
Revert "Remove an unnecessary wx translation underscore macro from PHackSettings."
...
This reverts commit 110f603cb6
.
2014-03-23 20:28:19 -05:00
Lioncash
59eb59dd98
Remove an unused parameter from UpdateDebugger_MapLoaded.
2014-03-23 17:19:12 -04:00
Ryan Houdek
9849129b5d
Merge pull request #199 from lioncash/defined-densities
...
Provide clearly defined densities of the controller icons.
2014-03-23 00:35:40 -05:00
Ryan Houdek
a3e18cd498
Merge pull request #171 from lioncash/rarc-cleanup
...
File tree building cleanup
2014-03-23 00:34:26 -05:00
Matthew Parlane
b8f469dedd
Merge pull request #195 from Sonicadvance1/RuntimeExtendedInfo
...
Allow the user to enable the extended information string like the old days.
2014-03-23 18:32:37 +13:00
Matthew Parlane
36eb806e4a
Merge pull request #192 from lioncash/final
...
Mark the PPCDebugInterface and DSPDebugInterface as final.
2014-03-23 18:32:11 +13:00
Ryan Houdek
c7335dc48f
Merge pull request #198 from Sonicadvance1/Android-onscreenconfigure
...
Make configuring the onscreen controls less annoying.
2014-03-23 00:29:58 -05:00
Ryan Houdek
4c1cb65e1e
Merge pull request #179 from lioncash/phack-cleanup
...
Remove an unnecessary wx translation underscore macro from PHackSettings.
2014-03-23 00:29:52 -05:00
Ryan Houdek
5dabe598a4
Merge pull request #180 from lioncash/log-window-cleanup
...
Small log queue clearing simplification.
2014-03-23 00:29:08 -05:00
Lioncash
a35e1d42d9
Provide clearly defined densities of the controller icons.
2014-03-23 01:23:39 -04:00
Ryan Houdek
b76351e2d3
Make configuring the onscreen controls less annoying.
...
Now instead of the top left corner of the button snapping to your finger.
Remember where we clicked on the button initially so it moves from the same location you touched.
This is more intuitive than before of course.
2014-03-22 23:32:46 -05:00
Ryan Houdek
7549ee232c
Allow the user to enable the extended information string like the old days.
...
This string shows emulated CPU speed, including true mhz + idle skipping mhz
2014-03-22 23:32:07 -05:00
Lioncash
13c780d6a7
Fix two untranslated Japanese strings.
2014-03-22 22:42:29 -04:00
Lioncash
7922428dd7
Fix a call to a parent class method in InputOverlay.
...
Should have been a call to draw, not onDraw. Behavior-wise, it's still the
same however.
2014-03-22 22:41:42 -04:00
Ryan Houdek
d85b8afe58
Pass our signing information to gradle by argument.
...
Changes from using environment variables that the world can see to arguments.
So we don't have to expose our keys and aliases to people
2014-03-22 07:33:18 -05:00
Ryan Houdek
89efec6109
Merge pull request #167 from neobrain/ogl-efbpokes
...
Implement EFB pokes in the OpenGL backend.
2014-03-20 15:25:56 -05:00
Lioncash
9ed562d7de
Mark the PPCDebugInterface and DSPDebugInterface as final.
2014-03-18 20:42:08 -04:00
Jens Nyberg
ae260e55e4
OGL/VertexManager: Do not check if g_nativeVertexFmt is zero
...
The variable is already dereferenced both before and after this
check which means that if this variable would ever be zero it would
have crashed dolphin already.
2014-03-18 21:33:30 +01:00
Jens Nyberg
80421156b6
OGL/VertexManager: Minor cleanup of if case
2014-03-18 21:33:30 +01:00
Pierre Bourdon
c11aadee41
Merge pull request #182 from RachelBryk/extract-gc-dol
...
Add extract dol/apploader options back for gc disks.
2014-03-18 20:41:35 +01:00
lioncash
aecc8ea666
Remove usesMixer function from the sound streams.
...
This isn't used anywhere in the codebase. Not even the base SoundStream has it as part of its interface.
2014-03-18 10:42:07 -04:00
lioncash
5e5ab61d0c
Mark the audio streams as final.
...
These aren't intended to be continually extended.
2014-03-18 10:37:45 -04:00
Jens Nyberg
4a68550d01
Remove superfluous bit shift
2014-03-18 04:07:45 +01:00
Ryan Houdek
484fb46390
Clang 3.4 exposes some warnings on Android.
...
Fixes all warnings on Android build except for what is in externals.
Removes a function from TextureDecoder_Generic since it is unused and generates a warning.
2014-03-17 18:17:12 -05:00
Ryan Houdek
3586ab1d4c
Fix the Android build when using clang 3.4
2014-03-17 17:56:22 -05:00
Ryan Houdek
adaf095229
Fix building the release APK with gradle.
...
In release build all warnings are errors, and lint has some obnoxious warnings.
2014-03-17 16:28:31 -05:00
Rachel Bryk
57f3e1c907
Add extract dol/apploader options back for gc disks.
...
It was removed from the menu for the disk item in 868c6278
, but we want to keep it there for gc games, since they don't have separate partitions.
2014-03-17 03:10:17 -04:00
Matthew Parlane
6445e02d53
Merge pull request #159 from Tilka/misc
...
Cleanup stuff
2014-03-17 17:43:20 +13:00
Tillmann Karras
46becfc06b
Tests: fix signed/unsigned comparison warning
2014-03-17 02:55:58 +01:00
Tillmann Karras
fa3cc05753
Turn some non-const refs into pointers
2014-03-17 02:55:57 +01:00
Tillmann Karras
7e39cf3b0d
.gitignore: fix the build directory pattern
2014-03-17 02:55:56 +01:00
Tillmann Karras
2fcaca0603
More range-based loops and overrides
2014-03-17 02:55:55 +01:00
Tillmann Karras
3fc9ca0789
UCodes: nits
2014-03-17 02:55:54 +01:00
Tillmann Karras
3c46c0ede9
Interpreter: make some class members private
2014-03-17 02:55:54 +01:00
Lioncash
692deb24ba
Remove unused function PanicAlertToVideo from Core.cpp.
2014-03-16 21:07:34 -04:00
Lioncash
5edce0eeb6
Simplify log queue clearing.
...
Simply just keep popping the queue until it's empty. No point in using a for loop for this.
Combined some if statements too.
2014-03-16 20:58:13 -04:00
Pierre Bourdon
4a906fdf7b
Merge pull request #170 from RachelBryk/save-skip-bios
...
Save bHLE_BS2 to config cache before it can be changed while booting.
2014-03-17 01:06:46 +01:00
Rachel Bryk
89dbec437f
Save bHLE_BS2 to config cache before it can be changed while booting.
...
This variable can be changed in SConfig::AutoSetup, so we need to save it before that is called.
2014-03-16 20:05:09 -04:00
Lioncash
110f603cb6
Remove an unnecessary wx translation underscore macro from PHackSettings.
...
Also removed an unnecessary string -> wx string conversion.
2014-03-16 19:05:57 -04:00
Lioncash
291c95b780
Cleanup a little bit of the PHackSettings.
2014-03-16 18:42:56 -04:00
Tillmann Karras
a9a15690a2
UCode_AX: don't always call NotifyAXThread()
...
StartWorking() already does this if needed
2014-03-16 22:05:59 +01:00
Lioncash
a9adaa5601
Prevent VideoConfig inheritance.
2014-03-16 17:00:29 -04:00
Lioncash
bd1ce18f90
Simplify file tree building for the filesystem view.
...
Technically this also simplifies on disc filename building in general.
2014-03-16 16:54:00 -04:00
Pierre Bourdon
927a97c2a5
Merge pull request #166 from Sonicadvance1/Android-config
...
Fix the Android build's configuration setting/getting
2014-03-15 18:11:20 +01:00
Ryan Houdek
7b86716c65
Due to the removal of our char* IniFile setters/getters this broke Android build which relied on that.
...
Convert our C-strings to std::strings before using
2014-03-15 12:09:49 -05:00
Linktothepast
82f772fdcc
Remove the extra parameters field from the PH.
...
Metroid: Other M was the only game which required this field, but the
issue in that game can be fixed properly by enabling format change
emulation. Hence, there's no point in having this around anymore.
Fixes issue 6644.
2014-03-15 15:04:39 +02:00
Lioncash
f325fc9634
Clean up FileHandlerARC.cpp/.h
...
- Removed parentheses from the returns.
- Put the function declaration headers back on a single line.
- Make FindFileInfo's parameter a const string reference.
2014-03-15 02:14:49 -04:00
Rachel Bryk
aa3ca6d8ea
Fix extracting dols.
...
There is no "/" after partition number when extracting a dol. Also the .remove is completely unneeded.
2014-03-14 21:20:20 -04:00
Lioncash
3b27a2d22e
Make WiiSocket function names conform to the coding style.
2014-03-14 20:11:52 -04:00
Pierre Bourdon
8d679e76d2
Merge pull request #164 from lioncash/cstr-cull
...
Kill off some usages of c_str.
2014-03-15 00:57:56 +01:00
Matthew Parlane
12c2e345a3
Merge pull request #168 from RachelBryk/extract-files
...
Fix extracting files on partition > 0.
2014-03-15 12:57:46 +13:00
Matthew Parlane
76e3a74c5c
Merge pull request #165 from delroth/mi-mmio-fix
...
MemoryInterface: properly register region MMIOs.
2014-03-15 12:57:01 +13:00
Rachel Bryk
f6dfc1f653
Fix extracting files on partition > 0.
2014-03-14 19:09:36 -04:00
Tony Wasserka
d946e4e238
OpenGL: Implement color and z pokes.
2014-03-14 23:39:52 +01:00
Tony Wasserka
0f81cbd6be
PixelShaderGen: More code alignment fixes.
2014-03-14 22:33:26 +01:00
Tony Wasserka
c1016205d3
Pixel/LightingShaderGen: Fix code alignment issues.
...
Most of these weren't even introduced by me, but hey - I'm nice and love wasting my time :p
2014-03-14 22:33:26 +01:00
Tony Wasserka
2067f88e0f
PixelShaderGen: Don't make local lookup tables "static".
2014-03-14 22:33:26 +01:00
Tony Wasserka
0ce92e0162
PixelShaderGen: Remove the "i" prefix for integer variables.
...
The prefix was just required in the development stage to reduce the risk of regressions.
2014-03-14 22:33:26 +01:00
Tony Wasserka
bdd629c598
PixelShaderGen: Use spaces for alignment where appropriate.
2014-03-14 22:33:26 +01:00
Tony Wasserka
6e65e02c9e
ConstantManager: Do not use single-element arrays.
2014-03-14 22:33:25 +01:00
Tony Wasserka
6c2971eaf6
PixelShaderGen: Write 16777215 in hex (0xFFFFFF) so that it's easier to understand.
2014-03-14 22:33:25 +01:00
Tony Wasserka
8ebb65ebf2
PixelShaderGen: Prettify generated shader source.
2014-03-14 22:33:24 +01:00
Tony Wasserka
e2e1c5c905
PixelShaderGen: Add a note about a random idea which should be checked with hardware tests.
2014-03-14 22:33:12 +01:00
Tony Wasserka
6fcbda6752
PixelShaderGen: Cleanup and clarify bump alpha combiner inputs.
2014-03-14 22:33:12 +01:00
Tony Wasserka
9a96a1d525
PixelShaderGen: Remove old, mostly useless comments.
...
A few vague lines of comments cannot replace an afternoon reading of how TEV works.
2014-03-14 22:33:12 +01:00
Tony Wasserka
8b8bb04fd3
PixelShaderGen: Use bit shifts instead of multiplications as a small optimization.
2014-03-14 22:33:12 +01:00
Tony Wasserka
036a8c6951
PixelShaderGen: Clean up tev compare functionality.
2014-03-14 22:33:10 +01:00
Tony Wasserka
fa7173d099
PixelShaderGen: Store tex scale as an integer.
2014-03-14 22:32:30 +01:00
Tony Wasserka
16109fb453
PixelShaderGen: Treat UV coordinates as actual integers.
2014-03-14 22:32:29 +01:00
Tony Wasserka
50526ae50a
PixelShaderGen: Remove some dead code.
2014-03-14 22:32:18 +01:00
Tony Wasserka
065919f599
PixelShaderGen: Perform some of the fog calculations with integers.
2014-03-14 22:31:32 +01:00
Tony Wasserka
605b687af8
PixelShaderGen: Use integer math for z textures.
2014-03-14 22:31:31 +01:00
Tony Wasserka
3a6389992e
PixelShaderGen: Treat UV coordinates like S17.7 integers (they're still stored as float, though).
2014-03-14 22:31:30 +01:00
Tony Wasserka
3e6efdb53e
LightingShaderGen: Perform more lighting calculations with integers.
2014-03-14 22:31:19 +01:00
Tony Wasserka
387b9bf3c2
LightingShaderGen: Perform some lighting calculations with integers.
2014-03-14 22:31:19 +01:00
Tony Wasserka
78623871f9
ShaderGen: Store material uniforms as integers.
2014-03-14 22:31:19 +01:00
Tony Wasserka
4bf57565e8
ShaderGen: Store light color uniforms as integers.
2014-03-14 22:31:18 +01:00
Tony Wasserka
68e91f0d55
PixelShader: Store fog color as an integer.
2014-03-14 22:31:18 +01:00
Tony Wasserka
0238a56816
PixelShaderGen: Change indirect texture matrix uniforms to use integers.
2014-03-14 22:31:18 +01:00
Tony Wasserka
c13a5c38e9
PixelShaderGen: Change the "alpha" uniform to use integers.
2014-03-14 22:31:18 +01:00
Tony Wasserka
ec60acac3a
PixelShaderGen: Change the "colors" and "kcolors" uniforms to be integers.
2014-03-14 22:31:18 +01:00
Tony Wasserka
df94e62350
PixelShaderGen: Process fog calculations with integer math.
2014-03-14 22:31:18 +01:00
Tony Wasserka
21eb482a6e
PixelShaderGen: Write constants in decimal instead of hexadecimal where appropriate.
2014-03-14 22:31:11 +01:00
Tony Wasserka
cff952c397
PixelShaderGen: Use integer math for indirect tev stage texcoord calculation.
2014-03-14 22:30:27 +01:00
Tony Wasserka
e7a42d884f
PixelShaderGen: prev should be initialized to the proper value; tev output needs to be clamped between -1024 and 1023.
2014-03-14 22:30:16 +01:00
Tony Wasserka
cb1514e082
PixelShaderGen: Remove superfluous registerstate stuff. Also, made alphabump an integer.
2014-03-14 22:30:15 +01:00
Tony Wasserka
a11ae69cb0
PixelShaderGen: Use integer math for TEV combiners.
2014-03-14 22:28:32 +01:00
Tony Wasserka
aaa8e74a68
PixelShaderGen: Use integer math for tev outputs.
2014-03-14 22:28:14 +01:00
Tony Wasserka
654442feb7
PixelShaderGen: Use integer math for tev konst value.
2014-03-14 22:28:12 +01:00
Tony Wasserka
e69ee6ae0a
PixelShaderGen: Remove remaining floating point bits for texture color.
2014-03-14 22:26:50 +01:00
Tony Wasserka
ac1c77c392
PixelShaderGen: Use integer math for rasterizer color.
2014-03-14 22:26:50 +01:00
Tony Wasserka
3ea97f7730
PixelShaderGen: Use integer math for indirect texture coords.
2014-03-14 22:26:50 +01:00
Tony Wasserka
0e711bf520
PixelShaderGen: Use integer math for sampling textures.
2014-03-14 22:26:50 +01:00
Tony Wasserka
1b3b12caa0
PixelShaderGen: Fix an issue where small negative z coordinates would underflow when they shouldn't.
2014-03-14 22:26:50 +01:00
Tony Wasserka
fa77e1d2b6
PixelShaderGen: Use integer math for alpha testing.
2014-03-14 22:26:48 +01:00
Ryan Houdek
22c989de9a
Provide our own dot functions in GLSL since GLSL doesn't provide integer versions of this function, even though AMD and Nvidia provide their own.
2014-03-14 22:26:27 +01:00
Tony Wasserka
bed442198f
PixelShaderGen: Make SampleTexture static inline.
2014-03-14 22:26:26 +01:00
Tony Wasserka
2af50f04c2
OGL: Force highp for integers.
2014-03-14 22:26:26 +01:00
Tony Wasserka
032c920247
OGL: Remove some dead code.
2014-03-14 22:26:26 +01:00
Pierre Bourdon
974123000d
MemoryInterface: properly register region MMIOs.
2014-03-14 21:52:45 +01:00
Lioncash
a82675b7d5
Kill off some usages of c_str.
...
Also changes some function params, but this is ok.
Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-14 13:51:23 -04:00
Pierre Bourdon
450bde27bb
Merge pull request #162 from lioncash/tas-dlg
...
Simplify boolean toggling in the TASInputDlg.
2014-03-13 02:09:32 +01:00
Lioncash
0edda2bd7f
Fix a typo in DSPSymbols. (DisasssembleRange -> DisassembleRange)
...
Also remove IsHexDigit and IsAlpha and replace them with their cctype equivalents.
2014-03-12 20:51:06 -04:00
Lioncash
dccc6d8b47
Simplify boolean toggling in the TASInputDlg.
...
Also fixed the indentation for some code in a switch statement.
2014-03-12 10:12:29 -04:00
Matthew Parlane
31cfc73a09
Fixes spacing for "for", "while", "switch" and "if"
...
Also moved && and || to ends of lines instead of start.
Fixed misc vertical alignments and some { needed newlining.
2014-03-11 00:35:07 +13:00
Lioncash
932e3c1db2
[Android] Tidy up the dialog buttons that don't do anything.
...
All we want to do with these is dismiss the dialog. The same can be done by simply passing null.
2014-03-09 23:02:08 -04:00
Pierre Bourdon
8863eb0671
Merge pull request #145 from lioncash/split-about-activity
...
[Android] Split the AboutFragmentItem and InfoFragmentAdapter into their own class files.
2014-03-10 02:20:25 +01:00
Matthew Parlane
e05eca71ea
Merge pull request #149 from lioncash/filemonitor-song-types
...
Add more sound file extensions to FileMonitor's IsSoundFile.
2014-03-10 13:45:23 +13:00
Tillmann Karras
d802d39281
clang-modernize -use-nullptr
...
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
Tillmann Karras
f28116b7da
clang-modernize -add-override
2014-03-09 21:12:01 +01:00
Tillmann Karras
c89f04a7c5
clang-modernize -loop-convert
...
and some manual adjustments
2014-03-09 21:11:59 +01:00
Pierre Bourdon
f401263867
Merge pull request #152 from Tilka/float_stuff
...
Fix IsQNAN() and reduce code duplication
2014-03-09 21:06:19 +01:00
Pierre Bourdon
2632db8075
Merge pull request #153 from lioncash/dsptool-string
...
Fix DSPTool string output for disassembly.
2014-03-09 20:04:18 +01:00
Lioncash
76b2dde3d7
Fix DSPTool string output for disassembly.
...
Would previously print that assembly had succeeded.
2014-03-09 15:01:56 -04:00
Tillmann Karras
16885d0f74
Interpreter: less duplicate code in float compares
2014-03-09 19:35:13 +01:00
Tillmann Karras
9ef64245fa
MathUtil: fix IsQNAN()
...
The constants were one nibble too short and the lower 51 bits don't
actually have to be zero.
2014-03-09 19:34:58 +01:00
Lioncash
e9d1796c24
Rename assemble.cpp/.h and disassemble.cpp./.h to DSPAssembler.cpp/.h and DSPDisassembler.cpp/.h
2014-03-09 13:25:50 -04:00
Lioncash
440efaa5f5
Fix DSPTool.
...
Forgot to adjust the stubs.
2014-03-09 13:00:51 -04:00
Lioncash
b027c4d64e
Add more sound file extensions to FileMonitor's IsSoundFile.
2014-03-09 12:46:01 -04:00
Lioncash
db0596e088
Add a namespace to DSPHost.
...
Gets rid of the "DSPHost_" prefix in function names.
2014-03-09 12:30:13 -04:00
Tillmann Karras
d05e205a24
FPURoundMode: revert use of enums in bit-fields
...
The workaround of using fixed underlying types produces lots of warnings
in GCC because now the bit-fields are too small for the value range used
for conversion semantics.
2014-03-09 15:24:35 +01:00
Tillmann Karras
161b67076a
Update android.toolchain.cmake
...
from https://raw.github.com/taka-no-me/android-cmake/master/android.toolchain.cmake
2014-03-09 15:24:33 +01:00
Tillmann Karras
aa7a2fc4bf
Jit64::twx(): add assert message
...
The implemented and the real control flow differ a bit.
2014-03-09 15:24:33 +01:00
Tillmann Karras
17adcbb14e
MMIOTest: fix sign warning
2014-03-09 15:24:32 +01:00
Pierre Bourdon
b003fd79d7
Merge pull request #146 from delroth/tests
...
Add more tests for Common and Core/MMIO
2014-03-09 14:51:53 +01:00
Pierre Bourdon
aabd524142
Add more tests for Common and Core/MMIO
2014-03-09 14:27:04 +01:00
Lioncash
53ed0051c8
[Android] Split the AboutFragmentItem and InfoFragmentAdapter into their own class files.
...
It doesn't make sense conceptually to keep them within the AboutActivity, as they are entirely self-contained classes.
2014-03-08 19:37:32 -05:00
Pierre Bourdon
0ea58cddf9
Merge pull request #144 from Parlane/fix_include_order
...
Fixes include order of TextureConversionShader.cpp
2014-03-09 01:34:50 +01:00
Lioncash
c5fb4ac96f
[Android] Remove unnecessary comment from VideoSettingsFragment.
...
Misleading comment. We won't need to access index four for anything.
2014-03-08 19:08:26 -05:00
Matthew Parlane
25341f88ef
Fixes include order of TextureConversionShader.cpp
2014-03-09 12:38:29 +13:00
Matthew Parlane
2e70ff2441
Add missing functional include caused by PR111
2014-03-09 12:28:58 +13:00
Matthew Parlane
d9ca5c83c9
Fix bug in PrintCallstack caused by trying to use MMIO
...
Also tidy up methods in Debugger_SymbolMap.cpp
2014-03-09 12:23:30 +13:00
Pierre Bourdon
8802770a85
JitUtil: Optimize MMIO loads by generating code to directly access a given MMIO.
2014-03-08 23:32:43 +01:00
Pierre Bourdon
edba8096bf
x64Emitter: Add functions to call a C++ std::function from JITed code
2014-03-08 23:32:43 +01:00
Pierre Bourdon
9869c53859
x64ABI: Add two more CallFunction functions (for additional parameter types).
2014-03-08 23:32:43 +01:00
Pierre Bourdon
6d6abfa61f
x64Emitter: Allow const pointers where it makes sense to do so.
2014-03-08 23:32:43 +01:00
Pierre Bourdon
71962ee0eb
MMIO: Pass pointers to the complex method lambdas when visiting.
2014-03-08 23:32:43 +01:00
Pierre Bourdon
6b645f5cac
MMIO: Add a function to check if a given address refers to MMIO registers.
2014-03-08 23:32:43 +01:00
Matthew Parlane
886060aaf7
Merge pull request #96 from lioncash/remove-console-correctly
...
Remove console correctly
2014-03-08 15:54:06 +13:00
Matthew Parlane
6704832f3d
Merge pull request #139 from lioncash/wx-clean
...
Remove some superfluous arguments from some wx control creations
2014-03-08 15:50:34 +13:00
Matthew Parlane
ca6946bcbf
Merge pull request #138 from Tilka/sw_fix
...
SW renderer: add missing ClearCurrent()
2014-03-08 15:50:05 +13:00
Pierre Bourdon
248f5d7f22
Merge pull request #130 from lioncash/breakpoint-clear
...
Actually make PPCDebugInterface::ClearAllBreakpoints have functionality.
2014-03-07 20:42:52 +01:00
Matthew Parlane
57f2eda130
Fix MAC address reading on Windows.
2014-03-07 21:40:59 +13:00
Shawn Hoffman
932945d480
Implement workaround for Windows versions which do not support XSAVE.
...
Fixes CRT math routines using FMA instructions from causing illegal instructions.
2014-03-06 14:38:10 -08:00
Shawn Hoffman
8995d299f2
windows: move arch defines to base.props
2014-03-06 14:37:40 -08:00
Lioncash
b2d47401b2
Remove some superfluous arguments from some wx control creations
...
wx has these as default parameters.
2014-03-05 23:02:34 -05:00
Lioncash
aa82680be7
Mark functions in the PPCDebugInterface and DSPDebugInterface as final.
...
The way they currently were, they would allow for a class to inherit and override these interfaces functions. However, this doesn't make sense conceptually.
2014-03-05 21:54:34 -05:00
Lioncash
610a6f9b23
Add ClearAllMemChecks to DebugInterface
...
Breakpoints have one, but memchecks don't, despite being cleared directly in the breakpoint window.
Now DolphinWX should call the interface functions and not the direct functions of the breakpoints or memchecks for clearing.
2014-03-05 21:50:23 -05:00
lioncash
96328902a5
Actually make PPCDebugInterface::ClearAllBreakpoints have functionality.
...
Fairly simple - just clear the breakpoints.
2014-03-05 20:27:27 -05:00
Tillmann Karras
d461b3f33c
SW renderer: add missing ClearCurrent()
...
courtesy of degasus
2014-03-06 01:53:29 +01:00
Matthew Parlane
e5b250fa79
Merge pull request #122 from lioncash/rename-default
...
Rename the JIT function Default() to FallBackToInterpreter(). Communicates intent way better in terms of telling the reader what's going on.
2014-03-06 12:13:54 +13:00
Rachel Bryk
d06eb0f668
Fix reading revision specific default game inis in ISOProperties.
2014-03-05 17:05:36 -05:00
Shawn Hoffman
3647dfa711
Allow VS builds to be speedy again.
2014-03-05 11:17:14 -08:00
Shawn Hoffman
7733463e65
commit 1a428de189
introduced a bug by using a signed enum in a bitfield, the value of which is then used in a ldmxcsr instruction. The sign-extension corrupts the value, causing an exception by attempting to load mxcsr with an invalid value.
2014-03-05 10:19:29 -08:00
Ryan Houdek
4f02132f93
Make our architecture defines less stupid.
...
Our defines were never clear between what meant 64bit or x86_64
This makes a clear cut between bitness and architecture.
This commit also has the side effect of bringing up aarch64 compiling support.
2014-03-04 09:36:59 -06:00
lioncash
2c8b9735ae
Add two other formats to the list of extensions in IsSoundFile
...
.adx is used in various games, so this should definitely be here.
2014-03-04 08:57:07 -05:00
lioncash
f39c757edf
Simplify ShowSound() in FileMonitor.cpp.
...
Now if more sound types are found, they just need to simply be added to
the unordered set.
- Also changed ShowSound() to IsSoundFile()
- Fixed IsSoundFile’s definition in FileMonitor.h. This whole time it
has been defined as a void method, when in reality it was a bool
function.
- Changed the FileMonitor’s string parameters to be constant references.
2014-03-04 08:39:25 -05:00
Pierre Bourdon
6fa39c28fe
Merge pull request #118 from neobrain/videosoftware-bypass-xfb-hack
...
Software renderer: Restore FifoPlayer support by emulating hardware backend behavior.
2014-03-03 19:05:35 +01:00
Tony Wasserka
1bdf232fed
videosoftware: More coding style fixes.
2014-03-03 19:03:15 +01:00
Pierre Bourdon
91676ad930
Merge pull request #128 from lioncash/normalize-debug-interface-func-names
...
Change the DebugInterface, PPCDebugInterface, and DSPDebugInterface to use CamelCase function names.
2014-03-03 18:58:36 +01:00
Tillmann Karras
891b334f52
Fix 32 bit non-Windows build
2014-03-03 10:46:08 +01:00
Lioncash
279a8c0148
Change the DebugInterface, PPCDebugInterface, and DSPDebugInterface to use CamelCase names.
...
This is the standard coding convention in the codebase, so our interfaces should use it too.
2014-03-03 00:39:08 -05:00
Pierre Bourdon
32e0544088
Merge pull request #127 from lioncash/cheat-dlg-simplification
...
Make the base calculation in CheatsWindow simpler.
2014-03-03 04:16:43 +01:00
Lioncash
10f3d90f83
Make the base calculation in CheatsWindow simpler.
...
First and foremost this should test the checked state, not its direct value.
This should never have used multiplication at all. Seriously, what the hell?
The only values it would have given is true or false, so the only cases are 0*6 and 1*6.
2014-03-02 22:15:01 -05:00
Pierre Bourdon
177ef615d7
UnitTests: ensure the Binaries/Tests directory exists before linking.
2014-03-03 04:03:53 +01:00
Pierre Bourdon
9ea845310d
Unittests: Always use GTest from Externals (recommended way from GTest FAQ).
2014-03-03 03:38:46 +01:00
Pierre Bourdon
2d71571be5
Do not hard fail when running 'make unittests' without GTest.
2014-03-03 03:12:58 +01:00
Matthew Parlane
6176424ac4
Merge pull request #119 from delroth/unittests
...
Add support for GTest based UnitTests
2014-03-03 14:53:24 +13:00
Lioncash
34b5a7871f
Rename the JIT function Default() to FallBackToInterpreter(). Communicates intent way better in terms of telling the reader what's going on.
...
Also did some minor cleanup in functions that used Default.
2014-03-02 19:59:20 -05:00
Lioncash
445d257641
Fix a case where the wrong placeholders were being assigned for the up and down D-Pad buttons in the TAS dialog.
2014-03-02 18:58:54 -05:00
Pierre Bourdon
a4ee187711
Tests: Add more MMIO tests as an example.
2014-03-03 00:25:41 +01:00
Pierre Bourdon
d4ed4adace
Add the infrastructure required to easily add unit tests and test it with a very simple test file.
2014-03-03 00:25:41 +01:00
Lioncash
13a007abed
Remove another clamp function laying in the codebase and replace it with the one in MathUtil.h.
2014-03-02 13:57:27 -05:00
Matthew Parlane
70b3749d4b
Merge pull request #109 from lioncash/file-io-clarifications
...
Eliminate the magic constants in the switch statement in WII_IPC_HLE_Device_FileIO.cpp's Seek function.
2014-03-02 18:29:48 +13:00
Tony Wasserka
c6c6d20014
videosoftware: Provide a more elaborate comment on the FifoPlayer support hack.
2014-03-01 18:52:19 +01:00
Scott Mansell
17231418ef
videosoftware: Added hack to bypass xfb just so fifoplayer works.
...
Fifoplayer depends on the old behaviour of videosoftware (and the other
hardware backends in non virtual/real xfb modes) where the framebuffer
gets rendered directly to the screen.
Really fifoplayer should call BeginFrame/EndFrame when it finished
rendering a frame, but adding this hack back in is simpler.
2014-03-01 18:45:24 +01:00
Lioncash
3bc082be52
Fix WII_SEEK_END seeking.
2014-02-28 19:56:42 -05:00
Tillmann Karras
7c93f2dc23
Fix the Windows build (broken in 315a8ba
)
2014-03-01 01:33:19 +01:00
Pierre Bourdon
bc844a168f
Merge pull request #100 from Tilka/misc_fixes
...
Misc fixes
2014-02-28 23:08:56 +01:00
Pierre Bourdon
1a7e3b3227
Merge pull request #80 from Tilka/dsp
...
DSP: add inline opcode documentation
2014-02-28 22:50:37 +01:00
Tillmann Karras
892012dc02
Remove own round() implementation
...
1. It's not correct, it rounds x.5 down to x.
2. It is visible across the whole project (!).
3. VS2013 finally supports this:
http://msdn.microsoft.com/en-us/library/dn353646.aspx
http://msdn.microsoft.com/en-us/library/dn329049.aspx
2014-02-28 12:43:23 +01:00
Tillmann Karras
7a66a3ded1
ArmEmitter: make it more readable
2014-02-28 12:43:22 +01:00
Tillmann Karras
46e7c0657f
Crypto: small cleanup
2014-02-28 12:43:22 +01:00
Tillmann Karras
315a8ba1c0
Various changes suggested by cppcheck
...
- remove unused variables
- reduce the scope where it makes sense
- correct limits (did you know that strcat()'s last parameter does not
include the \0 that is always added?)
- set some free()'d pointers to NULL
2014-02-28 12:43:20 +01:00
Tillmann Karras
5f0a8008f4
Convert MemoryUtil.cpp to Unix-style line endings
2014-02-28 12:28:21 +01:00
Tillmann Karras
1a428de189
x64FPURoundMode: move things around a bit
2014-02-28 12:28:21 +01:00
Tillmann Karras
6914eca167
Fix various warnings reported by clang
...
- mostly remove unused variables
- rename some generic JIT identifiers
2014-02-28 12:28:19 +01:00
Pierre Bourdon
ea34ae0a70
Merge pull request #113 from Parlane/fix_wifi
...
Randomise the mac address and store it in the config.
2014-02-28 11:25:29 +01:00
Matthew Parlane
c68cd3a8ea
Randomise the mac address and store it in the config.
...
This stops error 20115 when trying to go online.
2014-02-28 22:53:00 +13:00
Pierre Bourdon
a3508823de
Merge pull request #112 from Parlane/fix_ssl_init
...
Initialise entropy correctly for ssl.
2014-02-28 00:51:09 +01:00
Tony Wasserka
1f5b3c928f
Merge pull request #108 from degasus/GLSLUtilShader
...
GLSL utility shader optimization
2014-02-27 22:38:37 +01:00
Matthew Parlane
e1ec4729b4
Initialise entropy correctly for ssl.
2014-02-27 21:46:14 +13:00
degasus
f628695d31
comment fixes
2014-02-26 12:48:52 +01:00
Tony Wasserka
66d1f16f98
Merge pull request #107 from lioncash/tiny-cleanup
...
Tiny cleanup of WII_IPC_HLE.cpp.
2014-02-26 12:46:49 +01:00
degasus
aaaa5af0b2
remove (ATTR|VARY)(IN|OUT) macros
2014-02-26 11:37:29 +01:00
degasus
1d0b6a1156
Merge duplicate parts of sampler into header
2014-02-26 11:37:29 +01:00
degasus
11efa88157
calculate constant values on shader compilation
2014-02-26 11:37:29 +01:00
degasus
8a4aa8c1f5
Rewrite texture tiling implementation
...
inline halfxb
So we know which is the first pixel by masking.
inline xl
inline xb a bit
inline yl
inline uv1.x shift
remove likely wrong guessed ternary operator
add pixel layout comment
inline xel
optimize the shifts a bit
inline xb
optimize shifts in a second step
extract xb
rename all variables
calculate cache line by position.x
Revert 5115b459f40d53044cd7a858f52e6e876e1211b4 "optimize the shifts a bit"
It seems I was wrong, the other way is the more natural.
use x_virtual_position instead of uv1.x for x_offset_in_block
This looks more natural and the offset should be masked anyway.
substitude factor with cache_lines
move 32bit logic in a conditional block
2014-02-26 11:37:29 +01:00
degasus
bd3beeb184
TextureConverter: Use Log2() and shifts instead of multiplications/divisions
2014-02-26 11:37:29 +01:00
degasus
94da4e1aa2
MathUtil: Change Log2 return value to int
...
Log2(u64) can't be bigger than 63, so there is no need in forcing a 64 bit value.
So just using a common int seems more natural.
2014-02-26 11:37:28 +01:00
degasus
f99c8a0b70
merge common parts of encoding shaders
2014-02-26 11:37:28 +01:00
degasus
7f539b6033
ogl: optimize real xfb a bit
...
Both nvidia + mesa seems not to optimize x / (2**n) to x >> n, so we do it ourself.
2014-02-26 11:37:28 +01:00
Lioncash
d5fd68e4a4
Eliminate the magic constants in the switch statement in WII_IPC_HLE_Device_FileIO.cpp's Seek function.
2014-02-24 15:01:08 -05:00
Lioncash
4094c35203
Tiny cleanup to WII_IPC_HLE.cpp.
...
- Inlined loop vars in statements where possible.
- Eliminate some explicit iterators with foreach loops.
- Kill off some newlines that weren't necessary.
2014-02-24 14:09:42 -05:00
Tillmann Karras
33beaf20f3
PolarSSL: adapt Dolphin to new version
...
- strip down PolarSSL's CMakeLists.txt
- switch to the PolarSSL 1.3 API
- use entropy interface instead of havege (PolarSSL 1.3 has disabled
havege by default because it is "considered unsafe for primary usage")
- add VS2013 .vcxproj file
2014-02-24 16:20:50 +01:00
Pierre Bourdon
7be3dae988
Merge pull request #106 from lioncash/unnecessary-cstr
...
Unnecessary c_str() call in WII_IPC_HLE_Device_es.cpp's OpenTitleContent function.
2014-02-24 15:56:34 +01:00
Lioncash
98d2e76fcc
Unnecessary c_str call in WII_IPC_HLE_Device_es.cpp's OpenTitleContent function.
...
m_ContentFile is a string, so it's kind of pointless to pass a c_str of a string to constructor of a new string.
2014-02-24 08:32:45 -05:00
degasus
8af3f751db
Fetch swapInterval function pointer after binding a context
...
This fixes vsync on windows
2014-02-24 12:45:02 +01:00
Ryan Houdek
21bb722c93
Merge pull request #101 from delroth/remove-tests
...
Remove Source/{Unittests,TestSuite}.
2014-02-24 02:43:32 -06:00
Ryan Houdek
2bd1f99125
Fix the nogui build when building with EGL
2014-02-24 06:34:09 +00:00
Lioncash
e71db8fe04
In UCode_AX.cpp in function HandleCommandList() - case CMD_MIX_AUXB_NOWRITE should have 1 being passed, not false, as the aux ID in MixAUXSamples.
2014-02-23 17:22:20 -05:00
Pierre Bourdon
0f89060cf3
Remove Source/{Unittests,TestSuite}.
...
These directories have been unused for several years and without any automated
way of running the tests, they are pretty much useless.
While they might be useful as a reference, in their present state they should
not be kept in the repository.
2014-02-23 22:36:32 +01:00
Pierre Bourdon
99db9f0fb1
Merge pull request #94 from Tilka/uninitialized
...
Fix struct initialization
2014-02-23 17:07:24 +01:00
Pierre Bourdon
4a569c4449
Merge pull request #97 from delroth/mmio-gpfifo
...
WriteToHardware: Pass through the whole 0xCC008xxx area to GPFifo instead of only 0xCC008000.
2014-02-23 10:20:56 +01:00
Lioncash
e3e78128a2
isSameValue in IR.cpp/.h should be returning a boolean value.
2014-02-23 04:14:57 -05:00
Lioncash
679a1bb2eb
WII_IPC_HLE_Device_usb_kbd.cpp's Update method should return 0, not false, it communicates the wrong intent otherwise.
2014-02-23 04:08:52 -05:00
Pierre Bourdon
86326de6f6
WriteToHardware: Pass through the whole 0xCC008xxx area to GPFifo instead of only 0xCC008000.
2014-02-23 10:01:47 +01:00
Lioncash
8d57f38be7
Purge wx elements of the console.
2014-02-23 03:12:24 -05:00
Pierre Bourdon
c06c8f0ec8
MMIO: Fix a megaderp in the UniqueID function causing handlers to be overwritten by other handlers.
2014-02-23 08:34:05 +01:00
Pierre Bourdon
b8582b00a9
MMIO: Pass the provided high part/low part addrs to handlers in {Read,Write}ToSmaller.
2014-02-23 08:33:27 +01:00
Pierre Bourdon
803c110e30
MMIO: Show the read/write size in invalid handlers.
2014-02-23 08:32:52 +01:00
Lioncash
d45351a43f
Initial removal of the actual console functionality on windows.
2014-02-23 02:01:35 -05:00
Pierre Bourdon
70f3a069f2
Revert "Merge pull request #83 from lioncash/remove-console"
...
This breaks Linux stdout logging.
This reverts commit 7ac5b1f2f8
, reversing
changes made to 9bc14012fc
.
Revert "Merge pull request #77 from lioncash/remove-console"
This reverts commit 9bc14012fc
, reversing
changes made to b18a33377d
.
Conflicts:
Source/Core/Common/LogManager.cpp
Source/Core/DolphinWX/Frame.cpp
Source/Core/DolphinWX/FrameAui.cpp
Source/Core/DolphinWX/LogConfigWindow.cpp
Source/Core/DolphinWX/LogWindow.cpp
2014-02-23 07:48:06 +01:00
Ryan Houdek
60a5d8900b
Merge pull request #60 from Sonicadvance1/Android-GLDetect
...
Fix the Android OpenGL About tab.
2014-02-22 22:29:57 -06:00
Tillmann Karras
3038bca0a4
JitBackpatch: initialize InstructionInfo to 0
...
DisassembleMov() doesn't always initialize all fields of 'info'.
2014-02-23 04:36:26 +01:00
Pierre Bourdon
311caef094
Merge pull request #25 from Tilka/ppc_fp
...
Fix non-IEEE mode
2014-02-23 04:15:37 +01:00
Tillmann Karras
ee21cbe2d1
Add phire's more accurate DoubleToSingle version
...
This method doesn't involve messing around with the quirks of the x87
FPU and should be reasonably fast. As a bonus, it does the correct thing
for out-of-range doubles.
However, it is also a little slower and only benefits programs that rely
on undefined behavior so it is disabled for now.
2014-02-23 04:13:47 +01:00
Ryan Houdek
1f750904af
Fix the OpenGL About tab.
...
Move EGLHelper to be local to the creation of the about GL/GLES tabs so we don't have 3 EGL contexts running at a time.
Fix issues with OpenGL context creation here so we show the correct information.
This requires adding an EGL function to the NativeLibrary since Android's JAVA bindings don't expose eglBindAPI.
2014-02-22 21:08:27 -06:00
Pierre Bourdon
f9ed70b2f9
Merge pull request #85 from Sonicadvance1/Android-OSXpain
...
Make it possible to build Dolphin for Android in OS X and also less of a pain with gradle.
2014-02-23 04:05:42 +01:00
Ryan Houdek
cf6e0b6015
Make it possible to build Dolphin for Android in OS X and also less of a pain with gradle.
2014-02-22 21:01:58 -06:00
Pierre Bourdon
4ba9cb217f
Fix a compilation error introduced in PR #91 .
...
For some reason it passed builbot-try but didn't build after being merged to
msater. Did not expect that, sorry :(
2014-02-23 03:45:46 +01:00
Pierre Bourdon
7cabe1772e
Merge pull request #91 from delroth/iwyu
...
Include-what-you-use suggested fixes.
2014-02-23 03:34:10 +01:00
Pierre Bourdon
f344a43657
Make DolphinWX/ mostly IWYU clean.
2014-02-23 00:27:27 +01:00
Pierre Bourdon
c698c07755
Make DiscIO/ mostly IWYU clean (and fix errors in rest of the project detected by this change).
2014-02-22 23:37:29 +01:00
Pierre Bourdon
83b7bb64aa
Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change).
2014-02-22 23:37:29 +01:00
Tillmann Karras
79336c88f8
Remove X11InputBase (dead code)
2014-02-22 22:42:42 +01:00
Pierre Bourdon
6d8df311a3
Merge pull request #88 from lioncash/relative-includes
...
Relative includes
2014-02-20 02:08:44 +01:00
Lioncash
24ba058404
Fix the Windows build for the final time.
2014-02-19 19:38:23 -05:00
Lioncash
c1a934f7ed
Fix the Android build.
...
Required the removal of EGL.h from EGL.cpp.
Removed the similar includes from AGL.cpp, GLX.cpp, and WGL.cpp to retain consistency.
All GL interfaces are now centralized on GLInterface.h
2014-02-20 01:01:11 +01:00
Lioncash
ed9eea72a1
Forgot to move DSPTool over. Fixed now.
2014-02-20 01:01:11 +01:00
Lioncash
91286f5021
Fix the Windows build in relation to the recent changes.
2014-02-20 01:01:11 +01:00
Lioncash
146b301a91
Fix more header sorting issues in Core/ (now check-includes clean).
2014-02-20 01:01:11 +01:00
Pierre Bourdon
9a8ea53195
Fix LinearDiskCache.h relying on a file not directly included.
2014-02-20 01:01:11 +01:00
Pierre Bourdon
425f9dcd51
Fix more header sorting issues in VideoBackends/ (now check-includes clean).
2014-02-20 01:01:11 +01:00
Pierre Bourdon
592ebc5262
Fix more header sorting issues in DolphinWX/ (now check-includes clean).
2014-02-20 01:01:10 +01:00
Pierre Bourdon
ffe588cc24
Fix more header sorting issues in VideoCommon/ (now check-includes clean).
2014-02-20 01:01:10 +01:00
Pierre Bourdon
6847a0fc0c
Fix more header sorting issues in InputCommon/ (now check-includes clean).
2014-02-20 01:01:10 +01:00
Pierre Bourdon
fca12c4c4e
Fix more header sorting issues in AudioCommon/ (now check-includes clean).
2014-02-20 01:01:10 +01:00
Pierre Bourdon
8ea8da6ebc
Fix more header sorting issues in DiscIO/ (now check-includes clean).
2014-02-20 01:01:10 +01:00
Pierre Bourdon
3f9c38d231
Fix more header sorting issues in Common/ (now check-includes clean).
2014-02-20 01:01:10 +01:00
Lioncash
edb43cfe61
Fix the OSX build.
...
Turns out Dolphin uses some macros that clash on OSX. However thankfully, this include is only used in Frame.cpp.
2014-02-18 19:08:17 -05:00
Lioncash
eee549f92b
Scope the Windows include directory to only point to Source/Core/.
...
Also fix the Windows build with this change.
2014-02-18 13:21:12 -05:00
Rachel Bryk
b1f77d0191
Save frame skipping option, and allow loading it from game ini too.
2014-02-18 12:25:11 -05:00
Pierre Bourdon
a18e8249a4
Merge pull request #79 from Tilka/nits
...
Silence some Windows compiler warnings
2014-02-18 14:19:38 +01:00
Pierre Bourdon
362dec9c7c
Dolphin now builds on Linux with only Source/Core as include dir
2014-02-18 12:18:47 +01:00
Pierre Bourdon
dc1db82f70
Fix Linux build
2014-02-18 12:09:38 +01:00
Lioncash
2afe215271
Convert all includes to relative paths.
2014-02-18 02:19:10 -05:00
Lioncash
3fd87a7636
Second and final pass of clearing out tabs.
2014-02-17 02:19:41 -05:00
Lioncash
d9ce4a892b
Remove the leftover folder for Wii IO bridge. Was removed in the mmio merge
2014-02-16 21:08:32 -05:00
Lioncash
cd8196f5db
Turns out Console.cpp and ConsoleListener.cpp were being built into the Linux builds too. Fixes the build.
2014-02-16 20:55:07 -05:00
Lioncash
ca7bdf1d5d
Remove the embedded Console from the possible logging options.
...
Note I do not mean the Logging window, but the console window.
It's literally rarely, if at all used, and offers less advantages over the built-in logging window (ie. it breaks on different locales: http://i.imgur.com/Cs92tQE.png )
This commit should remove all of the console logging.
2014-02-16 20:40:33 -05:00
Pierre Bourdon
b18a33377d
Merge pull request #55 from Sonicadvance1/GLExt-InitArray
...
Change OpenGL extension initialization in to a big array
2014-02-17 02:16:16 +01:00
Ryan Houdek
6b5f6ddaa1
Merge pull request #82 from lioncash/vertical-alignment
...
Fix some vertical alignments
2014-02-16 19:12:42 -06:00
Lioncash
6c4ee1753a
Fix some vertical alignments
...
ie. uses spaces for alignment.
2014-02-16 20:12:05 -05:00
Ryan Houdek
eae9d47c3c
Change OpenGL extension initialization in to a big array
...
This is a reasonable chunk of changes and moves from multiple initialization functions in to an array initialization.
2014-02-16 17:40:34 -06:00
Tony Wasserka
de5bfd0bce
Merge pull request #37 from degasus/VideoCommonApiFixes
...
VideoCommon API cleanups
2014-02-16 22:08:28 +01:00
Pierre Bourdon
96a66ada2e
Use a pointer instead of a non-const ref in MMIO::Mapping::Read now that compatibility with the old interface is not required anymore.
2014-02-16 19:22:40 +01:00
Pierre Bourdon
92f8d93e96
Remove the old MMIO access "interface".
2014-02-16 19:22:40 +01:00
Pierre Bourdon
f8f14c83a3
MMIO: Port the SW CP/PE MMIOs to the new interface.
...
Migration is now complete.
2014-02-16 19:22:40 +01:00
Pierre Bourdon
5b5dfb384e
MMIO: Port the VideoCommon PE MMIOs to the new interface.
2014-02-16 19:22:40 +01:00
Pierre Bourdon
4129b30494
MMIO: Port the VideoCommon CP MMIOs to the new interface (and provide framework for other video related mappings).
2014-02-16 19:22:40 +01:00
Pierre Bourdon
bdedaa24a9
MMIO: Port the EXI MMIOs to the new interface.
2014-02-16 19:22:40 +01:00
Pierre Bourdon
353c145e64
MMIO: Port the IPC MMIOs to the new interface (and move the IOB handling to IPC).
2014-02-16 19:22:40 +01:00
Pierre Bourdon
a7c1e0d0d7
MMIO: Port the AI MMIOs to the new interface.
2014-02-16 19:22:40 +01:00
Pierre Bourdon
191b447092
MMIO: Port the SI MMIOs to the new interface.
2014-02-16 19:22:40 +01:00
Pierre Bourdon
f34651f48d
MMIO: Port the DI MMIOs to the new interface.
2014-02-16 19:22:40 +01:00
Pierre Bourdon
63990787fd
MMIO: Port the DSP/ARAM/AI MMIOs to the new interface.
2014-02-16 19:22:40 +01:00
Pierre Bourdon
b7a0c34906
MMIO: Port the MI MMIOs to the new interface (and rework that module extensively).
2014-02-16 19:22:40 +01:00
Pierre Bourdon
f1dba04be7
MMIO: Port the VI MMIOs to the new interface.
2014-02-16 19:22:39 +01:00
Pierre Bourdon
a3f95c1e10
MMIO: Port the PI MMIOs to the new interface.
2014-02-16 19:22:39 +01:00
Pierre Bourdon
9fe58d28ba
Starting point for the new MMIO interface
...
Design doc:
https://docs.google.com/document/d/11qcGCWLne1wYvmtFaSrOKZt_vHxXrcWcZsdWJ-MJnyo/edit
The code is currently not used. Migration plan:
1. Implement MMIO access via MMIO::Mapping in parallel to the current
method.
2. Implement all existing MMIO handlers via the new interface.
3. Remove the old hwRead/hwReadWii/hwReadIOBridge code.
4. Implement JIT optimizations for MMIO accesses.
2014-02-16 19:22:39 +01:00
Tillmann Karras
6ae2972444
DSP: add inline opcode documentation
...
While further increasing the table width doesn't make the code any less
ugly, it makes it easy to generate auto-comments in the IDA processor
plugin. Also, use spaces for alignment instead of tabs.
2014-02-16 18:29:53 +01:00
Tillmann Karras
9f462a00a0
DSP: remove redundant expression
2014-02-16 18:18:23 +01:00
Tillmann Karras
0d6ab2c658
Silence some Windows compiler warnings
...
by adding explicit type casts.
2014-02-16 16:59:45 +01:00
degasus
e5eff6bc1a
Remove slowdown warning
...
Now it's shown as "debug" which is disabled by default.
2014-02-16 12:57:17 +01:00
Ryan Houdek
9b57292395
Fix ARM build
2014-02-15 22:05:12 -06:00
Ryan Houdek
77851edc1b
Fix the arbitrary exits. We have to make sure that the block links are cleared entirely.
2014-02-15 20:41:42 -06:00
Ryan Houdek
0a9fd93eda
On block unlinking, wipe the address from the valid links.
2014-02-15 20:23:01 -06:00
Ryan Houdek
d2a90e6eab
If block linking isn't enabled then make sure there isn't a performance hit from getting a block number.
2014-02-15 20:23:00 -06:00
Ryan Houdek
c5b8c65ddc
Initialize linkStatus to false in the ARM JIT cores as well.
2014-02-15 20:23:00 -06:00
Ryan Houdek
22b86e64f5
redo 'jit: change our linking module to be able to handle arbitrary exit addresses'
2014-02-15 20:22:59 -06:00
degasus
647aad0a19
inline SetViewport into VertexShaderManager
2014-02-15 21:09:42 +01:00
Pierre Bourdon
cbe7656b2f
Merge pull request #42 from degasus/latencyFix
...
audio latency fix
2014-02-15 18:22:57 +01:00
Pierre Bourdon
cf736cd5df
Merge pull request #73 from lioncash/ArraySize-Cleanup
...
Kill off some usages of the ArraySize macro.
2014-02-15 18:22:28 +01:00
degasus
d5f1f0d4a9
merge some common parts of Swap() into VideoCommon
2014-02-15 11:33:43 +01:00
degasus
3551259c7a
use EFBRectangle for scissor rect
...
This one is backend independed. The backend should recalc such things on their own.
2014-02-15 11:33:43 +01:00
degasus
1f4219b5b4
move perfquery enable checks into videocommon (caller side)
2014-02-15 11:33:43 +01:00
degasus
5a660c27bc
rename UpdateViewport to SetViewport like all others setters in RenderBase.h
2014-02-15 11:33:43 +01:00
degasus
3cd6918dec
fix ogl video config crash
...
This will happen when playing on any other backend than ogl which have a non-trival GLInterface::GetMode() method.
2014-02-15 11:33:43 +01:00
degasus
e5318d2624
move shared parts from VertexManager::vFlush into VideoCommon
2014-02-15 11:33:43 +01:00
Lioncash
655d22512b
Kill off some usages of the ArraySize macro.
...
This required the use of std::array in some cases.
2014-02-15 02:43:54 -05:00
Matthew Parlane
48798d8d34
Merge pull request #70 from lioncash/fifo-unsigned
...
Kill off some casting in the FifoPlayer.
2014-02-15 20:42:15 +13:00
Lioncash
867d0f01a2
Remove #if 0 statement in lfd() in Jit64/Jit_LoadStoreFloating.cpp
2014-02-14 23:46:09 -05:00
Lioncash
49d6be26cd
Remove dead else branch in StoreFromRegister() in Jit64/JitRegCache.cpp
2014-02-14 23:43:51 -05:00
Lioncash
d42e8817a0
Clean out some old left-behind quantizer stuff in Jit64/Jit_LoadStorePaired.cpp and Jit64/Jit_SystemRegisters.cpp.
2014-02-14 23:32:37 -05:00
Lioncash
c78faafeae
Kill off some silly casting in the FifoPlayer.
...
Also makes more sense conceptually, since it's not like we'll ever have negative frames.
2014-02-14 22:07:12 -05:00
Jordan Woyak
d6f6672522
Kill auto usage in CISOBlob.cpp per request.
2014-02-13 16:09:58 -06:00
Jordan Woyak
cec8ac20fc
Fixed issue 7020. CISO >4GB failure. Caused by integer overflow.
2014-02-13 15:47:42 -06:00
degasus
9e56b1d343
Disable framerate correction for OpenAL
...
OpenAL itself stretch the time on slowdowns, so the Mixer isn't allowed also to change the rate.
2014-02-13 13:22:29 +01:00
Tillmann Karras
404624bf0b
Turn loops into range-based form
...
and some things suggested by cppcheck and compiler warnings.
2014-02-13 09:05:50 +01:00
Tillmann Karras
2ff794d299
Fix some warnings
2014-02-13 09:02:43 +01:00
Matthew Parlane
88526be3b5
Merge pull request #50 from Parlane/inifile_tidy
...
Fix IniFile to use string& instead of char*
2014-02-13 19:04:27 +13:00
Matthew Parlane
3fe05e0a9f
Fix IniFile to use string& instead of char*
...
Also removes .c_str() usages where found.
2014-02-13 17:06:30 +13:00
Scott Mansell
7062cf8657
Interpeter: Fixed ConvertToDouble to match the manual.
...
Also added some documntation comments.
2014-02-12 23:12:17 +01:00
Scott Mansell
cf5938c4df
x64Emitter: Fix the PSUBQ instruction's opcode
2014-02-12 23:12:17 +01:00
Scott Mansell
1eb8168488
x64Emitter: Add the xmm, xmm form of PSRLQ instruction.
2014-02-12 23:12:16 +01:00
Tillmann Karras
1f34ed2c25
Re-enable non-IEEE mode support
2014-02-12 23:12:16 +01:00
Tillmann Karras
f6897039c7
Interpreter: fix float conversions
...
Can't use simple casting, otherwise we get the same problems as in Jit64.
2014-02-12 23:12:15 +01:00
Tillmann Karras
db196d8c5b
Jit64[IL]: fix float conversions
...
Floating-point is complicated...
Some background: Denormals are floats that are too close to zero to be
stored in a normalized way (their exponent would need more bits). Since
they are stored unnormalized, they are hard to work with, even in
hardware. That's why both PowerPC and SSE can be configured to operate
in faster but non-standard-conpliant modes in which these numbers are
simply rounded ('flushed') to zero.
Internally, we do the same as the PowerPC CPU and store all floats in
double format. This means that for loading and storing singles we need a
conversion. The PowerPC CPU does this in hardware. We previously did
this using CVTSS2SD/CVTSD2SS. Unfortunately, these instructions are
considered arithmetic and therefore flush denormals to zero if non-IEEE
mode is active. This normally wouldn't be a problem since the next
arithmetic floating-point instruction would do the same anyway but as it
turns out some games actually use floating-point instructions for
copying arbitrary data.
My idea for fixing this problem was to use x87 instructions since the
x87 FPU never supported flush-to-zero and thus doesn't mangle denormals.
However, there is one more problem to deal with: SNaNs are automatically
converted to QNaNs (by setting the most-significant bit of the
fraction). I opted to fix this by manually resetting the QNaN bit of all
values with all-1s exponent.
2014-02-12 23:12:15 +01:00
Tillmann Karras
c25c4a6e20
x64: add support for some x87 instructions
2014-02-12 22:45:01 +01:00
ExtremeDude2
5e0b8b3477
Rename "JITIL experimental recompiler"
...
This changes it to "JITIL Recompiler (experimental)"
2014-02-12 10:21:02 -05:00
degasus
bbd58b8f6a
change AI sampling rate based on framelimit
2014-02-11 14:53:53 +01:00
degasus
ca9fd64df9
controll the interpolation frac by the fifo size
2014-02-11 14:35:19 +01:00
degasus
d20dbbc92f
audiocommon: sync mixer by fifo instead of estimate values
2014-02-11 07:25:58 +01:00
degasus
2956ffa5be
audiocommon: remove 1:1 interpolation
...
The usual one is 32->48 khz interpolation. So there is no need in a special 1:1 interpolation only for performance.
2014-02-11 07:25:58 +01:00
Tillmann Karras
3218f6cca8
x64: drop instructions that don't exist
...
These instructions don't exist in hardware although I agree that they
would be useful for our purposes ;)
2014-02-11 05:22:53 +01:00
lioncash
d2038049f5
Replace all include guard ifdefs with "#pragma once"
2014-02-10 18:07:16 -05:00
degasus
532cd44003
Use float to calculate the fps/vps
...
This will round internally, so 59.99 fps will now be shown as 60 fps.
2014-02-10 16:08:03 +01:00
degasus
a51b5f7815
Drop framelimit by fps
...
Framelimit by fps can't be done per coretiming
2014-02-10 16:08:03 +01:00
degasus
f7dc918057
Throttle by coretiming event instead of VI
...
VI isn't called as regular as we want to, so we have to create a new throttling event called regularly by coretiming.
Atm we throttle every 1 ms when we are too fast and skip throttling when we lack 40ms (to avoid fast boosts after slowdowns)
2014-02-10 16:08:03 +01:00
lioncash
f5408c3f52
Clarify an if statement in NetPlayClient.cpp. See: https://github.com/LaurentGomila/SFML/issues/26 .
...
This was simply an error in documentation. It actually returns an sf::Socket::Status enum value as a result.
2014-02-10 09:26:29 -05:00
Matthew Parlane
32bfcc034f
Some tidy up of sprintf to StringFromFormat
...
Includes a small fix to SetupWiiMemory
2014-02-10 17:25:18 +13:00
Ryan Houdek
8d25e12085
Merge pull request #54 from lioncash/cleanup
...
Cleanup mismatching struct/enum indentations.
2014-02-09 19:26:15 -06:00
Pierre Bourdon
28b5c8be47
Merge pull request #53 from lioncash/remove-another-xchg
...
Remove function Xchg from SWStatistics.cpp.
2014-02-10 02:01:21 +01:00
Lioncash
fc30597f7a
Remove function Xchg from SWStatistics.cpp. Like the one previous, this can be replaced with std::swap
2014-02-09 19:55:44 -05:00
Lioncash
ebb48d019e
Clean up some struct indentations
...
Also cleaned up the indentations of some variable declarations.
2014-02-09 19:40:11 -05:00
Ryan Houdek
0030784cbf
Merge pull request #38 from Sonicadvance1/GLExt-lessfail
...
Cleanup GLExtensions on how it fails.
Fixes Mesa with buffer_storage patches and no direct_state_access.
2014-02-09 17:48:34 -06:00
Lioncash
40182a48a5
Cleanup enum indentations.
2014-02-09 16:16:10 -05:00
Pierre Bourdon
e59f770ccb
Revert "Merge pull request #49 from Parlane/sprintf_tidy"
...
Change broke the build on Debian stable.
This reverts commit 28755439b3
, reversing
changes made to 64e01ec763
.
2014-02-09 16:14:13 +01:00
Pierre Bourdon
9da6900595
Merge pull request #12 from Armada651/osx_rumble
...
OS X Rumble Support
2014-02-09 16:10:07 +01:00
Jules Blok
2063eddfa3
ForceFeedback: Fixed scoping bug
...
Previous code relied on a destroyed variable to still be valid.
2014-02-09 17:04:05 +09:00
Jules Blok
992b91c082
ForceFeedback: Don't depend on the force_type_name index.
...
Instead use a for-each loop, compare GUIDs and save the name pointers.
2014-02-09 17:01:45 +09:00
Jules Blok
c6d650c058
ForceFeedback: Add OSX rumble support
2014-02-09 17:01:45 +09:00
Jules Blok
02a95c139e
ControllerInterface: Move DInput ForceFeedback support to a seperate class
2014-02-09 17:01:38 +09:00
Ryan Houdek
6a5cd02629
Cleanup GLExtensions on how it fails.
...
If there is an issue with a reported extension, disable it instead of failing out entirely.
Fixes an issue with buffer_storage that I had overlooked as well.
2014-02-08 19:50:12 -06:00
Ryan Houdek
9f91769def
Improve GLExtensions compile time.
...
This changes from using logical and to bitwise and, which causes the compile time to drop from an absurd amount of time to around five seconds on my
crappy laptop.
2014-02-08 15:04:17 -06:00
Matthew Parlane
ebff7974c3
Some tidy up of sprintf to StringFromFormat
2014-02-08 14:32:48 +13:00
Matthew Parlane
64e01ec763
Merge pull request #48 from Parlane/SetupWiiMemory_tidy
...
Tidy up SetupWiiMemory
2014-02-08 00:22:24 +13:00
Pierre Bourdon
4f97666bfd
Merge pull request #20 from degasus/pulseaudioRewrite
...
Pulseaudio: rewrite the pa backend with the async api
2014-02-07 11:51:25 +01:00
Matthew Parlane
6b980cbf30
Tidy up SetupWiiMemory
2014-02-07 19:00:34 +13:00
Pierre Bourdon
70e2ed320d
Revert "Merge pull request #47 from lioncash/remove-stringfromint"
...
Breaks Android build.
This reverts commit 12d026c544
, reversing
changes made to 6d678490f5
.
2014-02-07 00:26:33 +01:00
degasus
ab124b96c4
Atomic Stores / Loads
2014-02-07 00:20:10 +01:00
degasus
5c646d334a
Pulseaudio: rewrite the pa backend with the async api
...
The default async api allow us to set some latency options. The old one (simple API) was the lazy way to go for usual audio where latency doesn't matter.
This also streams audio, so it should be a bit faster then the old one.
2014-02-07 00:20:10 +01:00
Pierre Bourdon
12d026c544
Merge pull request #47 from lioncash/remove-stringfromint
...
Remove function StringFromInt from StringUtil.cpp/.h. C++11 has std::to_string for this now.
2014-02-07 00:19:15 +01:00
Pierre Bourdon
6d678490f5
Merge pull request #46 from Sonicadvance1/Android-removeDLCache
...
Remove Cache DL option from Android UI
2014-02-07 00:18:40 +01:00
Pierre Bourdon
4c6d4cc270
Merge pull request #41 from Parlane/printf_warnings
...
Give StringFromFormat a printf format attribute.
2014-02-07 00:18:12 +01:00
Lioncash
05742ffd48
Remove function StringFromInt from StringUtil.cpp/.h. C++11 has std::to_string for this now.
2014-02-06 18:08:31 -05:00
Ryan Houdek
3666178f85
Remove Cache DL option from Android UI
...
This option has been removed entirely from Dolphin, so remove the option from Android
2014-02-06 17:02:38 -06:00
Ryan Houdek
7a9f7bfa83
Fix a typo in EGL.h for setting mode.
...
Seems to have been a copy and paste issue where SetMode would always set to DETECT
This isn't right since mode should be set correctly by SetMode
2014-02-06 21:41:11 +00:00
Matthew Parlane
70d2592ffb
Fix warnings found by StringFromFormat having printf style checking.
2014-02-07 01:38:08 +13:00
Matthew Parlane
09cc7e2ddf
Give StringFromFormat a printf format attribute.
...
It gives StringFromFormat printf style arguments that should be type-checked against a format string.
2014-02-07 01:10:04 +13:00
Lioncash
9ac6e35b5f
Add static and const qualifiers to the maps.
2014-02-06 03:23:13 -05:00
Lioncash
78356ce184
Simplified GetAreaCode() and GetHardwareModel() to simply use a map in comparisons.
2014-02-05 19:59:13 -05:00
Pierre Bourdon
9a24ba343b
Merge pull request #34 from lioncash/geckocode-foreach
...
Change some for+iterator loops in GeckoCode.cpp and GeckoCodeConfig.cpp into foreach loops.
2014-02-05 17:07:40 +01:00
Lioncash
249b00c469
Change the modified parameter in the Clamp function to be a pointer.
...
Makes it easier to identify the one being modified.
2014-02-05 04:04:35 -05:00
Lioncash
6b87a0ef20
Introduce a generic clamp function to clean up some similarly duplicated code.
2014-02-04 20:43:07 -05:00
Lioncash
8039963858
Add const qualifiers to two foreach loop variables for consistency.
...
Also fix a vector include I happened to notice. Should be "<vector>" not "vector"
2014-02-04 19:44:02 -05:00
Pierre Bourdon
59e2179172
Merge pull request #35 from lioncash/videocommons-kill-xchg-in-statistics
...
[VideoCommon] Eliminate the function Xchg in Statistics.cpp. std::swap does the same thing.
2014-02-04 16:40:25 -08:00
Lioncash
6d9cd07bb9
[VideoCommon] Eliminate the function Xchg in Statistics.cpp. std::swap does the same thing.
2014-02-04 19:35:27 -05:00
Lioncash
a73a600343
Fix name conventions of some of the foreach loop variables.
2014-02-04 19:30:46 -05:00
Lioncash
63700ad28a
Change some for+iterator loops in GeckoCode.cpp and GeckoCodeConfig.cpp into foreach loops.
2014-02-04 19:19:48 -05:00
Tony Wasserka
af24ed782d
Merge pull request #14 from degasus/uboWorkaroundRemove
...
OGL: Remove non-UBO code path.
2014-02-04 14:05:55 -08:00
Ryan Houdek
00089433a6
Merge pull request #31 from Sonicadvance1/slowmemfix
...
[JITARM] Fixes an issue in the slowmem path that causes grey THP movies,...
2014-02-04 12:55:43 -08:00
Ryan Houdek
57f86f7f52
[JITARM] Fixes an issue in the slowmem path that causes grey THP movies, and issues of games not working like Mario Kart being incapable of getting ingame. This was due to me forgetting an instruction.
2014-02-04 13:44:26 -06:00
Tillmann Karras
442796b681
Jit64IL: nits
2014-02-04 09:09:06 +01:00
Matthew Parlane
0c2a826693
Merge pull request #29 from lioncash/remove-pointless-cstr
...
Remove a pointless c_str() call in FileUtil.cpp.
2014-02-03 19:48:53 -08:00
Lioncash
7ebc829b17
Remove a pointless c_str() call in FileUtil.cpp. The function takes a string in it's parameter
2014-02-03 21:31:12 -05:00
Pierre Bourdon
36f6ec8b89
Merge pull request #27 from delroth/swcp-struct-fix
...
SWCommandProcessor: fix the CPReg structure fields
2014-02-03 16:42:05 -08:00
Tillmann Karras
8ef57064b2
Silence warning
2014-02-04 01:30:39 +01:00
Pierre Bourdon
8ab6ed4b49
SWCommandProcessor: fix the CPReg structure fields
...
This structure fields should match byte-to-byte the layout of MMIO registers:
it is addressed using the MMIO reg address when doing a CP MMIO read. This was
unfortunately not the case, causing CP reads to be mostly broken with the
software renderer.
2014-02-04 01:16:14 +01:00
Pierre Bourdon
3363b396af
Merge pull request #23 from lioncash/sorta-large-input-cleanup
...
Larger cleanup to input-related source files (this time using unique_ptr).
2014-02-02 15:11:15 -08:00
Lioncash
e96f464eb5
[VideoCommon] Remove references to now non-existant files OpenCL.h and OpenCL/OCLTextureDecoder.h in the Visual Studio vcxproj file.
2014-02-01 21:52:06 -05:00
Lioncash
3efb0aa5f7
Purely stylistic cleanup of Core/HW/WiimoteEmu/Attachment/* files.
...
Also cleaned up WiimoteEmu.h as well.
2014-02-01 19:13:38 -05:00
Lioncash
c31a623780
Clean up InputConfigDiag.cpp.
...
Changes a bunch of for+iterator loops into foreach loops.
2014-02-01 19:02:32 -05:00
Lioncash
557015626a
Introduce the usage of unique_ptr into the InputCommon ControlEmu.h class. Allows for the automatic handling of resource deallocation.
2014-02-01 17:20:35 -05:00
degasus
6089e4470a
OGL: remove ubo workaround
...
This was only keeped for some broken mesa versions. Meanwhile most used versions should be fixed for almost a year.
2014-02-01 22:33:45 +01:00
Pierre Bourdon
97119d0e89
Merge pull request #18 from lioncash/small-jit-macro-cleanup
...
Move two macros (JITDISABLE and INSTRUCTION_START) into JitBase.h.
2014-02-01 09:29:00 -08:00
degasus
31c3bee5bc
VertexShaderGen: fix D3D posmtx attribute regression by VertexLoaderCleanup branch
...
Sorry, I'm too dumb too test my code. I hope this will work fine now.
2014-02-01 11:35:46 +01:00
Tony Wasserka
3dd31fe22b
Merge pull request #11 from degasus/VertexLoaderCleanup
...
Vertex loader cleanup.
2014-01-31 06:13:26 -08:00
neobrain
0735fb7a52
Merge pull request #13 from degasus/dlCacheRemove
...
Remove Display List caching.
2014-01-31 03:42:06 -08:00
degasus
3437c7f060
VideoCommon: small VertexLoader(Manager)? refactoring
2014-01-31 07:31:03 +01:00
degasus
010a0d481a
VideoCommon: remove Cache Displaylist
...
This option was known to break every second game and only boost a bit.
It also seems to be broken because of streaming into pinned memory and buffer storage buffers.
v2: also remove dlc_desc
2014-01-31 07:30:55 +01:00
degasus
a65162f1cd
PortableVertexFormat: use AttributeFormat for posmtx attribute format
2014-01-31 07:19:34 +01:00
degasus
6c59b691b0
PortableVertexFormat: use AttributeFormat for texcoord attribute format
2014-01-31 07:19:34 +01:00
degasus
ef2d6e7d53
PortableVertexFormat: use AttributeFormat for color attribute format
2014-01-31 07:19:34 +01:00
degasus
b38ef39ab7
PortableVertexFormat: use AttributeFormat for normal attribute format
2014-01-31 07:19:34 +01:00
degasus
210f4f3e55
PortableVertexFormat: add a struct which hold all needed information for every vertex and use this for position
...
atm, position attribute is hardcoded both in VertexLoader and in backends.
v2: fix coding style + cleanup lookup table
2014-01-31 07:19:25 +01:00
Lioncash
89001accd8
Move two macros that literally doesn't change across all JIT platforms (JITDISABLE and INSTRUCTION_START) and simply have it in the JitBase.h source file. This way the macro is just located in one spot rather than 6 places.
2014-01-30 22:11:39 -05:00
Lioncash
825c5f689b
Remove some unnecessary comments, as pointed out by Matt_P.
2014-01-30 20:21:18 -05:00
Lioncash
d91a5abba1
Light cleanup to a little bit of InputCommon. Replaces much of the iterators that litter this section of the codebase.
...
Also clean up a little bit of the comments that describe the interface classes.
2014-01-30 19:51:21 -05:00
Lioncash
fea3076241
Fix an unused variable within function GetScheduledEventsSummary() in CoreTiming.cpp.
2014-01-30 15:52:27 -05:00
degasus
02d1d8e6a0
NativeVertexFormat: swap unsigned / signed formats to match GX order
2014-01-30 11:12:10 +01:00
Pierre Bourdon
72cc6431e5
Merge pull request #9 from Sonicadvance1/Fix-AndroidRender
...
[Android] Fix Android not calling eglSwapBuffers
2014-01-29 15:08:32 -08:00
Ryan Houdek
99b6c82ac3
[Android] Fix Adreno v53 development drivers rotating framebuffer
...
Older Qualcomm drivers rotated the framebuffer 90 degrees and this fix didn't work.
Now for some obscene reason it rotates a full 180 degrees.
This can at least be worked around by flipping around the image on our end.
2014-01-29 16:39:45 -06:00
Ryan Houdek
990be70eb7
[Android] Fix Android not calling eglSwapBuffers
...
This isn't the cleanup that GLInterface needs, but for now it makes it so it'll swap and not just black screen
A cleanup to GLInterface will be coming in a couple weeks.
2014-01-29 15:54:55 -06:00
Lioncash
0f555d3a47
Remove two references to DX9 in VideoCommon.
...
DX9 isn't a backend anymore, so may as well get rid of them
2014-01-29 14:39:13 -05:00
Ryan Houdek
ac2ebd264d
Merge pull request #5 from lioncash/android-info-fix
...
[Android] Fix three limits in GLES2InfoFragment.java.
2014-01-29 04:46:01 -08:00
Lioncash
74d9d7923e
Fix three limits in GLES2InfoFragment.java.
2014-01-29 07:35:07 -05:00
Buildbot system user
7ed9f5e63e
Upgrade Android API.
2014-01-28 23:35:13 +00:00
neobrain
7b459d2463
Merge pull request #4 from lioncash/android-about-menu-info
...
Expand the Android app's about menu to include additional info about a user's device.
2014-01-28 15:19:05 -08:00
degasus
b1290a8630
OGL: remove version check for buffer_storage on windows
...
On Windows, nvidia don't give us their driver version, so we can't workaround any issues.
As buffer_storage is broken on some drivers, we wanted to disble it for them.
So we can't.
Luckyly only "some" released driver versions are affected as this extension is only available since some months. Let's hope that nobody have to use one of this driver version, else they will get a black screen ...
2014-01-28 15:15:26 +01:00
Jules Blok
5d1db5d717
Fix compilation
2014-01-27 21:40:28 +09:00
Jules Blok
76019848a4
Fix coding style
2014-01-27 21:24:35 +09:00
Zakk
0eadc2e2a4
Implement SwapInterval for AGL interface
2014-01-27 21:11:03 +09:00
Lioncash
b9e7749fe6
[Android] Implement CPU info retrieval within the about menu.
...
ARM only at the moment. Could potentially support x86 and MIPS if necessary.
Capable of parsing the manufacturer codes and part IDs of some (but not all part numbers). If anyone knows of part numbers that aren't in the list, please report them.
2014-01-26 21:37:43 -05:00
crudelios
9b6c6fa9e4
BBox: Changed the rounding again, the old one fixed Paper Mario but had bugs in Mickey's Magical Mirror. This change fixes the glitches in both games.
...
Also fixed some compiler warnings.
2014-01-26 13:21:22 +00:00
degasus
d3fd0eddbb
OSX: don't avoid unsync mapping on nvida gpus just because the windows driver doesn't like it
...
OSX has their own driver, so performance issues aren't shared with the nvidia driver (unlike the closed source linux and windows nvidia driver). So now they'll also use the MapAndSync backend like all other osx drivers.
fixes issue 6596
I've also cleaned up the if/else block selecting the best backend a bit.
2014-01-26 11:00:29 +01:00
Lioncash
6f74f59427
[Core] Remove an unnecessary pragma directive from EXI_Channel.h.
...
Dolphin uses warning level 3 in VS. This warning is only triggered in warning level 4.
2014-01-25 17:12:59 -05:00
Tillmann Karras
e94a6f07f4
Fix warning
2014-01-25 21:42:44 +01:00
crudelios
23b8465621
BBox: fix for a small rounding issue.
...
The new chapter title in Paper Mario TTYD had a small graphical bug due to the new code because it read one extra pixel, this fixes it.
I hope this gets everything, I though I had checked most bugs and yet here I am, commit-spamming...
2014-01-25 19:13:32 +00:00
crudelios
90a7e053c5
Merge branch 'master' of https://code.google.com/p/dolphin-emu
2014-01-25 18:06:58 +00:00
crudelios
5f14f0e3ce
BBox: read from the proper world matrix index when transforming vertexes to screen coordinates.
...
Fixes some remaining bbox related bugs in Mickey's Magical Mirror and a slight graphical glitch in Paper Mario: TTYD when flipping and Vivian as your companion (I've been scratching my head for days to find this one).
2014-01-25 18:04:15 +00:00
Tillmann Karras
b34fe2b8f1
x64: fix parameter names of WriteModRM()
2014-01-25 17:36:09 +01:00
crudelios
cdfe58f7ed
Rewrote bounding box algotithm. Fixes issues 5967, 6154, 6196, 6211.
...
Instead of being vertex-based, it is now primitive (point, line or dissected triangle) based, with proper clipping.
Also, screen position is now calculated based on viewport values, instead of "guesstimating".
This fixes many graphical glitches in Paper Mario: TTYD and Super Paper Mario.
Also, the new code allows Mickey's Magical Mirror and Disney's Hide & Sneak to work (mostly) bug-free. I changed their inis to use bbox.
These changes have a slight cost in performance when bbox is being used (rare), mostly due to the new clipping algorithm.
Please check for any regressions or crashes.
2014-01-25 15:36:23 +00:00
Scott Mansell
dd42af9a7c
Videosoftware: Fix memory cleanup code.
2014-01-25 11:06:18 +13:00
Rachel Bryk
a3d1b9aba7
Increase save state version.
2014-01-24 00:15:56 -05:00
Scott Moreau
202054708b
EGL: Fix android build broken by last commit
2014-01-23 19:41:07 -07:00
Scott Moreau
d4ff195cad
EGL: Properly set parent window.
...
In X with EGL and WX frontend enabled, running the emulator created
two windows. This was because the parent window was set incorrectly.
2014-01-23 19:20:22 -07:00
degasus
1898524c96
VideoCommon: fix "Buffer not large enough for all vertices!"
2014-01-24 00:10:21 +01:00
Ryan Houdek
fd8757a64b
Fix OpenGL 2.1 devices that support everything we need.
...
The only two devices that do this are Mesa software rasterizer and Intel Ironlake(With a few hacks).
Basically since it doesn't support OpenGL 3.0, it can't grab the version the new way.
So failing that, it sets to GL 2.1, and continues.
Further along, on Ironlake at least, it tries grabbing the extensions the new GL 3.0 way and fails.
So have a fallback that grabs the extensions string the old way, in probably the most elegant way possible.
2014-01-23 16:02:53 -06:00
degasus
65121cf9a9
OpenGL: remove unused OpenGL headers
2014-01-23 18:52:57 +01:00
degasus
1ff681a412
D3D: move streaming buffer fallback into D3D backend
...
Neith OGL nor VideoCommon doen't use it, so there is no need to have it in VideoCommon.
2014-01-23 15:27:18 +01:00
degasus
62f1905978
VideoCommon: don't save streaming fifos into savestate
2014-01-23 15:12:31 +01:00
degasus
ff002320a5
OpenGL: Stream vertices + indices
2014-01-23 15:12:31 +01:00
degasus
52feed04db
VideoCommon: allow backends to set the buffer pointer as they want to
2014-01-23 15:12:31 +01:00
degasus
128fcdac26
OpenGL: refactor all of our StreamBuffers
...
The old way was to use big switch/case statements based on a type of buffer.
The new one is to use inheritance.
This change prohibits us to change the buffer type while running, but I doubt we'll ever do so.
Performance should also be a bit better. Also a nice cleanup.
Added some comments about this different kind of buffers.
2014-01-23 15:12:31 +01:00
degasus
be1fee6d74
OpenGL: change StreamBuffer in a streaming way
...
This is a bit slower on map_and_* because of flushing and _very_ much slower on buffer(sub)?data because of a new memcpy.
But this design allow us to decode directly into a gpu buffer, eg vertexloader will profit :)
2014-01-23 15:12:31 +01:00
Ryan Houdek
650bae12e1
Bit of a failure. Fixes 6964.
...
I was attempting to grab wglSwapIntervalEXT prior to having a valid WGL context.
This was doomed to fail.
2014-01-23 08:04:33 -06:00
Ryan Houdek
07db7520bf
[GLExt-Cleanup] This cleans up some extra bits unneeded in the extension headers
...
gl.h and glext.h provide most of the function pointer typedefs and defines for extensions and core features.
The only one it doesn't provide is GL 1.1 function typedefs, but this is to be expected.
If anything needs defines or typedefs in their header in the future, that's as easy as before.
2014-01-23 07:11:13 -06:00
Lioncash
391d26d3bf
[DolphinWX] Prevent hotkeys from being assigned to more than one button/function.
...
Prior to this commit it was possible to assign the same keycode to more than one button.
ie. Say I assigned Open with the hotkey Ctrl+O; well, it was possible to also add it to another function as well, which leads to hotkey clashing.
Now, say I assign Open with Ctrl+O, but then assign that same hotkey to Refresh List; it will unbind the hotkey from Open and then assign it to refresh list.
2014-01-22 18:28:59 -05:00
Lioncash
521aa631dc
[Android] Parse integer ranges in the GLES3 info tab.
...
The info we retrieve will only ever have 2 elements given back to us.
2014-01-22 12:28:46 -05:00
Lioncash
36863bf7b8
[Android] Get rid of the version check class in VideoSettingsFragment.java. Not needed anymore since the introduction of the EGLHelper class. Also decouples some classes from the VideoSettingsFragment.java class (yay).
...
- Minor other change is that the EGL helper fields in GLES3InfoFragment.java, GLES2InfoFragment.java, and GLInfoFragment.java are made final.
2014-01-22 11:56:25 -05:00
Lioncash
5c4d087e8f
[Android] Greatly clean up the previous commits. Now here is the long list of cleaned up things:
...
- Spaces -> Tabs | Consistency
- Javadoc everything that was added and not documented.
- Remove duplicated code regarding the adapter that used to reside in DolphinInfoFragment.java. Now it resides in AboutActivity.java without a second duplication of it.
- Properly retrieve all of the contexts in the EGL initialization in EGLHelper.java.
- Remove the attribute EGL_RENDERABLE_TYPE from the pbuffersurface attributes in EGLHelper.java. With this present, the EGL context will always fail to reinitialize if destroyed and attempted to be recreated.
- Break the inner class Limit within GLES2InfoFragment.java, GLES3InfoFragment.java, and GLInfoFragment.java into its own single class. Greatly reduces code duplication.
- Introduce a Type enum into Limit.java (one of the wildly rare cases in Java where an enum is actually an OK solution). Removes duplicated constants from the Java files stated in the previous bullet note.
- Add a copyright comment to the top of EGLHelper.java. Forgot to do this initially, my bad.
- Add some missing override annotations to GLES2InfoFragment.java, GLES3InfoFragment.java, and GLInfoFragment.java.
- Use StringBuilders in the previously mentioned three Java files. This is better than using a String in this instance, as the String object won't have to be recreated multiple times (ala concatenation).
- Fix some constant accessors in the previously mentioned three Java files.
- Added the 'final' modifier to the above three classes and to Limit.java. These classes serve a single purpose only, and are not intended to be inherited.
2014-01-22 00:41:23 -05:00
Ryan Houdek
7e9b8d18a7
[android-about-menu-info] Add desktop OpenGL tab population.
...
Since showing every single limit that desktop OGL supports is crazy, Let's just show the basic information, and extensions.
2014-01-21 17:55:00 -06:00
Ryan Houdek
d3ccf1c7b5
[android-about-menu-info] Have information populate the GLES2 and GLES3 tabs.
...
There is a /lot/ of information in these tabs, we may have to think about changing how the information looks
OpenGL isn't done yet since there are a million limits on desktop GL, may just show a few things and extensions there.
2014-01-21 17:45:39 -06:00
degasus
3cb5bb3b30
VertexLoader: temp class for reader/writer
2014-01-21 23:44:51 +01:00
degasus
0b97b33ceb
VertexLoader: inline destionation buffer
2014-01-21 19:23:07 +01:00
degasus
c613868f57
VertexLoader: load scale factor as const, this will save some assembler instructions
2014-01-21 18:54:16 +01:00
degasus
f90fe90320
fix windows debug comile
...
This is broken because of revision ebbf1d392b
2014-01-21 14:23:50 +01:00
degasus
ebbf1d392b
VideoCommon: merge trivial parts of VertexManager::Flush
2014-01-21 10:47:00 +01:00
degasus
60632fda6f
OpenGL: remove small optimization
...
This one was introduced to reduce the glBindTexture and glActiveTexture calls. But it was quite a bit of logic and only an improvment on uploading/creating a texture, which is done rarely.
2014-01-21 10:34:48 +01:00
degasus
fe02833f13
OpenGL: fix our ubo workaround when blend_func_extended is missing
2014-01-21 10:03:05 +01:00
Lioncash
0dc437e94d
[Android] Finally check if regular OpenGL is possible on devices and display/hide it's fragment based upon this in AboutActivity.java.
...
Also added another constructor to EGLHelper which can be used to quickly query for information.
2014-01-21 00:12:40 -05:00
Scott Mansell
8b2c540544
Finally Merge branch 'videosoftware-xfb'
...
This adds xfb support to the videosoftware backend, which increases it's
accuracy and more imporantly, enables the usage of many homebrew apps
which write directly to the xfb on the videosoftware backend.
Conflicts:
Source/Core/VideoBackends/Software/SWRenderer.cpp
Source/Core/VideoBackends/Software/SWmain.cpp
2014-01-21 00:10:00 +13:00
Scott Moreau
2c8340e1dc
Move GLInterface.h into GLInterface directory
2014-01-20 00:46:21 -07:00
Scott Moreau
4b3c338930
Merge Platform.h into GLInterface.h
2014-01-20 00:32:01 -07:00
Lioncash
f8abdbf91a
[Android] Initial introduction of the EGLHelper utility class. Should simplify all interop with the EGL/GL APIs. Not hooked up yet. However it is entirely functional.
2014-01-19 18:29:43 -05:00
Ryan Houdek
683dbc09ac
Stop building GLExtensions.cpp twice(One in GL, one in software). We don't need to build it twice, this'll save a bit of time in the build process.
...
Also a bit of spacing cleanup.
2014-01-19 11:37:37 -06:00
Scott Moreau
84aa98a5a4
wayland: Add bits required to run as a wayland client.
2014-01-19 10:36:20 -07:00
Tillmann Karras
21b0252e27
Jit64: disable non-IEEE mode emulation
...
I give up. Merging the ppc_fp branch has caused issues in numerous games
and I can't find the bug. I'm leaving this merged to enable easy
recompilation for people who would like to play games that benefit from
non-IEEE mode emulation (e.g. Starfox Assault).
2014-01-19 09:36:08 +01:00
Rachel Bryk
4a81baff3f
Reenable vsync after releasing tab even if frame limit is disabled.
2014-01-19 02:48:59 -05:00
Ryan Houdek
5d26bf6d9d
Rename our GLInterface class function 'GetProcAddress' in order to not have clashing function names due to Windows.
2014-01-18 14:18:32 +00:00
Ryan Houdek
bea484e12f
Move Win32 specific function grabbing fallback to WGL.cpp. Fixes issue 6964.
2014-01-18 14:10:24 +00:00
Ryan Houdek
839df31347
Merge of GL-AutoChoose.
...
This branch is the final step of fully supporting both OpenGL and OpenGL ES in the same binary.
This of course only applies to EGL and won't work for GLX/AGL/WGL since they don't really support GL ES.
The changes here actually aren't too terrible, basically change every #ifdef USE_GLES to a runtime check.
This adds a DetectMode() function to the EGL context backend.
EGL will iterate through each of the configs and check for GL, GLES3_KHR, and GLES2 bits
After that it'll change the mode from _DETECT to whichever one is the best supported.
After that point we'll just create a context with the mode that was detected
2014-01-18 04:11:59 +00:00
degasus
5a599d472e
Merge branch 'GLExtensions'
2014-01-17 16:49:51 +01:00
degasus
304adc6e0d
IndexGenerator: inline all variables
...
As we do lots of writes to *Iptr, the compiler isn't allowed to cache any shared variable (neither index nor Iptr itself).
This commit inlines Iptr + index into the index generator functions, so the compiler know that they are const.
2014-01-17 16:34:53 +01:00
degasus
1d6425bd5e
IndexGenerator: drop unused variable
2014-01-17 16:34:53 +01:00
degasus
6b01839525
VideoCommon: merge triangle+list+point index buffers
...
We are used to render them out of order as long as everything else matches, but rendering order does matter, so we have to flush on primitive switch. This commit implements this flush.
Also as we flush on primitive switch, we don't have to create three different index buffers. All indices are now stored in one buffer.
This will slow down games which switch often primitive types (eg ztp), but it should be more accurate.
2014-01-17 16:34:53 +01:00
degasus
e932a349e8
[GLExtensions] fixup for missing changes on rebase
2014-01-17 16:10:10 +01:00
Ryan Houdek
29e0a90b88
[GLExtensions] Rename internal GetProcAddress function since it clashes with the global Windows function. Fix Windows function pointer grabbing.
2014-01-17 16:06:46 +01:00
Ryan Houdek
3d4d3f6b11
[GLExtensions] Remove a bunch of unneeded headers. Fix Linux+EGL compiling. Move include to glx.h around to work around it including global GL/gl.h
2014-01-17 16:06:29 +01:00
Ryan Houdek
6cdb05b633
[GLExtensions] OpenGL 3.0 also added GL_ARB_map_buffer_range to core.
2014-01-17 16:06:23 +01:00
Ryan Houdek
a5ffe9932a
[GLExtensions] Future proof ourself by putting the default: instance on the top, so we'll grab extensions if they support something newer. Handle older GLVersions in the case they get that far.
2014-01-17 16:06:18 +01:00
Ryan Houdek
2a11fead5c
[GLExtensions] Populate the extension list for OpenGL implementations that don't show core extensions.
2014-01-17 16:06:13 +01:00
Ryan Houdek
0ea6718d99
[GLExtensions] Fix OS X build.
2014-01-17 16:06:08 +01:00
Ryan Houdek
34c9a33807
[GLExtensions] Remove AGL GetProcAddress. Change dlsym to using RTLD_NEXT. Enable dlsym fallback for OS X
2014-01-17 16:06:03 +01:00
Ryan Houdek
ca96274936
[GLExtensions] Make sure to link against libdl since we use it to grab GL function pointers in Linux/Android in the case the GLInterface->GetProcAddress fails.
2014-01-17 16:05:57 +01:00
Ryan Houdek
45dfa3a481
[GLExtensions] Missed a couple USE_GLES3 compile time differences.
2014-01-17 16:05:52 +01:00
Ryan Houdek
97dc20d1be
[GLExtensions] Pull in all the function pointers for OpenGL 1.1, This removes the need for a couple compile time differences between GL and GLES3 mode.
2014-01-17 16:05:40 +01:00
Ryan Houdek
f308b878b2
[GLExtensions] Oops. Don't just outright disable these helper functions.
2014-01-17 16:05:34 +01:00
Ryan Houdek
cfb8b43b4a
[GLExtensions] Don't fail out loading funciton pointers in both ES2 and ES3 modes.
2014-01-17 16:05:25 +01:00
Ryan Houdek
fc1f8291d6
[GLExtensions] Make sure to initialize our function pointers with VideoSoftware as well.
2014-01-17 16:05:07 +01:00
Ryan Houdek
eba0c21b5a
[GLExtensions] Fix Windows build.
...
Conflicts:
Source/VSProps/Base.props
2014-01-17 16:04:05 +01:00
Ryan Houdek
17955fa025
[GLExtensions] Still had a GLEW lib hanging out in the CMake file for the software renderer.
2014-01-17 16:01:49 +01:00
Ryan Houdek
2a8ee1a7ff
[GLExtensions] Hopefully fix OS X build.
2014-01-17 16:01:35 +01:00
Jack Frost
f4bd7bdef0
fix windows build
...
add the GL include (back) to Base.props
use a similar technique to GLX.cpp (by Sonic) in WGL.cpp to get
wglSwapIntervalEXT without the WGLEW check
Conflicts:
Source/Core/VideoBackends/OGL/OGL.vcxproj
Source/Core/VideoBackends/OGL/OGL.vcxproj.filters
Source/VSProps/Base.props
2014-01-17 16:01:17 +01:00
Ryan Houdek
10bd61a9d2
[GLExtensions] Dynamically pull in the GL 1.3 and 1.4 functions as well.
2014-01-17 15:56:54 +01:00
Ryan Houdek
d5a7ea2041
[GLExtensions] KHR_debug on OpenGL ES 3 has a KHR suffix on their function pointers. In Desktop OpenGL there is no suffix. So handle this correctly. Make the GrabFunction macro slightly less evil, so update the init_* to reflect it. Thanks Bh44L for the suggestion.
2014-01-17 15:56:28 +01:00
Ryan Houdek
d093276e93
[GLExtensions] Fix a typo in KHR_debug
2014-01-17 15:56:20 +01:00
Ryan Houdek
a024c515c8
[GLExtensions] Remove glew includes from wgl and agl.
2014-01-17 15:56:04 +01:00
Ryan Houdek
cf8865a6e5
[GLExtensions] Add ARB_buffer_storage to negate at least one null pointer instance.
2014-01-17 15:52:34 +01:00
Ryan Houdek
71681de81a
[GLExtensions] Initial code drop for GLExtensions. This drops GLEW entirely from the codebase. This has been tested on Android and Linux+ATI. Of course untested on Windows and Apple. Also untested with Linux + EGL but should be fine there. There are most likely a couple of extensions I'm missing which would result in null pointer runs but not bad for the initial commit.
...
Conflicts:
CMakeLists.txt
Externals/GLew/glew.vcxproj
Externals/GLew/glew.vcxproj.filters
Source/Core/VideoBackends/OGL/CMakeLists.txt
Source/Core/VideoBackends/OGL/GLFunctions.cpp
Source/Core/VideoBackends/OGL/GLFunctions.h
Source/Core/VideoBackends/OGL/GLUtil.h
Source/Core/VideoBackends/OGL/Render.cpp
Source/VSProps/Base.props
2014-01-17 15:50:51 +01:00
degasus
770485ad04
VertexLoader: don't check for possible range
...
I(index) < std::numeric_limits<I>::max() is always true, so we don't have to check it
2014-01-16 22:07:48 +01:00
degasus
5eae39766b
enable buffer_storage on nvidia 331.38 on linux
...
it works fine here, and as the VSH is removed, this is the newest driver.
2014-01-16 17:51:38 +01:00
degasus
331af32038
fixup "Remove the ZTP speedup hack"
...
This fixes revision b49c09c36b
2014-01-16 00:26:49 +01:00
Tony Wasserka
f1adc56a56
Remove vertex streaming hack.
...
NV has buffer_storage, AMD has pinned memory.
Both are better than that hack which shouldn't ever have been introduced in the first place.
2014-01-16 00:11:12 +01:00
Tony Wasserka
b49c09c36b
Remove the ZTP speedup hack. Also remove useless debugging code, and a presumably outdated workaround (which was commented out).
...
Fixes issue 6875.
2014-01-16 00:11:12 +01:00
degasus
5e5db9fbc6
VideoCommon: cleanup of "components" usage
...
This "u32 components" is a list of flags which attributes of the vertex loader are present.
We are used to append this variable to lots of vertex generation functions, but some of them don't need it at all.
2014-01-15 16:58:36 +01:00
Pierre Bourdon
a561c436fc
Change the default GFX backend from D3D11 to OGL.
...
Rationale and discussion:
https://ml.dolphin-emu.org/archives/dolphin-dev/2014-January/000003.html
2014-01-14 21:57:32 +01:00
skidau
8b53385c54
Added a check for a redundant mov in the fastmem writes code.
...
Fixes issue 6905.
2014-01-13 22:18:19 +11:00
degasus
e00c3ce363
TextureConverter: remove implicit int->float convertion
...
They was used to check if we're writing to the first or second part of one pixel.
So this is now done with a boolean and a ternary operator.
2014-01-13 12:10:17 +01:00
Scott Mansell
9aff16e7c1
Fix stupid bug in Z16L depth texture efb2ram encoding shader.
2014-01-12 13:32:06 +13:00
Ryan Houdek
e3d103f60c
Update some of the comments in DriverDetails.h for drivers that have fixed their bugs.
2014-01-11 07:31:47 -06:00
Ryan Houdek
67f099af33
Enable buffer_storage for Nvidia drivers 332.21 and above.
2014-01-09 12:06:12 -06:00
degasus
95aa977d81
OGL: remove masking from streambuffer
...
We used this to disable pinned memory for index buffer, but as the detection
was reworked completely, it's just unused code.
2014-01-09 18:52:05 +01:00
degasus
eb310cbd1d
VideoCommon: disable efb access + perf querys on cph thread
...
The usual way to handle this kind of request is to rise a flag which the gpu thread polls.
The gpu thread itself either generates the result or just write zeros if disabled.
After this, it rise another flag which says that this work is done.
So if disabled, we still have the cpu-gpu round trip time. This commit just returns 0 on the cpu thread
instead of playing ping pong...
2014-01-09 18:37:59 +01:00
Pierre Bourdon
45f74840d6
Do not fastmem addresses that were constant propagated
2014-01-09 08:28:45 +01:00
Rachel Bryk
48470a20ca
Code cleanup
...
Move enums for max SI and EXI devices to their respective .h file, and rename them.
Use only those enums in BootManager.cpp. Same thing in Movie.cpp
Change one instance of MAX_BBMOTES to MAX_WIIMOTES in Movie.cpp, since movies do not support balance board.
2014-01-08 20:36:27 -05:00
Jasper St. Pierre
3046d0e701
NetPlay: Sync CPU engine between NetPlay clients/servers
2014-01-08 19:42:02 -05:00
Rachel Bryk
216f4c927a
Fix copy and paste error in BootManager.cpp.
2014-01-08 19:37:51 -05:00
Ryan Houdek
b55a4bb087
Slight optimization in the pixel shader. We are using pow(2.0, X) in place of exp2(X). This can be faster in places that don't optimize a pow to a exp2 in this case.
...
Notice this from here: http://cgit.freedesktop.org/mesa/mesa/commit/?id=847bc36a38d42967ad6bf0492fe90a4892d9d799
Intel Haswell GPU is 24 cycles for POW and 14 cycles for EXP2.
Maybe other GPUs don't optimize this either. Just be safe.
2014-01-08 16:40:31 -06:00
Ryan Houdek
cdf69adcb0
Fix for previous commit. I was supposed to use GL_VERSION, not GL_RENDERER.
2014-01-07 19:35:06 -06:00
Lioncash
45964e4b46
[Android] Initial implementation of the extended info menu.
...
Most fragments are not implemented yet. This is just a working base framework for it.
2014-01-07 19:47:15 -05:00
Ryan Houdek
d2e62796fc
Probe the GL_RENDERER string on Nvidia to grab the driver version.
2014-01-07 18:29:04 -06:00
Ryan Houdek
7acc64eb0a
[Android] Reenable the bug for dynamic UBO array member accesses.
...
Some information on this bug since this isn't quite true.
Seemingly with the v53 driver, Qualcomm has actually fixed this bug. So we can dynamically access UBO array members.
The issue that is cropping up is actually converting our attribute 'fposmtx' to an integer.
int posmtx = int(fpostmtx);
This line causes some seemingly garbage values to enter in to the posmtx variable.
Not sure exactly why it is failing, probably them just not actually converting the float to an integer and just handling the float directly as a integer.
So the bug is going to stay active with Qualcomm devices until we convert this vertex attribute from a float to a integer.
2014-01-07 07:56:30 -06:00
NeoBrainX
55717ed216
D3D: Verbosify an error message.
2014-01-06 10:31:09 +00:00
degasus
e6676b4565
OpenGL: fix scaled efb2ram copys
...
This fix a regression in revision 687097d4bc
because of the wrong order of moving the sampled rect and scaling.
2014-01-05 18:19:17 +01:00
Pierre Bourdon
ed67d1ae2f
Fix the Zelda: The Wind Waker heat effect glitch.
...
Let's talk a bit about this bug. 12nd oldest bug not fixed in Dolphin, it was a
lot of fun to debug and it kept me busy for a while :)
Shoutout to Nintendo for framework.map, without which this could have taken a
lot longer.
Basic debugging using apitrace shows that the heat effect is rendered in an
interesting way:
* An EFB copy texture is created, using the hardware scaler to divide the
texture resolution by two and that way create the blur effect.
* This texture is then warped using indirect texturing: a deformation map is
used to "move" the texture coordinates used to sample the framebuffer copy.
Pixel shader: http://pastie.org/private/25oe1pqn6s0h5yieks1jfw
Interestingly, when looking at apitrace, the deformation texture was only 4x4
pixels... weird. It also does not have any feature that you would expect from a
deformation map. Seeing how the heat effect glitches, this deformation texture
being wrong looks like a good candidate for the problem. Let's see how it's
loaded!
By NOPing random calls to GXSetTevIndirect, we find a call that when removed
breaks the effect completely. The parameters used for this call come from the
results of methods of JPAExTexShapeArc objects. 3 different objects go through
this code path, by breaking each one we can notice that the one "controlling"
the heat effect is the one at 0x81575b98.
Following the path of this object a bit more, we can see that it has a method
called "getIndTexId". When this is called, the returned texture ID is used to
index a map and get a JPATextureArc object stored at 0x81577bec.
Nice feature of JPATextureArc: they have a getName method. For this object, it
returns "AK_kagerouInd01". We can probably use that to see how this texture
should look like, by loading it "manually" from the Wind Waker DVD.
Unfortunately I don't know how to do that. Fortunately @Abahbob got me the
texture I wanted in less than 10min after I asked him on Twitter.
AK_kagerouInd01 is a 32x32 texture that really looks like a deformation map:
http://i.imgur.com/0TfZEVj.png . Fun fact: "kagerou" means "heat haze" in JP.
So apparently we're not using the right texture object when rendering! The
GXTexObj that maps to the JPATextureArc is at offset 0x81577bf0 and points to
data at 0x80ed0460, but we're loading texture data from 0x0039d860 instead.
I started to suspect the BP write that loads the texture parameters "did not
work" somehow. Logged that and yes: nothing gets loaded to texture stage 1! ...
but it turns out this is normal, the deformation map is loaded to texture stage
5 (hardcoded in the DOL). Wait, why is the TextureCache trying to load from
texture stage 1 then?!
Because someone sucked at hex.
Fixes issue 2338.
2014-01-05 11:33:15 +01:00
degasus
c42f274e22
OpenGL: use shader 420pack if available to staticly bind ubo location
...
Bindung locations after compiling a shader stalls the driver. So if we manage not to bind anything after compilation, the lag would be reduced much.
2014-01-05 10:38:45 +01:00
degasus
4fff5ac90d
OpenGL: drop UBO-workaround usage for efb2ram shaders
...
It's just brainfuck to use this workaroung there. Just fetch the uniform location like all other util shaders.
2014-01-05 09:52:26 +01:00
degasus
01351795f0
TextureCache: Warn for invalid custom textures
...
At the moment, custom textures with:
- invalid mipmap size
- invalid aspect ratio
- non-fractional scaling factors
are allowed. But they can't be loaded fine by the backend, so generate a warning if someone trys to load them.
2014-01-03 14:30:12 +01:00
degasus
0f0a3cc509
ogl: clamp to edge for out of bound efb access
...
fixes issue 6898
OpenGL defaults are GL_REPEAT, which is even more unlikely than GL_CLAMP_TO_EDGE.
As I can't test the behavoir of the real hardware, I changed it to how it works before,
but I guess just clip the texture makes more sense.
2014-01-03 08:15:19 +01:00
Rachel Bryk
509ec9cc99
Bootmanager.cpp fixes and clean up.
...
Some settings that bootmanger reads from game ini can be changed while a game is running, so we don't have to revert these back to what they were when starting the game, unless they were actually changed by the game ini.
Fix signed/unsigned warnings that pauldacheez pointed out.
2014-01-02 16:36:06 -05:00
Rachel Bryk
450cacd092
Allow pad settings to be set via game ini.
2014-01-02 13:13:59 -05:00
Lioncash
e6497bca5a
[Android] Simplify instantiations of OverlayConfigButton.java. Also simplified resizeDrawable even more. We just acquire the resource instance and then get the display metrics directly.
2014-01-02 12:23:17 -05:00
Lioncash
5635c94a30
[Android] Simplify resizeDrawable in OverlayConfigButton.java.
...
Also add a missing override to onRestart in DolphinEmulator.java.
2014-01-02 11:53:28 -05:00
Ryan Houdek
0faf696be7
Merge Fail. We don't disable BaseVertex on broken pinned memory.
2014-01-01 17:20:09 -06:00