Pierre Bourdon
ebf1b98106
Merge pull request #834 from FioraAeterna/fixfmulrounding
...
JIT64: Fix fmul rounding issues
2014-08-24 19:49:56 +02:00
Pierre Bourdon
aaff5a0afb
Merge pull request #856 from FioraAeterna/ppcfpopt
...
JIT: faster PPC_FP code
2014-08-24 19:25:56 +02:00
Pierre Bourdon
b749a74d33
Merge pull request #863 from lioncash/remhost
...
UnitTests: Remove now non-existent UpdateStatusBar from StubHost.
2014-08-24 14:41:13 +02:00
Pierre Bourdon
6a5188c9bc
Merge pull request #839 from Tilka/emitter
...
x64Emitter: small source-level fixes
2014-08-23 19:37:24 +02:00
Pierre Bourdon
4ec848736d
Merge pull request #847 from Linktothepast/gameinis
...
Gameini updates.
2014-08-23 19:20:05 +02:00
Pierre Bourdon
f7102faae7
Merge pull request #853 from lioncash/memmap
...
Core: Simplify Memory::GetString
2014-08-23 19:19:09 +02:00
Pierre Bourdon
5bfc3ad342
Merge pull request #827 from Sonicadvance1/fix-pp-config
...
Fixes PP-shaders on !Mesa targets.
2014-08-18 05:02:17 +02:00
Pierre Bourdon
9e2fbaf405
Merge pull request #823 from KScorp/depthmatrixshaders
...
Fixed depth matrix shaders in OpenGL and Direct3D to be more precise.
2014-08-17 22:08:42 +02:00
Pierre Bourdon
b9404f9aee
Merge pull request #809 from degasus/master
...
VertexLoader: cache NativeVertexFormat
2014-08-16 13:38:38 +02:00
Pierre Bourdon
7b6b9b0945
Merge pull request #735 from Armada651/d3dfullscreen_fixes
...
Fix hotkeys in Linux and Mac OS X (properly this time).
2014-08-14 15:27:21 +02:00
Pierre Bourdon
e5ca4f604c
Merge pull request #793 from kamiyo/fixframetools
...
Update frametools.cpp to fix crashing when changing themes.
2014-08-13 10:25:19 -07:00
Pierre Bourdon
e4e44909d5
Merge pull request #762 from booto/dma-audio-3
...
DSP: DMA behaviour adjustments to fix regressions
2014-08-12 18:18:51 -07:00
Pierre Bourdon
b38022df43
Merge pull request #750 from lioncash/leak
...
Core: Fix a leak on OSX that could occur in IOdarwin.mm
2014-08-07 09:56:36 -07:00
Pierre Bourdon
16f180524c
VertexLoader: do not prepare for vertices if we need to skip them
2014-08-04 20:47:02 -07:00
Pierre Bourdon
b7d4481081
Merge pull request #736 from FioraAeterna/fixdirt
...
JIT: Don't assume the reserved bits in GQRs are zero
2014-08-04 20:32:08 -07:00
Pierre Bourdon
b6dac8f0b1
Merge pull request #731 from FioraAeterna/fixquanttable
...
Fix quant/dequant table bug
2014-08-04 20:29:54 -07:00
Pierre Bourdon
6befa34b60
Merge pull request #647 from lioncash/disasm
...
Common: Introduce the new Gekko disassembler to Common.
2014-08-03 21:52:08 -07:00
Pierre Bourdon
05a9f5b07a
Merge pull request #730 from dolphin-emu/revert-727-flags-opt
...
Revert "Jit64: Fix immediates being zero-extended to cr_val instead of s...
2014-08-03 21:50:45 -07:00
Pierre Bourdon
7ba400bea2
Revert "Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended."
2014-08-03 21:50:12 -07:00
Pierre Bourdon
b1553b42ce
Merge pull request #542 from Parlane/weird_buffering
...
Remove weird buffering from WII_IPC_HLE_Device_sdio_slot0.cpp
2014-08-03 21:30:35 -07:00
Pierre Bourdon
497de04c52
Merge pull request #671 from lioncash/non-panic
...
DolphinWX: Use a regular wxMessageBox instead of a PanicAlert for non-panic errors.
2014-08-03 21:27:27 -07:00
Pierre Bourdon
95a8c24841
Merge pull request #723 from lioncash/warnings
...
Core: Fix two sets of warnings when compiling on Linux.
2014-08-03 21:25:44 -07:00
Pierre Bourdon
87e7c1ee46
Merge pull request #724 from lioncash/mem_fn
...
AudioCommon: Get rid of some unnecessary mem_fn calls
2014-08-03 21:25:24 -07:00
Pierre Bourdon
15920d0f10
Merge pull request #394 from degasus/d3d_lighting_fix
...
VideoCommon: normalize light direction
2014-08-03 21:21:23 -07:00
Pierre Bourdon
4c42b38de1
Merge pull request #428 from Sonicadvance1/x86_32-removal
...
Remove x86_32 support from Dolphin.
2014-08-03 21:17:28 -07:00
Pierre Bourdon
e15ec56bf0
Merge pull request #716 from delroth/vertex-loader
...
Make vertex loader testable
2014-08-03 21:14:59 -07:00
Pierre Bourdon
89adfba67b
Merge pull request #729 from lioncash/host-func
...
Core: Get rid of Host_GetInstance()
2014-08-03 21:04:34 -07:00
Pierre Bourdon
1fcf07f9cc
Merge pull request #5 from lioncash/vertex-loader
...
Isolate D3D and Software Renderer from wxWidgets code
2014-08-03 17:32:32 -07:00
Pierre Bourdon
ae27d36961
Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended. Thanks to konpie for finding this issue.
2014-08-03 16:00:41 -07:00
Pierre Bourdon
9f8e1e2a0d
Merge pull request #720 from booto/dma-audio-fix2
...
DSP: copy audio dma samples as early as possible
2014-08-02 15:13:26 -07:00
Pierre Bourdon
35654513c1
VertexLoader: Add more tests, including a few small benchmarks
2014-08-02 14:02:38 -07:00
Pierre Bourdon
1bb7c2791a
Merge pull request #719 from lioncash/warnings
...
Core: Fix warnings on Linux related to the JIT
2014-08-02 13:21:20 -07:00
Pierre Bourdon
46ce810b45
Merge pull request #718 from lioncash/unused-var
...
DolphinWX: Remove an unused variable from ISOProperties
2014-08-02 12:56:55 -07:00
Pierre Bourdon
da2833c0e6
Merge pull request #679 from lioncash/ucode-update-params
...
Core: Remove the unused cycle parameter from DSPHLE update calls
2014-08-02 10:37:19 -07:00
Pierre Bourdon
8f768e5a54
Merge pull request #714 from lioncash/gen
...
Core: Remove using namespace statements from the Jit and Interpreter headers
2014-08-02 10:36:31 -07:00
Pierre Bourdon
c39ef56db5
VertexLoader: Add very basic unit testing to get started
2014-08-02 09:34:39 -07:00
Pierre Bourdon
6f715a1fbe
VertexLoader: Remove more global state dependencies (this time IndexGenerator and VertexManager)
2014-08-02 09:34:39 -07:00
Pierre Bourdon
8b26d7bf1e
UnitTests: make it possible to build tests for code that has global dependencies
2014-08-02 09:34:39 -07:00
Pierre Bourdon
226a9c2392
Move GLInterface around to remove VideoBackends dependency on DolphinWX
2014-08-02 09:34:39 -07:00
Pierre Bourdon
1aab63bef7
Merge pull request #712 from lioncash/cast
...
Core: Fix cast warnings in DSPJitRegCache
2014-08-01 17:49:46 -07:00
Pierre Bourdon
e0b6f8c9c4
Merge pull request #711 from lioncash/cast
...
Core: Get rid of a cast in JitRegCache
2014-08-01 17:29:35 -07:00
Pierre Bourdon
0380bb61fa
Merge pull request #708 from lioncash/drum-axis
...
Core: Fix Y-data not being assigned in Drums.cpp
2014-07-31 22:20:40 -07:00
Pierre Bourdon
f6995d1eff
Merge pull request #704 from lioncash/pjhack-removal
...
DolphinWX: Remove the Projection Hack UI
2014-07-31 20:20:02 -07:00
Pierre Bourdon
5506e57ab8
CR: Replace some magic values with constants.
2014-07-30 21:41:17 -07:00
Pierre Bourdon
0ff1481494
Optimize PPC CR emulation by using magic 64 bit values
...
PowerPC has a 32 bit CR register, which is used to store flags for results of
computations. Most instructions have an optional bit that tells the CPU whether
the flags should be updated. This 32 bit register actually contains 8 sets of 4
flags: Summary Overflow (SO), Equals (EQ), Greater Than (GT), Less Than (LT).
These 8 sets are usually called CR0-CR7 and accessed independently. In the most
common operations, the flags are computed from the result of the operation in
the following fashion:
* EQ is set iff result == 0
* LT is set iff result < 0
* GT is set iff result > 0
* (Dolphin does not emulate SO)
While X86 architectures have a similar concept of flags, it is very difficult
to access the FLAGS register directly to translate its value to an equivalent
PowerPC value. With the current Dolphin implementation, updating a PPC CR
register requires CPU branching, which has a few performance issues: it uses
space in the BTB, and in the worst case (!GT, !LT, EQ) requires 2 branches not
taken.
After some brainstorming on IRC about how this could be improved, calc84maniac
figured out a neat trick that makes common CR operations way more efficient to
JIT on 64 bit X86 architectures. It relies on emulating each CRn bitfield with
a 64 bit register internally, whose value is the result of the operation from
which flags are updated, sign extended to 64 bits. Then, checking if a CR bit
is set can be done in the following way:
* EQ is set iff LOWER_32_BITS(cr_64b_val) == 0
* GT is set iff (s64)cr_64b_val > 0
* LT is set iff bit 62 of cr_64b_val is set
To take a few examples, if the result of an operation is:
* -1 (0xFFFFFFFFFFFFFFFF) -> lower 32 bits not 0 => !EQ
-> (s64)val (-1) is not > 0 => !GT
-> bit 62 is set => LT
!EQ, !GT, LT
* 0 (0x0000000000000000) -> lower 32 bits are 0 => EQ
-> (s64)val (0) is not > 0 => !GT
-> bit 62 is not set => !LT
EQ, !GT, !LT
* 1 (0x0000000000000001) -> lower 32 bits not 0 => !EQ
-> (s64)val (1) is > 0 => GT
-> bit 62 is not set => !LT
!EQ, GT, !LT
Sometimes we need to convert PPC CR values to these 64 bit values. The
following convention is used in this case:
* Bit 0 (LSB) is set iff !EQ
* Bit 62 is set iff LT
* Bit 63 is set iff !GT
* Bit 32 always set to disambiguize between EQ and GT
Some more examples:
* !EQ, GT, LT -> 0x4000000100000001 (!B63, B62, B32, B0)
-> lower 32 bits not 0 => !EQ
-> (s64)val is > 0 => GT
-> bit 62 is set => LT
* EQ, GT, !LT -> 0x0000000100000000
-> lower 32 bits are 0 => EQ
-> (s64)val is > 0 (note: B32) => GT
-> bit 62 is not set => !LT
2014-07-30 21:41:17 -07:00
Pierre Bourdon
83838a645f
Merge pull request #690 from Armada651/d3dfullscreen_fixes
...
Exclusive fullscreen fixes
2014-07-30 16:28:56 -07:00
Pierre Bourdon
9b9817f927
x64Emitter: Fix REX encoding for SETcc
...
Previously using the new "lower 8 bits" registers (SIL, SPL, ...) caused SETcc
to write to other registers (for example, SETcc SIL would generate SETcc DH).
2014-07-30 06:41:29 -07:00
Pierre Bourdon
4b66c6c65a
Merge pull request #698 from lioncash/missed-workaround
...
Really get rid of the MSVC 2005 workaround completely
2014-07-29 18:23:04 -07:00
Pierre Bourdon
c0e8d9879a
Merge pull request #678 from lioncash/overflow
...
Fix a possible overflow in EXI_DeviceIPL.
2014-07-29 16:42:58 -07:00
Pierre Bourdon
f6fe299c31
Merge pull request #694 from lioncash/interp-defines
...
Core: Remove defines used to work around an MSVC 2005 bug
2014-07-29 16:39:05 -07:00
Pierre Bourdon
8ff3cf1838
Merge pull request #684 from lioncash/forward-decls
...
Core: Turn some includes into forward declarations.
2014-07-28 20:50:27 -07:00
Pierre Bourdon
062bce8b7e
Merge pull request #659 from Parlane/classic_controller_fix2
...
Classic controller fix
2014-07-28 20:34:00 -07:00
Pierre Bourdon
9f86d3efcf
Merge pull request #689 from Shadoxfix/master
...
Update framelimit tooltip text because the Audio option has been removed...
2014-07-28 10:28:23 -07:00
Pierre Bourdon
96cfbd1bb0
Merge pull request #677 from Armada651/use_fullscreen
...
Frame: Only prevent exclusive fullscreen switches when the emulator is paused
2014-07-27 00:14:56 +02:00
Pierre Bourdon
957a39942e
Merge pull request #675 from lioncash/movie-params
...
Core: Use param padState instead of a global in SetInputDisplayString
2014-07-26 23:30:26 +02:00
Pierre Bourdon
6bd5fb3a67
Merge pull request #666 from booto/audio-dma-sampling
...
AudioCommon/Mixer: Allow input sample rate changes
2014-07-26 19:22:37 +02:00
Pierre Bourdon
8e865f3848
Merge pull request #506 from Armada651/d3dfullscreen
...
D3D: Add exclusive fullscreen support.
2014-07-26 13:22:11 +02:00
Pierre Bourdon
906b05cb1c
Merge pull request #672 from delroth/vertex-loader
...
Vertex loader: reduce dependency on global state
2014-07-26 02:03:03 +02:00
Pierre Bourdon
73f9a22e2e
VertexLoader: Remove global state dependency on g_nativeVertexFmt
2014-07-26 01:35:09 +02:00
Pierre Bourdon
87b3975f7c
Merge pull request #669 from lioncash/source-header
...
Core: Fix the license headers for Memmap.h and SystemTimers.h/.cpp
2014-07-25 02:26:14 +02:00
Pierre Bourdon
264459457e
Merge pull request #665 from lioncash/cisms
...
Get rid of a few C-style struct declarations
2014-07-25 01:30:29 +02:00
Pierre Bourdon
e3dde592b6
Merge pull request #668 from lioncash/include
...
InputCommon: Include the algorithm header in ForceFeedbackDevice
2014-07-25 00:58:04 +02:00
Pierre Bourdon
78c3a22060
VertexLoader: take the VAT object directly for RunVertices
2014-07-24 01:51:37 +02:00
Pierre Bourdon
069801a7d1
VertexLoader: Simplify SetVAT
2014-07-24 01:25:23 +02:00
Pierre Bourdon
20369743a4
VertexLoaderUID: remove global state dependency
2014-07-24 01:12:12 +02:00
Pierre Bourdon
257d2a6faf
Merge pull request #661 from delroth/dolphinbar
...
Fix WiiMote issues causing DolphinBar to not work
2014-07-23 05:26:38 +02:00
Pierre Bourdon
e51c459406
IOWin: rework _IOWrite OVERLAPPED/bytes written handling.
...
CheckDeviceType_Write uses an OVERLAPPED structure to make sure some bytes
were written to the device for a given _IOWrite operation. However, the
OVERLAPPED structure is only used for the BlueSoleil stack, not the MS stack
(which goes through an alternate HID path instead of WriteFile, and does not
have an equivalent async operation).
Make _IOWrite return the number of written bytes instead, since it knows
about the Bluetooth stack being used.
2014-07-23 05:17:04 +02:00
Pierre Bourdon
ff61158466
IOWin: Make error 0x1F less noisy.
...
This error code is used by third-party WiiMote adapters to signal the
absence of a WiiMote connected to their virtual HID port. Ignoring it
removes some log spamming and doesn't change anything in terms of
behavior.
2014-07-23 03:32:15 +02:00
Pierre Bourdon
4f78ba6a76
Merge pull request #656 from shuffle2/find-git-ext
...
Windows: Also look for git.exe in the registry (for Git Extensions installs).
2014-07-20 22:02:51 +02:00
Pierre Bourdon
963e1a698c
Merge pull request #581 from TotalNerd/memcard-emu
...
Emulate GameCube memory card speeds
2014-07-20 00:12:47 +02:00
Pierre Bourdon
c189a3491b
Merge pull request #653 from lioncash/internal-state
...
DolphinWX: Move some public variables to be private in CodeView
2014-07-20 00:03:48 +02:00
Pierre Bourdon
56e9efc611
Merge pull request #652 from booto/controller_stick_wrap_fix
...
GCPadEmu: stop sticks wrapping at extreme values
2014-07-19 19:26:00 +02:00
Pierre Bourdon
5646ffdacd
Merge pull request #471 from Sonicadvance1/sampler_binding
...
Support Sampler binding in the shader.
2014-07-19 01:28:37 +02:00
Pierre Bourdon
a180cd60ee
Merge pull request #640 from lioncash/debugger
...
DolphinWX: Enable certain Code View context options only when the core is running.
2014-07-18 09:15:03 +02:00
Pierre Bourdon
8085b3d264
Merge pull request #638 from lioncash/bound-check
...
Core: Fix bounds checking within GCMemcard.cpp.
2014-07-18 09:14:27 +02:00
Pierre Bourdon
4db84c5188
Merge pull request #637 from lioncash/unused
...
Core: Remove unused function Callback_ISOName()
2014-07-18 09:14:06 +02:00
Pierre Bourdon
2fbdc03572
Merge pull request #642 from phire/vs-constants
...
VideoSoftware: Use the same max XFB size as VideoCommon.
2014-07-18 09:12:36 +02:00
Pierre Bourdon
063f530d4c
Merge pull request #643 from delroth/master
...
SW: Call OnFrameEnd in the FifoPlayer XFB hack. Required to dump DFF frames.
2014-07-17 13:21:34 +02:00
Pierre Bourdon
d44fc48295
SW: Call OnFrameEnd in the FifoPlayer XFB hack. Required to dump DFF frames.
2014-07-17 13:20:13 +02:00
Pierre Bourdon
705afc70b6
Merge pull request #641 from phire/snap-ini
...
Update Pokemon Snap PAL ini to match NTSC.
2014-07-17 11:52:40 +02:00
Pierre Bourdon
8cf21cdcdb
Merge pull request #633 from magcius/wip/input-focus-fix
...
Fix input focus issues
2014-07-17 01:21:31 +02:00
Pierre Bourdon
9481af886b
Merge pull request #632 from lioncash/dolwx
...
DolphinWX: Mild readability clean up of CodeView.
2014-07-16 23:46:47 +02:00
Pierre Bourdon
ebec4b01ef
Merge pull request #634 from degasus/pixelshader-align
...
PixelShaderGen: fix indentation
2014-07-16 23:43:36 +02:00
Pierre Bourdon
dda7a5ad1c
Merge pull request #630 from lioncash/casing
...
Core: Correct some function casings.
2014-07-16 01:49:34 +02:00
Pierre Bourdon
c2cdc93515
Merge pull request #620 from phire/revert-603-debugger-font
...
Revert "DolphinWX: Use non-deprecated flags for the monospace debugger f...
2014-07-14 16:24:35 +02:00
Pierre Bourdon
1464cfee13
Merge pull request #619 from lioncash/dpl2
...
Correct the function casing for DPL2Decoder
2014-07-14 10:21:20 +02:00
Pierre Bourdon
72b15be3be
Merge pull request #618 from lioncash/array-bounds
...
OGL: Correctly guard against array bounds of s_encodingPrograms
2014-07-14 10:20:28 +02:00
Pierre Bourdon
dee6f226a3
Merge pull request #614 from Tilka/branch_prediction
...
[RFC] Common: add macros for assisting branch prediction
2014-07-14 03:00:08 +02:00
Pierre Bourdon
5c701f6e82
Merge pull request #610 from lioncash/delete
...
DolphinWX: Remove the need for an explicit new/delete in ISOProperties
2014-07-14 01:55:11 +02:00
Pierre Bourdon
4d02675a8a
Merge pull request #616 from Armada651/shutdown
...
Shutdown the Core before other components.
2014-07-14 00:02:15 +02:00
Pierre Bourdon
0c95fcf918
Merge pull request #615 from delroth/libav-ubuntu
...
Change libav* autodetection to support framedumping on Ubuntu 14.04
2014-07-13 23:22:45 +02:00
Pierre Bourdon
8876ee120a
Change libav* autodetection to support framedumping on Ubuntu 14.04
...
Add an "ugly" workaround in the AVIDump code, but looking at other project this
seems to be the most common way to handle this API change.
2014-07-13 23:06:20 +02:00
Pierre Bourdon
16582a0459
Merge pull request #543 from RachelBryk/patches
...
Fix patches not being loaded when running real gc bios.
2014-07-13 06:25:39 +02:00
Pierre Bourdon
0563960dbc
Merge pull request #603 from lioncash/debugger-font
...
DolphinWX: Use non-deprecated flags for the monospace debugger font
2014-07-13 06:21:02 +02:00
Pierre Bourdon
12fa5ba8b4
Merge pull request #607 from Tilka/fix_warnings
...
Fix warnings unearthed by #579
2014-07-13 06:20:45 +02:00
Pierre Bourdon
b2fa0ea3dc
Merge pull request #606 from Armada651/nogui
...
NoGUI: Add missing call to Core::Shutdown().
2014-07-13 01:12:24 +02:00
Pierre Bourdon
84bf097fb7
Merge pull request #579 from degasus/statics
...
Mark unexported global variables and functions as statics.
2014-07-11 16:37:42 +02:00
Pierre Bourdon
ef510a4f73
Merge pull request #594 from lioncash/another-clamp-removal
...
DolphinWX: Remove yet another clamp method
2014-07-11 02:48:27 +02:00
Pierre Bourdon
59a7939f18
Merge pull request #599 from lioncash/skips
...
DolphinWX: Remove unnecessary true within event Skip calls
2014-07-11 02:45:09 +02:00
Pierre Bourdon
8059f80282
Merge pull request #598 from lioncash/casts
...
DolphinWX: Get rid of an unneccessary cast in CodeWindow
2014-07-11 02:32:40 +02:00