Commit Graph

23487 Commits

Author SHA1 Message Date
BhaaL
d0d91f2530 add the hash for the PAL v1.1 BIOS
reported on the forums by user hackintoshftw1
2017-03-16 18:22:51 +01:00
BhaaL
70a25bef4c put the source reference onto its own line to avoid the awkward formatting
also, make them constexpr, because i guess it makes sense...
2017-03-16 18:22:51 +01:00
Markus Wick
907e73a1fc Merge pull request #5012 from degasus/BAT
MMU: Create constants for our BAT flags.
2017-03-16 16:02:16 +01:00
Jules Blok
cbfb07152f VertexShaderGen: Correct for negative viewport dimensions. 2017-03-16 12:34:19 +01:00
JosJuice
ff7425214a Use 6-char game IDs for NAND tiles (if they are printable)
5.0-2712 made ES's code for setting the game ID use the
title ID converted to hex (except for disc titles) instead
of using a 6-char game ID like before. Then, 5.0-2830 made
us use that code even when loading game INIs. This breaks the
expectations of both users and the game INIs we ship with.

This commit makes Dolphin use 6-char game IDs for all
titles (unless the 6-char ID would contain unprintable
characters, which is the case with e.g. the Wii Menu).

I'm also putting unprintability checks in VolumeWad
for consistency.
2017-03-16 11:21:31 +01:00
JosJuice
58bd129987 Simplify GetSysMenuRegion 2017-03-16 10:45:57 +01:00
Lioncash
6cf3c2262c SI: Convert SI buffer from a C array to std::array
Stronger typing (no implicit pointer decay), nicer aggregate
initialization.

Also gets rid of magic constants where applicable.
2017-03-16 05:37:03 -04:00
Markus Wick
bb708397db Merge pull request #5090 from lioncash/si
SI: Minor cleanup
2017-03-16 09:57:04 +01:00
Lioncash
f0eeb3c63a SI: Namespace device classes
Places all of the SI code under the SerialInterface namespace instead of
only the main source file. This keeps all SI code under a common name,
as well as out of the global namespace
2017-03-16 04:41:39 -04:00
Matthew Parlane
2cead402b3 Merge pull request #5091 from lioncash/enum
EXI/SI: Move enum constants into namespaces
2017-03-16 19:36:54 +13:00
Lioncash
9c3b35fccb EXI: Move enum constants into the ExpansionInterface namespace
Given these are related to EXI itself, these should be within the
namespace itself.
2017-03-16 02:06:29 -04:00
Lioncash
a728d858b3 SI: Move MAX_SI_CHANNELS into the SerialInterface namespace
Given this constant is related to the serial interface, it shouldn't be
outside of the namespace.
2017-03-16 01:57:57 -04:00
Lioncash
46991e2bdd SI: Amend variable naming 2017-03-16 01:37:50 -04:00
Anthony
3b1dae5642 Merge pull request #4703 from ligfx/cmake_cxx_standard
CMake: Use CMAKE_CXX_STANDARD instead of passing -std=c++14
2017-03-15 18:04:28 -07:00
Michael Maltese
134317e07f videoconfig: add BBoxPreferStencilImplementation
@JMC47 requested this to be able to do performance comparisons.
2017-03-15 17:41:33 -07:00
Michael Maltese
53224d41d0 OGL: only create stencil buffer when needed 2017-03-15 17:41:33 -07:00
Michael Maltese
ba6e917b49 OGL: implement Bounding Box on systems w/o SSBO
This commit should have zero performance effect if SSBOs are supported.

If they aren't (e.g. on all Macs), this commit alters FramebufferManager
to attach a new stencil buffer and VertexManager to draw to it when
bounding box is active. `BBoxRead` gets the pixel data from the buffer
and dumbly loops through it to find the bounding box.

