Commit Graph

12974 Commits

Author SHA1 Message Date
comex b6a7438053 Add BitSet and, as a test, convert some JitRegCache stuff to it.
This is a higher level, more concise wrapper for bitsets which supports
efficiently counting and iterating over set bits.  It's similar to
std::bitset, but the latter does not support efficient iteration (and at
least in libc++, the count algorithm is subpar, not that it really
matters).  The converted uses include both bitsets and, notably,
considerably less efficient regular arrays (for in/out registers in
PPCAnalyst).

Unfortunately, this may slightly pessimize unoptimized builds.
2014-10-25 16:56:51 -04:00
Ryan Houdek c2364a54c1 Fixes packaging OS X binary with spaces in the directory name. 2014-10-25 10:51:54 -05:00
Ryan Houdek e780a49a06 Merge pull request #1375 from Sonicadvance1/ARMv7-optimizations
Minor ARMv7 JIT recompiler optimizations.
2014-10-25 08:28:10 -05:00
skidau bc26cb1b19 Merge pull request #1322 from degasus/ogl-pp
OGL: force enable postprocessing
2014-10-25 13:48:27 +11:00
skidau 8598d6bc2b Merge pull request #1364 from RachelBryk/titles
Read game title from ini file, or titles.txt if it exists.
2014-10-25 13:33:26 +11:00
skidau 726306fa27 Merge pull request #1367 from lioncash/radiobox
CheatSearchTab: Use a wxRadioBox for data sizes
2014-10-25 13:32:24 +11:00
skidau f1e5765b99 Merge pull request #1372 from Sonicadvance1/fix-egl-blackness
Fixes black screen issue on EGL+X11 systems.
2014-10-25 13:31:37 +11:00
Ryan Houdek 6483f8d45c Removes ARMv7 specific byteswap routines from CommonFuncs.h
GCC has optimized this using the exact same code since 4.7 or 4.8.
Android building falls back to the __linux__ route.
No need to keep these around anymore since we aren't building on an old GCC version.
2014-10-24 16:21:54 -05:00
Lioncash b1bdce7d77 TextureCache: Get rid of explicit deletes in SaveTexture 2014-10-24 08:47:06 -04:00
skidau 3ab921d5b0 Merge pull request #1363 from lioncash/init-order
CoreParameter: Fix initializer list order
2014-10-24 13:03:38 +11:00
skidau 716fe06289 Merge pull request #1349 from comex/good-job-dereferencing-null-on-purpose
Fix some warnings from Clang trunk in an overly aggressive manner
2014-10-24 13:03:09 +11:00
skidau ace57fb515 Merge pull request #1348 from Sonicadvance1/JitBlockView-cleanup
Cleans up the JIT block viewer in the WX UI.
2014-10-24 13:01:53 +11:00
comex 1f5b1001ce Merge pull request #1342 from phire/lessGetPointer
Eliminate getPointers which are memcpyed or memset.
2014-10-23 14:42:37 -04:00
Ryan Houdek 5204acd5ee Fixes OpenSLES's sample rate.
I was statically setting the sample rate to 44.1Khz when we default to run at 48Khz.
This was causing audio to sound much too low.
2014-10-23 11:29:49 -05:00
Ryan Houdek 5bb19426b3 Optimizes instructions in ARMv7's JIT inside of the arith function.
For instructions where the second immediate value fits within an instruction encoding, just encode it directly in to the instruction.
2014-10-23 15:42:57 +00:00
Ryan Houdek 6743d6ef1f Adds support back for non-immediate cmp/cmpi to ARMv7 JIT. 2014-10-23 15:39:09 +00:00
Ryan Houdek 0253c35d3a Adds support to ARMv7's register cache for not loading a destination register prior to overwriting.
This extends the register cache's BindToRegister function with a doLoad argument just like x86's.
The speedup is minor for these implemented integer instructions.
2014-10-23 15:38:56 +00:00
Ryan Houdek ec56c3b8d3 Fixes black screen issue on EGL+X11 systems.
We weren't setting the backbuffer dimensions on this platform when the window is created.
This required a resize event to first be fired in order to see anything.

So instead do like GLX + X11 platforms do and query the dimensions and set the backbuffer to them.

Should fix issue 7666.
2014-10-23 08:06:42 -05:00
Ryan Houdek a2c8783417 Enables EarlyZ support in OpenGL ES 3.1. 2014-10-23 07:34:07 -05:00
Lioncash a9f0bd72d2 Merge pull request #1369 from Sonicadvance1/enable-profiling
Enables block profiling in the UI on non x86 targets.
2014-10-23 08:09:39 -04:00
Ryan Houdek 2a1d4a7245 Removes some terrible printf debugging that was left over in the ARMv7 JIT. 2014-10-23 06:08:49 -05:00
Ryan Houdek 50135a988e Enables block profiling in the UI on non x86 targets.
ARMv7 supports block profiling as well. So let's stop artificially limiting here.
2014-10-23 05:59:14 -05:00
Scott Mansell 23832987b5 Revert changes preloading of RGBA8 tiles.
This path should probally be optimised, but it's out of the
scope of this PR.
2014-10-23 18:15:29 +13:00
Lioncash 5bb6f515d8 CoreParameter: Fix initializer list order 2014-10-22 23:38:13 -04:00
Lioncash 40b2737458 CheatSearchTab: Use a wxRadioBox for data sizes 2014-10-22 23:37:35 -04:00
comex 00c6ec97a6 Merge pull request #1347 from comex/header-hygiene
Add missing includes where headers depend on other headers having been included first.
2014-10-22 23:23:58 -04:00
skidau 684cb658e2 Merge pull request #1354 from Sonicadvance1/ARMv7-stepping
Adds support for stepping in the ARMv7 JIT.
2014-10-23 13:31:17 +11:00
skidau 9836ce23e6 Merge pull request #1353 from Sonicadvance1/block-debugging
Don't enable stepping on ARMv7 JIT core if just in the debugger.
2014-10-23 13:30:04 +11:00
Rachel Bryk b1e14a65a2 Read game title from ini file, or titles.txt if it exists. 2014-10-22 22:19:40 -04:00
degasus 7292ea6a04 OGL: force enable postprocessing 2014-10-23 00:21:52 +02:00
skidau 5d4b4c793a Merge pull request #1340 from Sonicadvance1/EGL-fixes
Remove hard dependencies of GLX and libGL from Dolphin.
2014-10-22 13:15:46 +11:00
comex 6e774f1b64 Add missing includes where headers depend on other headers having been included first.
This is good hygiene, and also happens to be required to build Dolphin
using Clang modules.