This patch can run Paper Mario: The Thousand-Year Door at almost full
speed (50–60 FPS) without Dual-Core enabled for all common bounding
box-using actions I tested (going through pipes, Plane Mode, Paper
Mode, Prof. Frankly's gate, combat, walking around the overworld, etc.)
on my computer (macOS 10.12.3, 2.8 GHz Intel Core i7, 16 GB 1600 MHz
DDR3, and Intel Iris 1536 MB).

A few more demanding scenes (e.g. the self-building bridge on the way
to Petalburg) slow to ~15% of their speed without this patch (though
they don't run quite at full speed even on master). The slowdown is
caused almost solely by `glReadPixels` in `OGL::BoundingBox::Get`.

Other implementation ideas:

- Use a stencil buffer that's separate from the depth buffer. This would
  require ARB_texture_stencil8 / OpenGL 4.4, which isn't available on
  macOS.

- Use `glGetTexImage` instead of `glReadPixels`. This is ~5 FPS slower
  on my computer, presumably because it has to transfer the entire
  combined depth-stencil buffer instead of only the stencil data.
  Getting only stencil data from `glGetTexImage` requires
  ARB_texture_stencil8 / OpenGL 4.4, which (again) is not available on
  macOS.

- Don't use a PBO, and use `glReadPixels` synchronously. This has no
  visible performance effect on my computer, and is theoretically
  slower.
2017-03-15 17:41:32 -07:00
Michael Maltese
56fe938366 extract OGL::FramebufferManager::BindLayeredTexture 2017-03-15 17:20:47 -07:00
Michael Maltese
69cedf4144 extract OGL::FramebufferManager::CreateTexture 2017-03-15 17:20:47 -07:00
Michael Maltese
de940a5fd6 VideoConfig: add bSupportsFragmentStoresAndAtomics 2017-03-15 17:20:47 -07:00
Anthony
8e6d256722 Merge pull request #5080 from leoetlino/ssl-verify
Default to SSL verify on
2017-03-15 13:56:56 -07:00
Markus Wick
1e7dd1ed2d Merge pull request #5086 from lioncash/si
SI_Devices: Minor cleanup
2017-03-15 10:07:27 +01:00
degasus
5152c997a4 MMU: Create constants for our BAT flags.
This avoids a few hard-coded constants in several files.
2017-03-15 09:20:40 +01:00
JosJuice
54e32fd91e Merge pull request #5089 from lioncash/gcmemcard
GCMemcard: Minor cleanup
2017-03-15 08:59:32 +01:00
Lioncash
4df8ac7820 GCMemcardRaw: Amend variable naming 2017-03-15 00:16:45 -04:00
Lioncash
79246d9642 GCMemcardDirectory: Amend variable naming 2017-03-14 23:58:31 -04:00
Lioncash
647bec4c17 GCMemcard: Amend variable naming for MemoryCardBase 2017-03-14 23:58:27 -04:00
Anthony
2b38338a9d Merge pull request #5087 from lioncash/gcmemcard
GCMemcard: Move memcard source files to their own directory
2017-03-14 18:58:35 -07:00
Lioncash
09d4871067 GCMemcard: Move memcard source files to their own directory
GCMemcard.h has quite a bit of different classes implemented within it
that could likely be split up into other files to make it a little
easier to read. However, they should be moved into their own folder
first so that they don't clutter up the base HW directory.
2017-03-14 21:55:25 -04:00
Lioncash
8b8a1f3b35 SI_DeviceKeyboard: Amend variable naming 2017-03-14 18:15:25 -04:00
Lioncash
4478b9bc9a SI_DeviceKeyboard: In-class initialize variables 2017-03-14 18:03:36 -04:00
Lioncash
c45f8e2e3c SI_DeviceGCSteeringWheel: Amend variable naming 2017-03-14 17:54:18 -04:00
Lioncash
89f5b3b5d9 SI_DeviceGCAdapter: Amend variable naming 2017-03-14 17:47:56 -04:00
Lioncash
e68e99ef71 SI_DeviceDanceMat: Amend variable naming 2017-03-14 17:46:09 -04:00
Michael Maltese
c4640295b1 CMake: add CMAKE_CXX_STANDARD_REQUIRED=ON 2017-03-14 13:52:02 -07:00
Michael Maltese
4c580bc3b7 CMake: Use CMAKE_CXX_STANDARD instead of passing -std=c++14
Available since CMake 3.1
2017-03-14 13:52:02 -07:00
Léo Lam
834a3bf857 Default to SSL verify on
Defaulting to SSL verification off, *and* forcing it to be off even
when the emulated software asks us to enable it is very bad behaviour,
inaccurate and insecure.

Because the old option defaulted to off, we have to change the INI
option name to force the new default to be used. Unfortunate,
but without this we cannot ensure our users' security.
2017-03-14 20:57:49 +01:00
MerryMage
1020a3cb8e DSP/Jit: Explicitly specify scratch register for Update_SR_Register
There were cases when the value register was RDX and thus was being
clobbered as RDX was implictly used as a scratch register.
2017-03-14 19:18:56 +00:00
Anthony
a3557ed199 Merge pull request #4964 from DisorderIy/arcode-removal-fix
Fix remove and add buttons not disabling after removing Action Replay code
2017-03-14 11:21:39 -07:00
Markus Wick
3aa5b8fbf6 Merge pull request #5079 from JosJuice/move-loadpatches
Move LoadPatches calls
2017-03-14 10:44:38 +01:00
Markus Wick
884d3973e4 Merge pull request #5083 from lioncash/si
SI_DeviceGCController: Minor cleanup
2017-03-14 10:37:28 +01:00
Markus Wick
c30db8eddc Merge pull request #4932 from PEmu1/toggle-fullscreen
Change "Fullscreen" Menu Option to "Toggle Fullscreen"
2017-03-14 10:30:34 +01:00
Markus Wick
d05f59e31d Merge pull request #4876 from ligfx/netplay_move_semantics
NetPlay: use move semantics instead of unique_ptrs
2017-03-14 10:20:47 +01:00
Lioncash
46fd06b956 SI_DeviceGCController: Amend variable names 2017-03-14 05:15:48 -04:00
Markus Wick
31bb41c532 Merge pull request #4973 from z0z0z/master
Disable pinned memory for AMD mesa drivers
2017-03-14 10:02:05 +01:00
Lioncash
890f799fdd SI_DeviceGCController: In-class initialize variables 2017-03-14 03:34:52 -04:00
Anthony
ef931d5339 Merge pull request #5082 from Armada651/revert-nv-depth
OGL: Remove support for NV_depth_buffer_float.
2017-03-14 00:36:56 +00:00
Jules Blok
0a2b58c896 OGL: Remove support for NV_depth_buffer_float.
We can't clamp the depth values to the 24-bit range while this extension is active.
2017-03-14 01:02:13 +01:00
JosJuice
09682cfaa4 Move LoadPatches calls
LoadPatches was apparently never being called when booting
Wii discs. Maybe this will fix the recent regression with
cheat codes not getting loaded? I don't know how this
managed to work to begin with, though...

(The call was also moved for WADs, just for consistency.)
2017-03-13 22:29:55 +01:00
Michael Maltese
1b0701e988 Make ControllerEmu::BooleanSetting non-virtual 2017-03-13 13:47:06 -07:00