(Under this setup, each header file becomes a module, and each #include
is automatically translated to a module import.  Recursive includes
still leak through (by default), but modules are compiled independently,
and can't depend on defines or types having previously been set up.  The
main reason to retrofit it onto Dolphin is compilation performance - no
more textual includes whatsoever, rather than putting a few blessed
common headers into a PCH.  Unfortunately, I found multiple Clang bugs
while trying to build Dolphin this way, so it's not ready yet, but I can
start with this prerequisite.)
2014-10-21 21:22:16 -04:00
comex 06433652be Improve some libcdio CoreFoundation code.
I found it via clang complaining about a useless null check on an array,
but I decided to get rid of the array in favor of dynamic allocation, as
there was no reason to assume a maximum length of 0x32 bytes.  Plus, add
a CFString type check just in case, and switch to UTF-8 in the
off-chance it matters.

The result has not actually been tested, as I have no CD drive.
2014-10-21 21:20:11 -04:00
comex 8492d04dfa Use pointers instead of references in GetUidData to avoid the undefined behavior of *(T *)nullptr (ewwww) 2014-10-21 21:20:05 -04:00
comex 9adf608f38 Merge pull request #1355 from FioraAeterna/fixmmuoff
MMU: allow page-table loads/stores if MMU is off
2014-10-21 14:55:18 -04:00
Ryan Houdek ecf65d6f1f Cleans up the JIT block viewer in the WX UI.
This code was an absolute mess. It had allocated an arbitrarily large string buffer to hold instructions that were disassembled.

Strip out all of the nasty raw C string manipulation and replaces it with ostringstream usage.
Fixes an issue where if you didn't have a JIT recompiler running then Dolphin would instantly crash if you tried comparing PPC to x86 code.
Changed the disassembly of the host side code from being inline to the function to instead being in a class, this will be required when I add support
for ARMv7 and AArch64 to this window.
2014-10-21 12:27:59 -05:00
Lioncash eef9453abe Merge pull request #1358 from Sonicadvance1/ARMv7-NOP
Changes from ARMv6 NOP to ARMv7 NOP.
2014-10-21 13:05:06 -04:00
Ryan Houdek 2e94814441 Changes from ARMv6 NOP to ARMv7 NOP.
Dolphin doesn't support ARMv6. Get this out of here.
2014-10-21 14:17:07 +00:00
Ryan Houdek a22fcf152d Disable the fake vmem hack on 32bit targets.
This hack is incompatible with these targets due to how much memory space we allocate.
2014-10-21 12:56:28 +00:00
Fiora f4fa8d0b83 MMU: allow page-table loads/stores if MMU is off
Fixes regressions in some games that apparently required this to work, but
don't really require full MMU emulation (e.g. with exceptions and all).
2014-10-21 05:55:56 -07:00
Ryan Houdek 77da164fe2 Adds support for stepping in the ARMv7 JIT. 2014-10-21 12:53:59 +00:00
Ryan Houdek 85605389d7 Don't enable stepping on ARMv7 JIT core if just in the debugger.
Also makes sure we aren't profiling CPU run times unless we are actually profiling.
2014-10-21 07:51:25 -05:00
Fiora d7ff482618 Fix FPRF flag setting
Looks like I didn't quite change every place it needed to be renamed.
2014-10-21 04:56:35 -07:00
comex 3d536bbe38 Merge pull request #425 from LPFaint99/clang-format_config
Add .clang-format configuration
2014-10-21 03:50:00 -04:00
comex c048691a57 Merge pull request #1292 from FioraAeterna/enablebats
Make EnableBATs an option instead of disabling it entirely
2014-10-21 02:26:49 -04:00
comex 78deebd732 Merge pull request #1346 from kayru/d3d_clip_enable
D3D: Enabled depth clipping
2014-10-21 01:59:24 -04:00
comex 24e72cd064 Merge pull request #991 from phire/dsi_should_crash
Panic if game does an invalid memory access.
2014-10-21 01:53:08 -04:00
Yuriy O'Donnell 72ba13ca8a D3D: Enabled depth clipping 2014-10-21 06:26:20 +02:00
skidau 305d2e1863 Merge pull request #1337 from skidau/AX-volume-clamp
Clamp the AX Volume to prevent clipping.  Patch by hk.konpie.  Fixes issue 7519.
2014-10-21 13:43:56 +11:00
skidau 833ff4a065 Merge pull request #1334 from lioncash/cheats
Break Cheat Manager components out into their own source files.
2014-10-21 13:43:06 +11:00