Commit Graph

21127 Commits

Author SHA1 Message Date
Anthony 4245ed8895 Merge pull request #5178 from sepalani/fix-sym-map-read
BootWiiWAD: Prevents SymbolMap loading
2017-04-29 12:48:05 -07:00
Anthony cb2e7a6cac Merge pull request #5240 from sepalani/find_handlers
PPCAnalyst: Find interrupt/exception handlers
2017-04-29 12:44:41 -07:00
Anthony 4d3a794942 Merge pull request #5238 from sepalani/ppc-analyst-rfi
PPCAnalyst: Support return from interrupt
2017-04-29 12:44:18 -07:00
Sepalani e8f52e467b PPCAnalyst: Find interrupt/exception handlers 2017-04-29 20:21:21 +01:00
Sepalani 7cee62bbb3 PPCAnalyst: Support return from interrupt 2017-04-29 20:16:31 +01:00
Sepalani dd039cd311 PPCAnalyst: Skip nop alignment 2017-04-29 20:10:52 +01:00
Sepalani 3f2f3679cd PPCAnalyst: Prevent PanicAlert due to invalid read 2017-04-29 20:08:25 +01:00
Sepalani d20a404a87 BootWiiWAD: Prevents SymbolMap loading 2017-04-29 20:00:13 +01:00
Sepalani 5f81226d8d SignatureDB: MEGA FormatHandler added 2017-04-29 19:50:21 +01:00
Sepalani 82afda94f4 SignatureDB: Use explicit construction 2017-04-29 19:50:20 +01:00
Sepalani a9b52ce91b SignatureDB: Rewrite FormatHandler API 2017-04-29 19:50:20 +01:00
Sepalani 2daf5cb86f SignatureDB: const correctness and cleanup 2017-04-29 19:50:19 +01:00
Sepalani f392e472cc [HLE] JitIL: Fixes invalid logs 2017-04-29 19:38:42 +01:00
Sepalani 5ea798b726 [HLE] Jit: Fixes invalid logs 2017-04-29 19:38:41 +01:00
Sepalani 51def492c7 [HLE] CachedInterpreter: Fixes invalid logs 2017-04-29 19:38:41 +01:00
Sepalani e0e93fc3a6 [HLE] Interpreter: Fixes invalid logs 2017-04-29 19:38:40 +01:00
Sepalani 4f9e5e1141 [HLE] Added GetFirstFunctionIndex matching the start address 2017-04-29 19:38:40 +01:00
Sepalani e259b3fa76 [HLE] Fixes XFB and invisible printf 2017-04-29 19:38:39 +01:00
Stenzek a2cba6d72f Merge pull request #5279 from stenzek/compressed-custom-textures
Native compressed custom texture support
2017-04-30 00:44:06 +10:00
Léo Lam da880c2a98 Merge pull request #5333 from leoetlino/es-functions
IOS/ES: Handle contexts properly
2017-04-29 14:06:10 +02:00
Léo Lam f8ab521e6d Merge pull request #5335 from JosJuice/clinclude-tgcblob
Fix TGCBlob.h's listing in DiscIO.vcxproj.filters
2017-04-29 13:35:26 +02:00
JosJuice d2b20f3163 Fix display of Japanese text in the Memory Card Manager 2017-04-29 11:18:08 +02:00
MerryMage d4e2529f13 JitArm64: Use CR cache 2017-04-29 09:31:28 +01:00
MerryMage a9fbf69cad JitArm64_RegCache: Implement caching of cr_val 2017-04-29 09:31:28 +01:00
Stenzek cc851c41c1 TextureCache: Move host texture utility functions to VideoCommon
The appropriate place for these would be AbstractTexture, once it is
finished.
2017-04-29 13:46:43 +10:00
Stenzek de348fc952 HiresTextures: Support loading uncompressed .DDS files
Will load files with formats RGBA8, RGBX8, BGRA8, BGRX8, RGB8.
2017-04-29 13:46:43 +10:00
Stenzek 20cbef8e9f HiresTextures: Move the maximum mip level check from DDS to main loader
This way that the mip count check occurs on .png and uncombined DDS
textures as well.
2017-04-29 13:46:43 +10:00
Stenzek a6a13f51c1 HiresTextures: Support DXT10 extended header in DDS loader 2017-04-29 13:46:43 +10:00
Stenzek 8761c8244d HiresTextures: Load full mipmap chain from DDS files
This removes the need for multiple texture files to store the mipmap
chain for a texture. As many mipmaps will be loaded as are present in
the DDS file, and any remaining mipmaps will fall back to the old
behavior.
2017-04-29 13:46:43 +10:00
Stenzek c53a60f3c3 Vulkan: Support native compressed textures 2017-04-29 13:46:42 +10:00
Stenzek 3f18c5e0f1 D3D12: Support native compressed textures 2017-04-29 13:46:42 +10:00
Stenzek 2d75c2ab10 D3D11: Support native compressed textures 2017-04-29 13:46:42 +10:00
Léo Lam c4136d0365 IOS/ES: Handle contexts properly
This changes the IOS code to handle ES contexts inside of ES, instead
of leaking out implementation details into the IPC request dispatcher.

The intent is to clarify what's shared between every single ES context,
and what is specific to an ES context. (Not much.) This should reduce
the number of static members in the ES class.

The other changes are there just because we now keep track of the
IPC FD inside of ES.

Future plans:

* After the WAD direct launch hack is dropped, the title context
  will be made a class member.

* Have proper function prototypes, instead of having every single one
  of them take ioctlv requests. This will allow reusing IOS code in
  other parts of the Dolphin codebase without having to construct
  ioctlv requests.
2017-04-28 20:20:51 +02:00
JosJuice d1b54f7697 Fix TGCBlob.h's listing in DiscIO.vcxproj.filters 2017-04-28 18:16:08 +02:00
spycrab 303b54a3a5 Refactor GameListCtrl 2017-04-28 17:35:23 +02:00
Stenzek f5d95dcc86 OGL: Use native compressed textures on supported drivers 2017-04-29 00:44:34 +10:00
Stenzek 12bde06dc3 GLExtensions: Add GL_EXT_texture_compression_s3tc 2017-04-29 00:14:23 +10:00
Stenzek f4b848949c TextureCache: Support compressed textures and pass pitch/size to upload
This also removes an extra copy of the image for custom textures.
2017-04-29 00:14:23 +10:00
Stenzek bc8a96d713 HiresTextures: Support parsing DDS files directly
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
2017-04-29 00:14:23 +10:00
Stenzek 68ee4fc932 Merge pull request #5296 from stenzek/vulkan-postprocessing
Vulkan: Implement support for post-processing
2017-04-28 22:50:14 +10:00
Mahdi Hijazi 1e73f3c76e [Android] Fix game banners
Use Bitmap.setPixels() instead of Bitmap.copyPixelsFromBuffer() the former
use non pre-multiplied values of the colors which is what we expect to
come from the native code.
2017-04-27 20:41:55 +02:00
Michael Maltese 655ab9b4e2 CMake: clean up HIDAPI build 2017-04-27 02:41:00 -07:00
Léo Lam 65d37ee2dc IOS/ES: Drop unnecessary memset for vectors
IOS doesn't do it, and we don't need it anyway, so let's not do it.
2017-04-27 00:01:26 +02:00
Léo Lam 9fc394f9c7 Merge pull request #5328 from leoetlino/wiimote-fix
Fix emulated Wiimotes
2017-04-26 23:58:53 +02:00
Léo Lam 4d42a098c3 WiimoteCommon: add static_assert for struct sizes 2017-04-26 23:53:44 +02:00
Léo Lam 6c1c8e03b8 Fix emulated Wiimotes 2017-04-26 23:30:24 +02:00
spycrab 366aeeb488 Make ENABLE_ANALYTICS=0 do something 2017-04-26 23:27:13 +02:00
MerryMage 8799f6b64f JitArm64_SystemRegisters: Fix crXXX (set 32nd bit) 2017-04-26 21:51:47 +01:00
Léo Lam 341fefd65a Merge pull request #5289 from sepalani/mem-find
MemoryWindow: Replace Search with Find Next/Previous buttons
2017-04-26 21:16:08 +02:00
Léo Lam 560c66f9c6 Merge pull request #5324 from leoetlino/build-fix
WX: Build fix
2017-04-26 20:30:51 +02:00
Léo Lam 5fa206e529 Merge pull request #5325 from spycrab/wiimote_common
Move shared Wiimote files into WiimoteCommon
2017-04-26 20:25:36 +02:00
Léo Lam 831ae6a962 CMake/WX: specify PRIVATE for target_link_libraries 2017-04-26 20:24:21 +02:00
Léo Lam fa0c61eb6d WX: Build fix
GTK2 is a dependency on Linux whenever USE_X11 is true, but we were
not linking or adding the include directory for GTK for DolphinWX.

Fixes a regression introduced by 6197d9622.
2017-04-26 20:23:12 +02:00
spycrab 823dba47f5 Move shared Wiimote files into WiimoteCommon 2017-04-26 19:30:14 +02:00
Léo Lam 33f56a84b2 Merge pull request #5319 from leoetlino/ticket-view-version
ESFormats: Fix the first field of ticket views
2017-04-26 11:24:13 +02:00
Mat M 255fd14db6 Merge pull request #5316 from ligfx/cmakewxwidgets
Various CMake cleanups for DolphinWX
2017-04-25 21:21:54 -04:00
Michael Maltese 82d0f6edb2 FifoDataFile: static_assert that structs are right size 2017-04-25 17:43:37 -07:00
Michael Maltese 6a6bfa0dbb FifoPlayer: subsume FifoFileStruct.h into FifoDataFile.cpp
There's no reason for it to be in its own file, and it's confusing.
2017-04-25 17:36:36 -07:00
Michael Maltese f9a67fbf6f FifoFileStruct: replace unions with explicit padding 2017-04-25 17:36:30 -07:00
Michael Maltese b955805b2b CMake: remove DolphinWX $DOLPHIN_EXE abstraction 2017-04-25 17:18:21 -07:00
Michael Maltese bd4ffb680c CMake: don't make DolphinWX link to dl 2017-04-25 17:18:21 -07:00
Michael Maltese c214c29b01 CMake: DolphinWX cleanup 2017-04-25 17:18:20 -07:00
Michael Maltese 6e1940c404 CMake: don't globally include wxWidgets headers 2017-04-25 17:18:20 -07:00
Léo Lam 3124f3c4d8 WX: Add the ability to uninstall WADs from the game list
Simple quality-of-life addition that allows "uninstalling" WADs
(removing the corresponding installed title) from the NAND.

The option is only enabled when the WAD can be uninstalled

The motivation for this is actually to encourage proper usage of the
WAD launch feature (installing it to the NAND first), so we can
drop the "direct WAD title launch" hack.
2017-04-25 23:34:32 +02:00
Léo Lam 1b3b7518e6 ESFormats: Fix the first field of ticket views
Looking more carefully at the IOS ticket view generation code reveals
that the first field in the TicketView struct is copied over from
the ticket version, extended to 4 bytes.
2017-04-25 20:59:40 +02:00
Léo Lam 4d52df150b Merge pull request #5317 from leoetlino/es-setuid
IOS/ES: Implement ES_SetUid
2017-04-25 20:00:28 +02:00
Léo Lam 7a615afe17 Merge pull request #5315 from sepalani/debug-pause
DoStop() shouldn't unpause in debug mode
2017-04-25 16:48:31 +02:00
Markus Wick 262adbe2bc Merge pull request #5262 from MerryMage/mfspr-arm64
JitArm64: Implement timer SPRs
2017-04-25 13:31:28 +02:00
MerryMage e3d0de7442 JitArm64: Implement timer SPRs 2017-04-25 09:20:09 +01:00
Stenzek 27ae5b8d34 VideoConfigDiag: Move post-processing shader list to post processor
The backends don't use this list at all, and since more than one
backend supports post-processing now, it's duplicate code.
2017-04-25 14:27:05 +10:00
Stenzek 417a4ca206 Vulkan: Implement post-processing backend
No new features, just parity with OpenGL.
2017-04-25 14:27:02 +10:00
Stenzek a10e8b1ef5 VideoCommon: Move the blit methods to the backend class
The parameter types will be different for each backend currently,
anyway (e.g. textures/render passes/etc).
2017-04-25 14:25:41 +10:00
Léo Lam cc40389f88 IOS/ES: Implement ES_SetUid
This implements ES_SetUid, which is used by the system menu to change
its own permissions. This is required for implementing permission
checks and proper NAND metadata support in the future.
2017-04-25 00:15:51 +02:00
Léo Lam c01fda6255 IOS: Include the UID and GID in open requests
Accuracy change. Required to implement ES contexts properly.
2017-04-25 00:11:19 +02:00
Léo Lam dd31a403db Merge pull request #5285 from spycrab/fr_9952
Make title column toggleable (Issue #9952)
2017-04-24 23:12:39 +02:00
Léo Lam 286e9b74ee Merge pull request #5309 from leoetlino/ios-uid-gid
IOS: Implement UID/GID changes for the PPC
2017-04-24 22:50:03 +02:00
Sepalani 4a55398069 DoStop() shouldn't unpause in debug mode 2017-04-24 17:32:15 +01:00
Léo Lam 24d5d89056 Merge pull request #5275 from ligfx/fixhidapithread
WiimoteReal: init and destroy ScannerBackends in same thread
2017-04-24 02:31:16 +02:00
Michael Maltese 4c5e283e75 WiimoteReal: init and destroy ScannerBackends in same thread
This fixes an error condition on macOS when HIDAPI calls
IOHIDManagerCreate and IOHIDManagerClose on different threads. The
error behavior is non-deterministic, but can cause EXC_BAD_ACCES and
kill the program.
2017-04-23 17:11:27 -07:00
Tilka c6bc474c29 Merge pull request #5291 from Starsam80/fix-10221
WX: Don't specify a parent frame for the render frame
2017-04-23 23:40:32 +01:00
Tilka a8dfb32576 Merge pull request #5304 from FRtranslator/Small_rework_Audio_cfg
DolphinWX: Small rework of the Audio config dialog
2017-04-23 23:37:41 +01:00
Léo Lam dae950ff90 IOS: Implement UID/GID changes for the PPC
This will be required for permission checks in the future.

Note that this is only for the PPC as we do not have actual processes.
Keeping track of other modules' UIDs/GIDs is virtually useless anyway.

UID/GID changes are implemented in the following functions:

* ES_Launch
* ES_DIVerify

ES_SetUid is not implemented yet because it'd need further changes.
2017-04-23 23:09:44 +02:00
Tilka 8a559f2e58 Merge pull request #5307 from JosJuice/more-gfx-debug-strings
Remove more seemingly unused debug UI strings
2017-04-23 17:25:58 +01:00
Tilka 111d92c03d Merge pull request #5303 from MerryMage/DPL2Decoder
DPL2Decoder cleanup
2017-04-23 17:07:14 +01:00
JosJuice 8c2e5689ad Remove more seemingly unused debug UI strings
Same as 2052bb8 but for buttons.
2017-04-23 12:39:00 +02:00
MerryMage c9f50fd4ed DPL2Decoder: Prefer static_cast to C-style casts 2017-04-23 09:21:30 +01:00
MerryMage 4f884d0b2f DPL2Decoder: Simplify DotProduct 2017-04-23 09:21:30 +01:00
MerryMage 42a1f7939d DPL2Decoder: Prefer std::vector to calloc-ed array 2017-04-23 09:21:29 +01:00
MerryMage 71dc810418 DPL2Decoder: Make constant variables const in DesignFIR 2017-04-23 09:18:29 +01:00
MerryMage 751351fd20 DPL2Decoder: Simplify cut-off frequency logic in DesignFIR 2017-04-23 09:18:29 +01:00
MerryMage 24027c1d4a DPL2Decoder: Reduce scope of variable in DesignFIR 2017-04-23 09:18:29 +01:00
MerryMage d0e75bb438 DPL2Decoder: Remove unnecessary pointer arguments of DesignFIR 2017-04-23 09:18:28 +01:00
FRtranslator c9c68a8fd4 DolphinWX: Small rework of the Audio config dialog 2017-04-23 02:32:04 +02:00
Mat M 9090f37347 Merge pull request #5299 from FRtranslator/Tools_menu_reorder
Reorder the Tools menu, with more separators
2017-04-22 17:41:01 -04:00
Mat M 4c711de309 Merge pull request #5301 from JosJuice/delete-wxinputbase
Delete WXInputBase
2017-04-22 17:37:38 -04:00
FRtranslator a27b653d61 Reorder the Tools menu, with more separators 2017-04-22 20:59:42 +02:00
Léo Lam 8fe0befbc3 Merge pull request #5245 from JosJuice/top-on-top
Put "Top" on top of "Bottom" in the sensor bar position dropdown
2017-04-22 20:11:28 +02:00
JosJuice 26b6b78f3a Delete WXInputBase
It's unused (apparently since cf8f049). Deleting it will
lighten the load for translators.
2017-04-22 19:39:17 +02:00
MerryMage bd4cfaaed7 Jit_Integer: Use constant pool in GenerateOverflow 2017-04-22 10:15:04 +01:00
Markus Wick b5c857d14b Merge pull request #5210 from leoetlino/es-shared-contents
IOS/ES: Implement GetSharedContents (+ count)
2017-04-22 01:55:22 +02:00
Léo Lam bca9a9d4d9 Merge pull request #5113 from Starsam80/nand-import
Add BootMii NAND import functionality
2017-04-21 22:02:15 +02:00
Léo Lam b09561ece2 IOS/ES: Implement GetSharedContents (+ count)
Used by the system menu when importing a title from SD.

These are probably the last two ioctlvs used by a major title.
2017-04-21 19:30:20 +02:00
Markus Wick 1035a8b697 Merge pull request #5295 from MerryMage/ACD
ArmCPUDetect: Add missing include
2017-04-21 12:24:41 +02:00
MerryMage 73cdf9ecb5 ArmCPUDetect: Add missing include
<cstring> is required for strncpy
2017-04-21 11:03:40 +01:00
Markus Wick 207a95f4dc Merge pull request #5267 from leoetlino/more-es-ioctlvs
IOS/ES: Implement ES_DIGetTMD and ES_DIGetTMDSize
2017-04-21 11:08:05 +02:00
Markus Wick 50349098c1 Merge pull request #5292 from ligfx/setvolumeafterstart
AudioCommon: set volume _after_ starting stream
2017-04-21 10:29:21 +02:00
Mat M 4517231a1a Merge pull request #5287 from sepalani/rso
Generate Symbols From RSO Modules added
2017-04-20 20:06:03 -04:00
Sepalani 694b10da11 Generate Symbols From RSO Modules added 2017-04-21 00:32:06 +01:00
Michael Maltese c538cdcd47 AudioCommon: set volume _after_ starting stream
Fixes an error with the CoreAudio backend, which apparently doesn't
allow you to set the volume before starting the stream:

```
59:31:087 AudioCommon/CoreAudioSoundStream.cpp:97 E[Audio]: error setting volume
```

This shouldn't cause any problems with other backends, since the mixer
starts with silence anyways.
2017-04-20 02:06:42 -07:00
Starsam80 a41c0d3caa
WX: Don't specify a parent frame for the render frame 2017-04-19 20:06:33 -06:00
Sepalani 58e7415fe5 MemoryWindow: FindPrevious button added 2017-04-18 23:47:52 +01:00
Sepalani 5123dc2651 MemoryWindow: Replace Search with FindNext 2017-04-18 19:08:44 +01:00
MerryMage ee7e6edf31 Android: Add audio stretch setting 2017-04-18 18:42:02 +01:00
Stenzek d1dc9d5a0c Merge pull request #5284 from stenzek/vulkan-videocommon-blending-state
Vulkan: Use BlendingState from VideoCommon
2017-04-18 22:16:32 +10:00
Stenzek 16a947a88b Merge pull request #5270 from stenzek/vulkan-aa
Vulkan: MSAA and frame dumping fixes
2017-04-18 21:58:14 +10:00
Stenzek fd896bd9e0 OGL: Drop BlendingState.dither
How GL_DITHER works is implementation-defined, and we handle the
non-blended case in the pixel shader.
2017-04-18 21:55:23 +10:00
Stenzek ddc5275071 VideoCommon: Drop SetDitherMode()
It was a no-op on all backends apart from GL anyhow.
2017-04-18 21:55:22 +10:00
Stenzek 9dc7358395 Vulkan: Use BlendingState from VideoCommon
Remove the internal BlendState union. Also fixes Kirby's Return to
Dreamland shadows.
2017-04-18 21:55:22 +10:00
Stenzek 34ad5b457d VideoCommon: Add usedualsrc field to BlendingState
This is because we re-use BlendingState for our internal drawing (e.g.
RasterFont) and for these shaders, we can't assume the presence of a
second color output.
2017-04-18 21:33:40 +10:00
Markus Wick 936910163a Merge pull request #5286 from lioncash/mmu
MMU: Get rid of pointer casts
2017-04-18 12:35:42 +02:00
JosJuice fd0b99be2e Merge pull request #5273 from JosJuice/android-x86-64
x86-64 support on Android
2017-04-18 09:54:04 +02:00
Markus Wick f3f9489852 Merge pull request #5277 from stenzek/glsl-token-pasting
OGL: Use struct for post-processing shader options
2017-04-18 09:37:34 +02:00
Lioncash a58d5fa8ee MMU: Get rid of pointer casts
These sort of casts invoke undefined behavior (u8, u16, u32, and u64 all have
completely different alignment requirements).
2017-04-17 20:52:57 -04:00
Lioncash 9cfc671c69 MMU: Get rid of unnecessary temporaries in HostRead_[8|16|32] functions 2017-04-17 19:13:47 -04:00
spycrab 72e92add8a Make title column toggleable (Issue #9952) 2017-04-17 19:34:14 +02:00
spycrab 01e07d7853 Lazily initialize m_main_config_dialog (Issue #10213) 2017-04-16 13:00:11 +02:00
JosJuice 9cd9ae902a x86-64 support on Android
We can do this now that the x86-64 JIT supports PIE.

JITIL is deliberately excluded from the GUI because it
doesn't support PIE yet. (JITIL will be used if it's
set in the INI, though.)
2017-04-16 11:53:33 +02:00
Mat M d22509984c Merge pull request #5252 from JosJuice/pitch-text
Update text about pitch depending on emulation speed
2017-04-16 05:48:57 -04:00
Markus Wick b6433b2ae8 Merge pull request #5266 from JosJuice/misc
Rename Misc.cpp to CommonFuncs.cpp
2017-04-16 11:44:08 +02:00
Stenzek e370f6a82a OGL: Use struct for post-processing shader options
This removes the need for token pasting, which isn't supported in GLSL
ES. Shouldn't cause any issues unless people are using reserved keywords
as option names.
2017-04-16 14:00:02 +10:00
Dwayne Slater 1b9268485c VolumeDirectory: Pass address shift to WriteEntryData as argument 2017-04-15 14:04:17 -04:00
Dwayne Slater 108d59b131 VolumeDirectory: Correctly check name_offset alignment in assert 2017-04-15 14:04:10 -04:00
Dwayne Slater ec9579ebcd Boot: When loading an FST for a Wii game, update IOS_MEM1_ARENA_END
Without doing this, Wii games loaded as an ELF will zero out the FST.
This mirrors the behavior of the actual apploader.
2017-04-15 14:03:38 -04:00
Dwayne Slater 138b0cb14e VolumeDirectory: Align the name table size up properly
If the name table isn't rounded up, a Wii game can read an incorrect
number of bytes when fetching the FST.
2017-04-15 14:03:31 -04:00
Dwayne Slater 9d633307e3 VolumeDirectory: Shift parent_entry_index by m_address_shift
Parent entrys were written correctly for GameCube (since the address
shift is 0), but not for Wii (since the address shift is 2).
2017-04-15 13:53:59 -04:00
Dwayne Slater d3e9569cf0 VolumeDirectory: Compare case-insensitive file names as uppercase, not lowercase
Fixes file ordering in games that use ASCII characters between lowercase
'z' and uppercase 'A' (underscores).

MySims Kingdom has the files "terrainLightMapTinted.shader",
"terrainLightMapTintedGrid.shader", and
"terrainLightMapTinted_no_shadow.shader". In lowercase,
"terrainLightMapTinted_no_shadow.shader" comes before
"terrainLightMapTinted.shader" and "terrainLightMapTintedGrid.shader",
which is invalid.
2017-04-15 13:53:53 -04:00
Dwayne Slater 7908302782 VolumeDirectory: Fix off-by-one in entry count calculation
The size field in FSTEntry contains the total amount of children, not
including the parent, but the parent needs to be included.

VolumeDirectory: Fix off-by-one in entry count calculation

The size field in FSTEntry contains the total amount of children, not
including the parent, but the parent needs to be included.
2017-04-15 13:52:46 -04:00
Markus Wick a389ae0711 Merge pull request #5260 from MerryMage/CheckIfSafeAddress
EmuCodeBlock: Make CheckIfSafeAddress PIE-compliant
2017-04-15 13:26:05 +02:00
Stenzek 3fd1e6c2f6 Vulkan: Ensure all frames are written before resizing framedump buffer
Prevents destroying a framebuffer that may still be in use by a previous
frame dump.
2017-04-15 20:00:40 +10:00
Stenzek 48da42b49f Vulkan: Ensure framedump texture is incorrect layout for render/readback 2017-04-15 19:57:25 +10:00
Stenzek 69b0a31938 Vulkan: Clamp framebuffer resolve rectangle to texture size
This is invalid and was causing the NVIDIA driver to throw an error.
2017-04-15 19:55:32 +10:00
MerryMage cb900106c6 IR_X86: Prefer static_cast to C-style casts 2017-04-15 10:35:40 +01:00
MerryMage 860ac52a79 IR_X86: Use PtrOffset instead of casting pointers 2017-04-15 10:35:24 +01:00
MerryMage 6d8738e6e4 IR_X86: Simplify trinary expressions 2017-04-15 10:35:01 +01:00
Markus Wick 8d4be36963 Merge pull request #5259 from MerryMage/quantload
Jit64: Make psq_lXX PIE-compliant
2017-04-15 11:20:09 +02:00
Markus Wick fb805e3acb Merge pull request #5263 from MerryMage/dcbz
Jit_LoadStore: Fix dbat memory access
2017-04-15 11:19:24 +02:00
Markus Wick 6b32c17d1b Merge pull request #5268 from MerryMage/gpfifo3
JitArm64: Fix bugs introduced by #5257
2017-04-15 11:00:04 +02:00
Stenzek eef7b6cf7a Vulkan: Fix invalid resolve at swap time when MSAA is enabled 2017-04-15 18:35:58 +10:00
Stenzek 2a91b2a4dd Merge pull request #5258 from stenzek/vulkan-out-of-range-clear
Vulkan: Fix incorrect render pass for out-of-range clears
2017-04-15 18:13:45 +10:00
MerryMage 03d07c36ae JitArm64: Reserve W30 in SafeStoreFromReg and stfXX
Bug introduced in c45028a708.

EmitBackpatchRoutine assumes that X30 is available as a temporary.
2017-04-15 08:23:14 +01:00
MerryMage 3fb886141d JitArm64_LoadStore: Fix bug in writing byte to gather pipe
Introduced by c45028a708.
2017-04-15 07:26:27 +01:00
JosJuice 2f9df072d6 Rename Misc.cpp to CommonFuncs.cpp
Because its only function is declared in CommonFuncs.h.
2017-04-15 00:41:09 +02:00
Léo Lam 183193e6ed IOS/ES: Implement ES_DIGetTMD and ES_DIGetTMDSize
Used by Metroid Prime.
2017-04-15 00:39:34 +02:00
MerryMage b792299ef1 Jit_LoadStore: Fix dbat memory access
Was broken by e10b715666
2017-04-14 14:06:13 +01:00
MerryMage daa03cd106 EmuCodeBlock: Make CheckIfSafeAddress PIE-compliant 2017-04-14 12:39:12 +01:00
MerryMage e10b715666 Jit_LoadStore: Make dcbz PIE-compliant 2017-04-14 12:33:25 +01:00
MerryMage cac77527e9 Jit64: Make psq_lXX PIE-compliant 2017-04-14 11:52:33 +01:00
Markus Wick 05fec44ff5 Merge pull request #5257 from MerryMage/gpfifo2
GPFifo: Use a pointer instead of an index
2017-04-14 12:27:51 +02:00
MerryMage c45028a708 GPFifo: Use a pointer instead of an index
This simplifies code generated by the jits.
x86_64 jit now emits PIC.
2017-04-14 10:37:47 +01:00
Stenzek c8b98dca1a Vulkan: Raise the number of texel buffer/storage image descriptors
Running with GPU texture decoding enabled could cause us to run out of
descriptors within a single frame.
2017-04-14 18:29:53 +10:00
Stenzek f4bdfe3e0c Vulkan: Fix incorrect render pass area for out-of-range clears
This occured when a game set an out-of-range EFB clear region.
2017-04-14 18:29:48 +10:00
Markus Wick 45e4a048ea Merge pull request #4708 from degasus/PIE
Jit64: Use a temporary register for memory references.
2017-04-14 09:42:45 +02:00
MerryMage f2e323de9c ConfigManager: Increase default latency for OpenAL backend to 5 2017-04-13 10:41:18 +01:00
Lioncash 8811937756 JitArm64_RegCache: Use std::array where applicable
There's no need to use std::vector for fixed enum values.
2017-04-12 22:34:34 -04:00
Markus Wick 7e40f1757e Merge pull request #5253 from ligfx/fixtextureconversionshader
TextureConversionShader: fix syntax error
2017-04-12 23:38:49 +02:00
Michael Maltese 05b4d14bf0 TextureConversionShader: fix syntax error
Fixes a situation where the following invalid GLSL code is generated:

```glsl
float3 texSample0 = texture(samp0, float3(uv0 + float2(0, 0) * sample_offset, 0.0)).rgb;
float3 texSample0 = floor(float3 texSample0 * 63.0) / 63.0;
float3 texSample1 = texture(samp0, float3(uv0 + float2(1, 0) * sample_offset, 0.0)).rgb;
float3 texSample1 = floor(float3 texSample1 * 63.0) / 63.0;
```
2017-04-12 14:23:25 -07:00
Mat M 733df23e98 Merge pull request #5251 from JosJuice/audio-backend-tooltip
Remove audio backend tooltip
2017-04-12 17:10:13 -04:00
JosJuice 741aa9d983 Update text about pitch depending on emulation speed
Now that we have an audio stretching option, it's possible to
change the emulation speed while still having the right pitch.
2017-04-12 21:03:53 +02:00
JosJuice 7d41b5874c Remove audio backend tooltip
The audio backend option automatically gets disabled when
emulation is running, so it's pointless to tell people what
would (not) happen if they changed the audio backend while
emulation is running.
2017-04-12 21:03:36 +02:00
degasus 64ccf803bd Jit64: Use a temporary register for memory references. Part 4. 2017-04-12 20:53:17 +02:00
degasus 0ddd90b539 Jit64: Use a temporary register for memory references. Part 3. 2017-04-12 20:53:17 +02:00
degasus 78b36921d2 Jit64: Use a temporary register for memory references. Part 1. 2017-04-12 20:53:17 +02:00
Markus Wick 60d8ee4916 Merge pull request #5250 from MerryMage/psq_st
Jit_LoadStorePaired: Make psq_st PIE-compliant
2017-04-12 20:52:59 +02:00
MerryMage 265f0da256 Jit_LoadStorePaired: Make psq_st PIE-compliant 2017-04-12 19:30:42 +01:00
Markus Wick 2151858fb1 Merge pull request #5241 from MerryMage/stretch
Pitch-Preserving Audio Stretching
2017-04-12 20:27:26 +02:00
MerryMage cbaa00457a Mixer: Tweak audio stretch parameters 2017-04-12 17:56:58 +01:00
MerryMage 9397fdfe95 Mixer: Use a temporary buffer when stretching audio 2017-04-12 14:58:20 +01:00
MerryMage f5018010d3 Mixer: Calculate actual_samples based on availability in all FIFOs 2017-04-12 14:58:19 +01:00
MerryMage ac0df5b2db Mixer: Disable frequency shifting when stretching is enabled 2017-04-12 13:56:29 +01:00
MerryMage 71e748b68f AudioConfigPane: Allow user-configuration of audio stretching 2017-04-12 13:56:29 +01:00
MerryMage 26514358f4 Add audio stretching as a configuration option 2017-04-12 13:56:29 +01:00
MerryMage b8c867dd7a Mixer: Implement audio stretching 2017-04-12 13:56:28 +01:00
MerryMage 5b81f2a31d Mixer: Return actual number of samples mixed into buffer from MixerFifo::Mix
No code in the codebase currently depends on the return value of this function.
2017-04-12 13:15:00 +01:00
MerryMage 6a4945090c OpenALStream: Remove audio stretching 2017-04-12 13:15:00 +01:00
Mat M 21544f8661 Merge pull request #5228 from JosJuice/why-did-this-exist
Get rid of some nonsense related to booting DOL/ELF files
2017-04-12 08:07:54 -04:00
Markus Wick dd189f311f Merge pull request #5244 from JosJuice/shorter-wii-pane
Make the Wii config pane shorter
2017-04-12 12:37:07 +02:00
MerryMage a95010bc72 x64Emitter: Allow code alignment to arbitrary power of 2 2017-04-12 08:41:51 +01:00
MerryMage 6df8343e72 MathUtil: References can be const 2017-04-12 06:15:18 +01:00
Markus Wick 29344cb5ff Merge pull request #5202 from stenzek/efb-copy-source-format
TextureConversionShader: Consider source format of EFB for EFB2RAM
2017-04-12 01:09:30 +02:00
Mat M 8ecc5e9b7a Merge pull request #5246 from MerryMage/math-util
Jit64AsmCommon: Make frsqrte and fres PIE-compliant
2017-04-11 16:11:19 -04:00
MerryMage f7ed979e30 Jit64AsmCommon: Make frsqrte and fres PIE-compliant 2017-04-11 20:25:18 +01:00
MerryMage 433999d60f ConstantPool: Return a pointer instead of an OpArg
This allows for greater flexibility.
2017-04-11 20:25:18 +01:00
Anthony 464df471ff Merge pull request #5081 from lioncash/sd
IOS/SDIOSlot0: Separate IOCtl/IOCtlV behavior into individual functions
2017-04-11 10:38:49 -07:00
Stenzek 5e7bd03d0b Vulkan: Linear filter >1xIR EFB copies, matching the other backends 2017-04-12 00:11:22 +10:00
Stenzek e9850aa0f2 VideoBackends: Support updated texture encoding shader generators 2017-04-12 00:11:22 +10:00
Stenzek 3847e226ab TextureConversionShader: Consider source format of EFB for EFB2RAM
Currently, we use the alpha channel from the EFB even if the current
format does not include an alpha channel. Now, the alpha channel is set
to 1 if the format does not have an alpha channel, as well as truncating
to 5/6 bits per channel. This matches the EFB-to-texture behavior.
2017-04-12 00:11:22 +10:00
JosJuice e6317eaa36 Put "Top" on top of "Bottom" in the sensor bar position dropdown 2017-04-11 11:43:06 +02:00
Markus Wick 4e90c5da8b Merge pull request #5234 from lioncash/tuple
RenderBase: Return tuples from CalculateTargetScale and ConvertStereoRectangle instead of using out parameters
2017-04-11 10:27:16 +02:00
JosJuice cc8976f71e Make the Wii config pane shorter
This commit merges the Wii pane's Device Settings with Misc Settings
so that the whole general config window won't be so tall.
2017-04-11 10:19:19 +02:00
Mat M ae80a7541d Merge pull request #5239 from sepalani/is-valid-instruction
PPCTables: Do not consider OPTYPE_UNKNOWN as valid instruction
2017-04-10 16:50:22 -04:00
Markus Wick 34ac749b8b Merge pull request #5144 from MerryMage/mfspr
Jit_SystemRegisters: Make mfspr PIE-compliant
2017-04-10 22:30:56 +02:00
Sepalani 27dcf92faa PPCTables: Do not consider OPTYPE_UNKNOWN as valid instruction 2017-04-10 18:31:24 +01:00
Scott Mansell e6476b805e Merge pull request #5008 from ligfx/aspectheuristic
VideoCommon: rework anamorphic widescreen heuristic
2017-04-10 11:30:34 +12:00
MerryMage 4537969822 Frame: Use kIOPMAssertionTypePreventUserIdleDisplaySleep to inhibit screensaver on macOS 2017-04-09 22:14:35 +01:00
MerryMage c9b2c29ead Frame: Extract screensaver-related code into InhibitScreensaver/UninhibitScreensaver 2017-04-09 22:14:35 +01:00
Anthony c6b553b6d2 Merge pull request #5220 from stenzek/small-nonsquare-mips
TextureCache: Fix incomplete GPU texture decoding of non-square mips
2017-04-09 13:45:38 -07:00
Starsam80 6bccc13f3b
Add BootMii NAND import functionality 2017-04-09 13:14:05 -06:00
Lioncash c7ab6861c2 RenderBase: Return a tuple from ConvertStereoRectangle instead of using out parameters 2017-04-09 15:11:59 -04:00
Lioncash 671b5f9747 RenderBase: Return a tuple from CalculateTargetScale instead of using out parameters 2017-04-09 14:41:51 -04:00
Salehen Shovon Rahman 65250c0452 Disable screensaver on OS X
When playing a game on OS X, although the screen does not go to
sleep, the screensaver is still enabled, and therefore, during
gameplay, the screensaver may start running, which is not in
accordance to the behaviour on other other environments (Windows
and X11). It can be argued that the screensaver interrupting
gameplay is a nuissance to many players.

The changes in this commit are intended to allow Dolphin to disable
the screensaver during gameplay, just as intended on other platforms.

The changes have been tested on OS X 10.11 (El Capitan).
2017-04-09 15:16:52 +01:00
Sepalani 5a1ebe232e HLE: Add Reload() function 2017-04-09 14:02:34 +01:00
Sepalani 20a9c5b12d HLE: Add PatchFixedFunctions() function 2017-04-09 14:02:34 +01:00
Sepalani 61b36d1f9a PatchEngine: Add Reload() function 2017-04-09 14:02:33 +01:00
JosJuice 776d63bcd3 Simplify condition for enabling/disabling vertex rounding checkbox
Also moving the code further up in the function so that
it's consistent with how the other settings are handled.
2017-04-09 10:54:02 +02:00
JosJuice 055adad8f1 Merge pull request #5218 from lioncash/video
VideoConfigDiag: Move event implementations into the cpp file
2017-04-09 10:42:10 +02:00
Matthew Parlane 394b847b6c Merge pull request #5229 from lioncash/si-id
SI_Devices: Get rid of pointer casts for ID assignment in RunBuffer
2017-04-09 20:09:44 +12:00
Lioncash cc803db042 RenderBase: Eliminate renderer global accesses within the Renderer class
There's no need to access these globals, the instance itself has access
to these data members and functions.
2017-04-08 20:15:39 -04:00
Lioncash caf25653d8 RenderBase: const correctness 2017-04-08 20:11:29 -04:00
Lioncash 0540950e7a VideoConfigDiag: Move event implementations into the cpp file
Also removes the unused Event_Adapter event stub which did nothing. It
wasn't even hooked up to wx's event system.

Allows removing several includes from the header file and moving them to
the cpp file. Prevents includes being dumped into other source files
that include the header.

This uncovered an indirect include in Main for MsgHandler utilities.
2017-04-08 17:35:50 -04:00
Mat M 96e70ad5a3 Merge pull request #5217 from lioncash/cheats
Frame: Make cheat dialog private
2017-04-08 17:30:27 -04:00
Mat M 3013252d4f Merge pull request #5222 from MerryMage/keyb
Frame: Fix macOS keyboard while emulation is running
2017-04-08 17:28:13 -04:00
Mat M 59d93f3a0d Merge pull request #5219 from lioncash/common
FileSearch: Namespace functions under the Common namespace
2017-04-08 17:19:00 -04:00
Mat M 579b7538e7 Merge pull request #5224 from ligfx/cachedinterpreterhle
CachedInterpreter: fix HLEFunction argument
2017-04-08 17:17:28 -04:00
Mat M ab18eba9de Merge pull request #5105 from lioncash/namespace
EXI: Namespace device classes
2017-04-08 17:12:56 -04:00
Mat M f09d17f40f Merge pull request #5161 from leoetlino/es-formats-tests
Add unit tests for IOS/ESFormats
2017-04-08 17:10:57 -04:00
Mat M 11d1124fa5 Merge pull request #5209 from leoetlino/block-es-diverify
IOS/ES: Block ES_DIVerify from the IPC interface
2017-04-08 16:57:40 -04:00
Mat M d55d9f93a7 Merge pull request #5212 from leoetlino/es-unknown-ioctlvs
IOS/ES: Return IPC_EINVAL for unknown ioctlvs
2017-04-08 16:56:50 -04:00
Mat M 1e182706ca Merge pull request #5185 from leoetlino/disable-nand-items
WX: Disable a few menu items when a Wii title is running
2017-04-08 16:54:52 -04:00
Mat M 5d7bd357c1 Merge pull request #5227 from JosJuice/revise-new-settings-strings
Revise descriptions for new settings
2017-04-08 16:51:35 -04:00
Mat M 4ba6184785 Merge pull request #5216 from ligfx/removeshadowedtlut
TextureCacheBase: remove duplicated variable
2017-04-08 16:49:04 -04:00
Mat M 9a7c28026b Merge pull request #5214 from sepalani/strutil-fix
StringUtil: Fix a ctype assertion
2017-04-08 16:45:29 -04:00
Lioncash 069b70b2b4 SI_Devices: Get rid of pointer casts for ID assignment in RunBuffer
This is actually undefined behavior (pointer casting to a non-char type and
dereferencing it).
2017-04-08 16:36:14 -04:00
JosJuice 9d73196e4f Boot: Make default ISO code for DOLs consistent with ELFs 2017-04-08 18:52:39 +02:00
JosJuice 0b78386044 Boot: Allow setting a default ISO for Wii DOLs
I have no idea why there was a special case preventing this...
2017-04-08 18:52:33 +02:00
JosJuice 6263830d6d Boot: Always emulate BS2 once when booting a DOL
The old code could do it 0, 1 or 2 times.
2017-04-08 18:52:12 +02:00
JosJuice 31eec8c75b Boot: Remove useless check
No disc is inserted at this point, so IsDiscInside is always false.
2017-04-08 18:45:01 +02:00
JosJuice 4424d24fd0 Revise descriptions for new settings
I replaced "1x IR" with "native internal resolution" because
the IR setting never says "1x" or "IR", and I also did some
minor rewording and normalized the sentence-ending spaces.
2017-04-08 18:39:46 +02:00
Pierre Bourdon e7d632d1af Merge pull request #5226 from JosJuice/ir-18n-comments
Add i18n comments for the acronym IR
2017-04-08 18:00:12 +02:00
MerryMage 8ad6f2cecc AX: Add support for UCodes without LPF 2017-04-08 16:04:09 +01:00
JosJuice 254df247b1 Add i18n comments for the acronym IR 2017-04-08 16:00:09 +02:00
Michael Maltese 1bd87f5a79 CachedInterpreter: fix HLEFunction argument 2017-04-07 17:54:59 -07:00
Sepalani eb45ea5f7f Boot: Prevent ELF to be considered as a disc 2017-04-08 00:04:50 +01:00
MerryMage 8f8e7681b2 AX: Implement loop counter
Required for Rogue Squadron.
2017-04-07 20:54:34 +01:00
MerryMage a793b4d06f Frame: Fix macOS keyboard while emulation is running 2017-04-07 19:44:04 +01:00
Stenzek 2492f196a7 TextureCache: Fix incomplete GPU texture decoding of non-square mips 2017-04-07 23:03:14 +10:00
Lioncash f7a2f6ad01 FileSearch: Namespace functions under the Common namespace 2017-04-07 01:02:14 -04:00
Lioncash c61d0dfe87 Frame: Make cheat dialog private
Rather than destroy and reinitialize the dialog whenever it's closed,
and opened this dialog can just be hidden from view when it's not
needed, and shown again when it is needed.

Also, a dialog should really not be managing any live instances of
itself, including the one directly in the main frame.

This gets rid of another usage of the main frame global.
2017-04-06 21:25:26 -04:00
Michael Maltese cef5bd4a09 TextureCacheBase: remove duplicated variable
Fixes warning:

```
Source/Core/VideoCommon/TextureCacheBase.cpp:869:17: warning: declaration shadows a local variable [-Wshadow]
      const u8* tlut = &texMem[tlutaddr];
                ^
Source/Core/VideoCommon/TextureCacheBase.cpp:784:13: note: previous declaration is here
  const u8* tlut = &texMem[tlutaddr];
            ^
```
2017-04-06 13:52:42 -07:00
Sepalani c170659189 StringUtil: Fix a ctype assertion 2017-04-06 15:02:21 +01:00
Stenzek fdf2efdac6 TextureConversionShader: Add missing swap for index of C14X2 textures 2017-04-06 23:29:40 +10:00
Léo Lam 60d47eaeff IOS/ES: Return IPC_EINVAL for unknown ioctlvs
Instead of allowing unknown ioctlvs and faking success for both unknown
and unimplemented ioctlvs, which can possibly result in nasty, hard to
debug bugs (if the emulated software behaves unexpectedly), we should
reject unknown ioctlvs and log known, but unimplemented ioctlvs.
2017-04-06 15:18:23 +02:00
Léo Lam 98dea421ba IOS/ES: Block ES_DIVerify from the IPC interface
Simple accuracy change.

DIVerify is an internal ioctlv in unpatched, up-to-date IOSes,
where calling it from the PPC just returns -1017.
2017-04-06 10:38:06 +02:00
Stenzek c6075f4c36 TextureConversionShader: Fix compile error in C14X2 decoder 2017-04-06 13:59:06 +10:00
Michael Maltese d10d09ccc1 VideoCommon: rework anamorphic widescreen heuristic
Some widescreen hacks (see below) properly force anamorphic output, but
don't make the last projection in a frame 16:9, so Dolphin doesn't
display it correctly.

This changes the heuristic code to assume a frame is anamorphic based on
the total number of vertex flushes in 4:3 and 16:9 projections that
frame. It also adds a bit of "aspect ratio inertia" by making it harder
to switch aspect ratios, which takes care of aspect ratio flickering
that some games / widescreen hacks would be susceptible with the new
logic.

I've tested this on SSX Tricky's native anamorphic support, Tom Clancy's
Splinter Cell (it stayed in 4:3 the whole time), and on the following
widescreen hacks for which the heuristic doesn't currently work:

Paper Mario: The Thousand-Year Door (Gecko widescreen code from Nintendont)
C202F310 00000003
3DC08042 3DE03FD8
91EEF6D8 4E800020
60000000 00000000
04199598 4E800020
C200F500 00000004
3DE08082 3DC0402B
61CE12A2 91CFA1BC
60000000 387D015C
60000000 00000000
C200F508 00000004
3DE08082 3DC04063
61CEE8D3 91CFA1BC
60000000 7FC3F378
60000000 00000000

The Simpsons: Hit & Run (AR widescreen code from the wiki)
04004600 C002A604
04004604 C09F0014
04004608 FC002040
0400460C 4082000C
04004610 C002A608
04004614 EC630032
04004618 48220508
04041A5C 38600001
04224344 C002A60C
04224B1C 4BDDFAE4
044786B0 3FAAAAAB
04479F28 3FA33333
2017-04-05 17:23:16 -07:00
Léo Lam d8089a457f WX: Disable a few menu items when a Wii title is running
Unsafe and keeping them enabled would allow inaccurate behaviour that
can break games.
2017-04-05 20:54:48 +02:00
Léo Lam 47a09de019 Add unit tests for IOS/ESFormats
This adds unit tests for IOS/ESFormats, and in particular, for the
TMDReader. It is tested using invalid TMDs (to check IsValid()) and
two valid, properly signed TMDs.

Things which are now tested:

* Title type helper functions.
* TMDReader: Validity check.
* TMDReader: General information returned by the Get*() methods.
* TMDReader: Raw TMD and generated TMD view, compared against IOS.
* TMDReader: Game ID generation code (which is Dolphin specific).
* TMDReader: Content information: getting by ID/index, order, metadata.
2017-04-05 20:54:11 +02:00
Léo Lam c4d5076696 Common: Add missing set(LIBS ...) for mbedtls 2017-04-05 20:54:11 +02:00
MerryMage 19eb09b086 Jit_SystemRegisters: Make mfspr PIE-compliant 2017-04-05 10:22:48 +01:00
MerryMage 38917a151d CoreTiming: Pull globals into a single struct 2017-04-05 10:22:48 +01:00
Scott Mansell 4c0a392698 Merge pull request #4715 from iwubcode/efb_copy_corruption_at_higher_ir
Add configurable toggle to round vertices to nearest pixel
2017-04-05 19:41:52 +12:00
Stenzek 27e9e469d4 Merge pull request #5206 from ligfx/fixcustomtextures
TextureCacheBase: fix custom textures not being loaded
2017-04-05 16:49:54 +10:00
Lioncash 14c81764df ControllerEmu: Replace includes with forward declarations
Replaces includes with forward declarations where applicable, and moves
includes to where they're actually needed.
2017-04-04 20:38:30 -04:00
Michael Maltese e9e3226026 TextureCacheBase: fix custom textures not being loaded
Fixes bug #10183 [0] introduced by 3bd184a / PR #4467 [1].

TextureCacheBase was no longer calling `entry->Load` for custom textures
since the compute shader decoding logic was added. This adds it back in.
It also slightly restructures the decoding if-group to match the one
below, which I think makes the logic more obvious.

(recommend viewing with `git diff -b` to ignore the indentation changes)

[0]: https://bugs.dolphin-emu.org/issues/10183
[1]: https://github.com/dolphin-emu/dolphin/pull/4467
2017-04-04 14:34:46 -07:00
Léo Lam cf0492468d IOS/WFS: Fix logging message 2017-04-04 17:37:08 +02:00
Anthony d8c476b015 Merge pull request #5204 from leoetlino/tmd-view-fixes
IOS/ES: Fix GetTMDView
2017-04-04 15:14:04 +00:00
iwubcode a9d08a31a6 Add configurable toggle that rounds vertices to the nearest pixel when
w=1.  This fixes some games at higher IRs.
2017-04-04 09:52:18 -05:00
Léo Lam 6f8c30c863 IOS/ES: Fix GetTMDView
We had missing checks *and* were checking for the out vector size
improperly.

Rewritten based on the actual behaviour in IOS.
2017-04-04 16:04:24 +02:00
Stenzek 97dc773a3e D3D: Drop redundant interface TextureEncoder 2017-04-04 22:57:23 +10:00
Anthony 90acceaf41 Merge pull request #5201 from lioncash/determinism
Core: Hide determinism global
2017-04-04 06:21:07 +00:00
Anthony 840e58c032 Merge pull request #5196 from lioncash/tasdlg
TASInputDlg: Minor changes
2017-04-03 20:27:37 +00:00
Lioncash 0c1d56c16f Core: Hide determinism global
This is only ever queried and not set outside of the Core.cpp, so this
should just be hidden internally and just have a function exposed that
allows querying it.
2017-04-03 14:56:12 -04:00
Lioncash ad1a899a7c Core: Make EmuThread internally linked 2017-04-03 13:27:35 -04:00
Lioncash ed2e9e9e41 Core: Remove unnecessary forward declaration 2017-04-03 13:26:15 -04:00
Markus Wick 9b1e2c2b1e Merge pull request #5118 from mahdihijazi/master
[Android] Load the game banner from the ROM and use it if no screenshot is available
2017-04-03 16:20:34 +02:00
Markus Wick 9d1ae76d0d Merge pull request #5200 from lioncash/frame
Frame: Remove callback function prototypes from header.
2017-04-03 13:35:35 +02:00
Lioncash b67968c3d8 Core: Remove unimplemented function prototype SetBlockStart 2017-04-03 06:34:49 -04:00
Lioncash c457ee4995 Frame: Remove callback function prototypes from header
Gets rid of more direct usages of the main_frame global, keeping the
callbacks internal to the frame itself.
2017-04-03 06:34:36 -04:00
Matthew Parlane 637bdc45b3 Merge pull request #5197 from leoetlino/ios-reset
IOS: Don't expose HLE::Reset()
2017-04-03 21:26:01 +12:00
Markus Wick 3bd184a255 Merge pull request #4467 from stenzek/gpu-texture-decoding
VideoBackends: GPU Texture Decoding
2017-04-03 10:46:13 +02:00
Lioncash f3ab0fc3f8 TASInputDlg: Use an enum for ID constants
These are all related constants (and it doesn't make sense to allow
taking the address of them).
2017-04-03 04:29:15 -04:00
Lioncash 9dd29895cd TASInputDlg: Replace includes with forward declarations 2017-04-03 04:29:15 -04:00
Lioncash 2a968f02d7 TASInputDlg: Make constructor explicit 2017-04-03 04:29:14 -04:00
Lioncash 28395c6302 TASInputDlg: Simplify event queueing calls
wxQueueEvent/wxPostEvent are useful when the event is being dispatched
to another separate window, but aren't really necessary when the event
will be handled by the same window it's dispatched from.

GetEventHandler() is unnecessary here for the same reason. It's an event
intended to be handled by the dialog itself.
2017-04-03 04:29:14 -04:00
Lioncash 598a92426f TASInputDlg: Get rid of unnecessary event casts
wxCommandEvent already stores the necessary data; the control object
itself doesn't need to be retrieved and casted.
2017-04-03 04:29:14 -04:00
Lioncash 2af5b64f32 TASInputDlg: Apply auto to UI control initializations where appropriate
As all UI controls are essentially constructed with new expressions, the
type is already visible on the right-hand side, so repeating the type
twice isn't necessary.
2017-04-03 04:29:11 -04:00
Lioncash b809db52d1 TASInputDlg: Use std::array where applicable 2017-04-03 04:28:11 -04:00
Michael Maltese f1dfa7933c FrameTools: unbind KEY_DOWN handler when game stops
Fixes issue 10162: Cannot type window text fields in macOS builds[0]

[0]: https://bugs.dolphin-emu.org/issues/10162
2017-04-02 19:17:35 -07:00
Léo Lam 0dbad29bf4 IOS: Don't expose HLE::Reset()
This is an implementation detail that does not have to be exposed.

It was used in WII_IPC whenever the IPC gets reset, but that does not
make much sense to me: the only time when IOS loses state and the IPC
registers are set up again is when it's reloaded. And reloading IOS
already calls Reset() indirectly.

Also, an IPC reset from the PPC definitely should not close all opened
devices!

This also gets rid of a special case for clear_devices, which is now
completely unneeded.
2017-04-02 18:00:32 +02:00
Markus Wick fd7f7c5541 Merge pull request #5159 from ligfx/arm64warnings
Arm64: a slew of warning fixes
2017-04-02 17:07:17 +02:00
Markus Wick 40cfa708a8 Merge pull request #5180 from lioncash/enum
CPU: Convert state enum to an enum class
2017-04-02 17:01:25 +02:00
Markus Wick 86e48fc1ca Merge pull request #5194 from lioncash/dialog
Frame: Make TAS dialogs private
2017-04-02 16:53:31 +02:00
Léo Lam 64b1a4d308 IOS/IPC: Remove unneeded forward declaration
CoreTiming.h is already included.
2017-04-02 12:41:47 +02:00
Lioncash 05872336a9 ExpressionParser: Rename ParseStatus' Success member to Successful
This clashes with X11's preprocessor define named Success (because using
non-prefixed lowercase identifiers in C was apparently a fantastic idea
at some point), causing compilation errors.
2017-04-02 06:13:18 -04:00
Lioncash c09f7bd84b Frame: Convert TAS dialog C array to std::array 2017-04-02 04:11:58 -04:00
Lioncash 678905764a Movie/Frame: Amend variable naming
Amends variable naming related to translation unit locals and TAS input
dialogs that were modified in the previous commit.
2017-04-02 04:11:58 -04:00
Lioncash 7f0203a5b0 Frame: Make TAS dialogs private
Amends the TAS callbacks to internally store functions using
std::function instead of raw function pointers. This allows binding
extra contextual state via lambda functions, as well as keeping the
dialogs internal to the main frame (on top of being a more flexible
interface).
2017-04-02 04:11:47 -04:00
Lioncash 5620f78b5c Core: Amend VS filter tag 2017-04-02 00:30:26 -04:00
Jussi Virtanen 92ad1b9c4d Use pointers inside ini loop to retain references to ini files 2017-04-01 17:52:25 +03:00
Stenzek 105be9b514 Android: Add option for enabling GPU texture decoding 2017-04-01 12:32:57 +10:00
Stenzek 739aced97c Vulkan: Implement compute-shader based GPU texture decoding 2017-04-01 12:32:57 +10:00
Stenzek 5fbc63fbcf Vulkan: Compute shader support 2017-04-01 12:32:57 +10:00
Stenzek 02f887ede0 OGL: Add GPUTimer class for measuring execution time of a draw/dispatch 2017-04-01 12:32:57 +10:00
Stenzek b01bcb80f4 OGL: Implement GPU texture decoding backend 2017-04-01 12:32:56 +10:00
Stenzek 79ba946d70 VideoCommon: Changes to TextureCache to support decoding in backend 2017-04-01 12:32:10 +10:00
Stenzek 6ffc16d1b0 VideoCommon: Add texture decoding shader generators 2017-04-01 12:32:10 +10:00
Stenzek 82fd984f3e VideoBackends: Add configuration field for GPU texture decoding 2017-04-01 12:32:05 +10:00
Stenzek abc662d69c OGL: Support compute shaders and emitting GLSL 4.3
This also changes bSupportsEarlyFragmentTests to
bSupportsImageLoadStore, as it is used for both.
2017-04-01 12:31:41 +10:00
Stenzek b987f220e1 VideoBackends: Add support flag for compute shaders 2017-04-01 12:31:41 +10:00
Stenzek a8876a29fe OGL: Use ARB_texture_storage to allocate TextureCache entries
This ensures that they are complete textures by decoding time, as when
using compute shaders we write directly to the destination texture.
2017-04-01 12:31:41 +10:00
Stenzek c8cbbd831d GLExtensions: Seperate GL_ARB_compute_shader from GL 4.3
Allows the usage of glDispatchCompute from GLES (requires GLES 3.1).
2017-04-01 12:31:40 +10:00
Stenzek 4e24bfd0ce GLExtensions: Seperate GL_ARB_shader_image_load_store from GL 4.2
Allows the usage of glBindImageTexture and glMemoryBarrier from GLES
(requires GLES 3.1).
2017-04-01 12:31:40 +10:00
Stenzek bd15d0352a GLExtensions: Seperate GL_ARB_texture_storage from GL 4.2
This allows us to use glTexStorage on GL3.3 implementations that support
the extension.
2017-04-01 12:31:40 +10:00
Stenzek f8059eae43 OGL: Fix render-target texture mipmap allocation
The loop was allocating one-too-many levels, as well as incorrect sizes
for each level. Probably not an issue as mipmapped render targets aren't
used, but the logic should be correct anyway.
2017-04-01 12:31:40 +10:00
Matthew Parlane 22fa199caf Merge pull request #5190 from ligfx/removeao
Remove libao sound backend
2017-04-01 12:15:17 +13:00
Matthew Parlane 587ed3213c Merge pull request #5189 from stenzek/gl-msaa
OGL: Fix MSAA being forced to 1x
2017-04-01 12:14:51 +13:00
Michael Maltese af63235dc4 Remove libao sound backend
A single person uses it[0], and it sometimes messes up the Linux
buildbots ("ninja: error: 'ao', needed by 'Binaries/dolphin-emu', missing
and no known rule to make it").

[0]: https://analytics.dolphin-emu.org/stats/popular-audio-backends.txt
2017-03-31 14:59:57 -07:00
Michael Maltese b305a6c575 VertexLoaderTest: fix maybe-uninitialized warning
Fixes warning:

```
../Source/UnitTests/VideoCommon/VertexLoaderTest.cpp:222:15: error: variable 'f' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
    ExpectOut(f * scale);
              ^
../Source/UnitTests/VideoCommon/VertexLoaderTest.cpp:198:12: note: initialize the variable 'f' to silence this warning
    float f, g;
           ^
            = 0.0
../Source/UnitTests/VideoCommon/VertexLoaderTest.cpp:223:15: error: variable 'g' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
    ExpectOut(g * scale);
              ^
../Source/UnitTests/VideoCommon/VertexLoaderTest.cpp:198:15: note: initialize the variable 'g' to silence this warning
    float f, g;
              ^
               = 0.0
```
2017-03-31 13:51:20 -07:00
JosJuice 020618a427 Move DVDInterface's pure (stateless) math code to a new file 2017-03-31 17:27:23 +02:00
JosJuice f106ba70d4 Move DVD code to a new directory 2017-03-31 17:27:23 +02:00
Stenzek 5326a18fdf OGL: Fix MSAA being forced to 1x
This was a regression from the remove-everything-static-from-renderer
PR. As the comment indicates, it would be nice to move all of this logic
out of the Renderer constructor, but this is a much larger change.
2017-03-31 21:55:26 +10:00
Mat M 542fb347f1 Merge pull request #5160 from mahdihijazi/enhance_style
android: Change the color of the selected slot to make it more visible
2017-03-31 03:57:32 -04:00
Matthew Parlane 9b2c6e9a9a Merge pull request #5186 from lioncash/frame
DolphinWX/Frame: Remove GetGameListCtrl()
2017-03-31 20:51:14 +13:00
Mat M f5dcfb157d Merge pull request #5151 from mahdihijazi/update_sdk
Update to Android SDK 25
2017-03-31 00:27:10 -04:00
Mat M 006381bb47 Merge pull request #5184 from leoetlino/dead-code
Common: Remove dead code in NandPaths
2017-03-31 00:21:49 -04:00
Mat M 6a595aabe9 Merge pull request #5153 from ligfx/stubhostnorequestfullscreen
StubHost: remove unused Host_RequestFullscreen()
2017-03-31 00:21:04 -04:00
Mat M 6b198679bc Merge pull request #5129 from ligfx/breakpointprintf
Breakpoints.cpp: fix format string warnings
2017-03-31 00:13:06 -04:00
Mat M 80a812322e Merge pull request #5152 from ligfx/disciomaybeuninitialized
DiscIO: initialize out args to ReadSwapped (fixes warning)
2017-03-31 00:11:53 -04:00
Mat M 774d2420e3 Merge pull request #5158 from ligfx/coretimingstatic
CoreTimingTest: make AdvanceAndCheck() static (fix warning)
2017-03-31 00:09:20 -04:00
Lioncash 6495becaf7 Frame: Remove GetGameListCtrl()
This is currently unused and shouldn't actually be a part of the frame's
public interface. The event system should be used instead to dispatch
messages to the game list control if necessary.
2017-03-30 16:05:20 -04:00
Léo Lam e1020cb674 Common: Remove dead code in NandPaths 2017-03-30 18:48:50 +02:00
Matthew Parlane de6c9404fc Merge pull request #5182 from leoetlino/ios-enums
IOS: Move ES return codes
2017-03-30 14:57:03 +13:00
Matthew Parlane 595c1f5597 Merge pull request #5179 from lioncash/cast
Fifo: Remove unnecessary integral casts
2017-03-29 10:55:52 +13:00
Lioncash 497292cb1b MainMenuBar: Amend MEGA signature help tooltip
Keeps it consistent with the regular signature DB option
2017-03-28 17:14:04 -04:00
Lioncash 5637bbd1cf MEGASignatureDB: Remove unused variable in Apply 2017-03-28 16:19:19 -04:00
Lioncash eec4b705d5 MEGASignatureDB: Move objects where applicable
Signatures during loading and strings during reference retrieval can be
moved.
2017-03-28 16:18:31 -04:00
Lioncash c0171975ea MEGASignatureDB: Move implementation details into the cpp file
These functions aren't dependent on any database state and can be hidden.
2017-03-28 15:43:21 -04:00
Anthony fee2577e25 Merge pull request #5088 from sepalani/mega_signature
SignatureDB: Support for WiiTools MEGA files added
2017-03-28 12:28:21 -07:00
Sepalani 4cb84d06f0 SignatureDB: Support for WiiTools MEGA files added 2017-03-28 20:16:09 +01:00
Léo Lam 68cd8fc910 IOS: Move ES return codes
This keeps all of the return codes in the same place and exposed
publicly (as they are not internal to ES).

I have also added proper IOSC error codes and renamed some codes
for more consistency. (Unix ones have an E prefix, others do not.)
2017-03-28 20:02:26 +02:00
Anthony bcb1729dc9 Merge pull request #5124 from leoetlino/more-accurate-import
IOS/ES: Handle imports more accurately
2017-03-28 09:20:28 -07:00
Anthony cdd3ac023c Merge pull request #5133 from leoetlino/ugh-windows
Fix issues introduced by cpp-optparse on Windows
2017-03-28 09:17:02 -07:00
Anthony 2c531889b2 Merge pull request #5139 from lioncash/bitfield
BitField: Minor cleanup
2017-03-28 09:15:37 -07:00
Lioncash 8d98ac6509 CPU: Convert state enum to an enum class
Gets enum constants out of the immediate namespace. Also makes it
strongly typed like the other state enums.
2017-03-28 11:48:28 -04:00
Lioncash 41fbc659bf Fifo: Remove unnecessary integral casts
FIFO_SIZE is a u32, so %u can just be used instead.
2017-03-28 10:35:26 -04:00
Matthew Parlane 85d74a506f Merge pull request #4951 from waddlesplash/haiku-2
Initial support for Haiku.
2017-03-28 17:19:35 +13:00
Augustin Cavalier 0831dad467 Initial support for Haiku. 2017-03-27 23:46:19 -04:00
Matthew Parlane 8c23888968 Merge pull request #5174 from lioncash/vi
VideoInterface: Minor changes
2017-03-28 16:15:59 +13:00
Matthew Parlane 94dd435336 Merge pull request #5176 from lioncash/retval
VertexLoader: Return debug strings by value
2017-03-28 15:38:32 +13:00
Matthew Parlane 3000cc7c05 Merge pull request #5175 from lioncash/fifo
Fifo: const correctness
2017-03-28 15:37:18 +13:00
Matthew Parlane 3eff869937 Merge pull request #5156 from sepalani/gen-sym
Generate Symbols From menu added
2017-03-28 15:36:33 +13:00
Sepalani 5b88782e30 Generate Symbols From menu added 2017-03-28 02:05:27 +01:00
Matthew Parlane 22256d1bd8 Merge pull request #5170 from leoetlino/bt-fix
libusb fixes (mostly for IOS)
2017-03-28 13:47:47 +13:00
Lioncash 9ebd84e54a VertexLoaderManager: Return debug strings by value
This also renames AppendListToString to VertexLoadersToString.
2017-03-26 23:50:09 -04:00
Lioncash 9859533ab4 VertexLoaderBase: Return debug strings by value
An out parameter for this sort of thing is a C++03 hold-over. This also
renames AppendToString to ToString.
2017-03-26 23:49:59 -04:00
Lioncash d44844ba29 XFStructs: Get rid of an unnecessary pointer cast
Also gets rid of implicit sign conversions.
2017-03-26 23:09:30 -04:00
Lioncash 62db55dee2 Fifo: const correctness
PushFifoAuxBuffer only memcpys data using ptr as the source pointer, so
it can be a pointer to const data because of that.
2017-03-26 23:08:33 -04:00
Matthew Parlane dc2d11c1a7 Merge pull request #5172 from lioncash/dsp
DSPIntMultiplier: Place translation unit local functions in an anonymous namespace
2017-03-27 16:06:39 +13:00
Lioncash 8033a72f0b VertexLoaderBase: Use std::array where applicable 2017-03-26 22:12:20 -04:00
Lioncash adbffc24e9 VideoInterface: Make clock frequency array constexpr
This is only ever read from.
2017-03-26 19:30:44 -04:00
Lioncash ec5637fe46 VideoInterface: Utilize std::array where applicable 2017-03-26 19:28:56 -04:00
Lioncash ae29cd042e VideoInterface: Initialize union members directly where applicable 2017-03-26 18:42:09 -04:00
Lioncash 0a7a6142eb GCMemcardDirectory: Move flush interval constant into the cpp file
This isn't necessary to be within the header.
2017-03-26 17:55:30 -04:00
Lioncash a5c5645bed DSPIntMultiplier: Place translation unit local functions in an anonymous namespace
Unlike inline, this makes the functions internally linked.
2017-03-26 16:42:35 -04:00
Léo Lam 69705e3a41 IOS/ES: Handle imports more accurately
A set of small changes to handle title imports more accurately.

* Clean up the import directory after an import, exactly like IOS.
  This should prevent the title directory from having useless leftover
  contents, which could confuse the emulated software.

* More robust failsafe in case an import does not complete normally.
  IOS checks for stale imports and handles them appropriately on boot.
  We now do the same.

* Create all directories as IOS does. This includes the data directory.
2017-03-26 22:17:31 +02:00
Matthew Parlane 76cece8157 Merge pull request #5115 from leoetlino/proper-location-for-es-stuff
IOS/ES: Move shared content map, uid.sys code
2017-03-27 08:53:14 +13:00
Léo Lam 9aaaa2b924 IOS/USB: Unref libusb devices manually 2017-03-26 15:58:30 +02:00
Léo Lam 32a1b5068a Revert "Use a single libusb context"
This reverts commit c8a6dc6c23.

libusb on Windows isn't really safe to use from different threads
with a single context.
2017-03-26 15:58:30 +02:00
BhaaL a9afd5b243 fix incomplete end-tag 2017-03-26 14:44:42 +02:00
Léo Lam 6c62cfb1aa IOS/BTReal: Properly check for libusb failures 2017-03-26 12:22:29 +02:00
Léo Lam 7b17163a7a IOS/ES: Move shared content map, uid.sys code
These are all specific to ES and belong there.

The SharedContentMap and UIDSys classes were also modernised.
2017-03-26 12:16:28 +02:00
Léo Lam 3cfd9ea9b2 IOS/BTReal: Always use config descriptor 0
This may fix LIBUSB_ERROR_NOT_FOUND whenever devices end up being in
an unconfigured state. We don't need anything more than the first
config descriptor anyway.
2017-03-26 12:08:53 +02:00
Markus Wick 0b6170cc33 Merge pull request #5167 from stenzek/jit64-crash
Jit64: Fix crash at startup
2017-03-26 09:17:21 +02:00
Anthony fbfb94ec79 Merge pull request #5157 from sepalani/sym-name
Fix wrong address in zz_ symbol name
2017-03-25 19:38:16 -07:00
Matthew Parlane 5d40daa507 Merge pull request #5123 from ligfx/fixwiimoteemu
WiimoteEmu: refer to settings by name, not index
2017-03-26 14:56:44 +13:00
Matthew Parlane 28916997a5 Merge pull request #5130 from ligfx/inputconfigdiagbitmapsswitchdefault
InputConfigDiagBitmaps: add switch empty cases (fixes warning)
2017-03-26 14:54:50 +13:00
Matthew Parlane 9dd9573ec0 Merge pull request #5148 from ligfx/iptopwarning
IP/Top: rename private methods à la HandleXRequest
2017-03-26 14:54:31 +13:00
Matthew Parlane e05b6cf3f4 Merge pull request #5155 from ligfx/expecttruefalse
UnitTests: use EXPECT_TRUE/EXPECT_FALSE (fixes warnings)
2017-03-26 14:53:17 +13:00
Matthew Parlane 89de08d649 Merge pull request #5166 from ligfx/eglwarning
EGL: Fix missing-braces warning
2017-03-26 14:52:09 +13:00
Stenzek 724a8437eb Jit64: Fix crash at startup
This was a regression introduced by 4d8d045. stored_stack_pointer within
PPCSTATE was being accessed before the PPCSTATE (RBP) register was
initialized.
2017-03-26 11:37:55 +10:00
Matthew Parlane 4f160b2547 Merge pull request #5163 from lioncash/array
TextureCacheBase: Convert bound_textures from a C array to a std::array
2017-03-26 14:35:12 +13:00
Michael Maltese 3f8a471d64 EGL: Fix missing-braces warning
Fixes warning:

```
../Source/Core/Common/GL/GLInterface/EGL.cpp:57:7: warning: suggest braces around initialization of subobject [-Wmissing-braces]
      EGL_OPENGL_BIT, (1 << 6), /* EGL_OPENGL_ES3_BIT_KHR */
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2017-03-25 17:09:50 -07:00
Léo Lam c1cd7d9c0e WX: Redirect stdout to console output
Thank Windows for its default console handling.

This fixes std::cout not working on Windows.
2017-03-25 23:28:45 +01:00
Léo Lam 77b389bf99 WX: Move init mutex lock to after command line
Calling std::exit while having a mutex locked leads to an assertion.

Moving the lock is fine, since all it protects against is really just
UICommon.
2017-03-25 23:24:02 +01:00
Markus Wick 86e6b44271 Merge pull request #5146 from ligfx/mmuwarning
MMU: rewrite loop to avoid warning
2017-03-25 23:18:56 +01:00
Michael Maltese 9afe3946d1 JitArm64_Integer: fix signedness comparison warning
Fixes warning:

```
dolphin/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp:1139:64: warning: comparison of integers of different signs: 'u32' (aka 'unsigned int') and 'int' [-Wsign-compare]
  else if (gpr.IsImm(b) && gpr.GetImm(b) != 0 && gpr.GetImm(b) != -1)
                                                 ~~~~~~~~~~~~~ ^  ~~
```
2017-03-25 14:51:10 -07:00
Michael Maltese 428bac6e32 JitArm64_Integer: remove unused imm_neg 2017-03-25 14:51:10 -07:00
Michael Maltese 5892ef1792 JitArm64_Integer: extract bit operation lambdas
Fixes warnings like:

```
dolphin/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp:132:37: warning: declaration shadows a local variable [-Wshadow]
    reg_imm(a, s, inst.UIMM, [](u32 a, u32 b) { return a | b; }, &ARM64XEmitter::ORRI2R);
                                    ^
/Users/michaelmaltese/Downloads/dolphin/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp:122:7: note: previous declaration is here
  u32 a = inst.RA, s = inst.RS;
      ^
```
2017-03-25 14:51:09 -07:00
Michael Maltese 3d7bace9da Arm64Emitter: extract lambda to AddImmediate()
Fixes warning:

```
Source/Core/Common/Arm64Emitter.cpp:4108:31: error: declaration shadows a local variable [-Werror,-Wshadow]
    auto addi = [this](ARM64Reg Rd, ARM64Reg Rn, u64 imm, bool shift, bool negative, bool flags) {
                                ^
  /var/lib/buildbot/slave/pr-android/build/Source/Core/Common/Arm64Emitter.cpp:4105:46: note: previous declaration is here
  void ARM64XEmitter::ADDI2R_internal(ARM64Reg Rd, ARM64Reg Rn, u64 imm, bool negative, bool flags,
                                               ^
```
2017-03-25 14:21:19 -07:00
Michael Maltese c58ba93503 Arm64: Use PRIi64/PRIx64 for printf 2017-03-25 14:20:44 -07:00
Michael Maltese 4cd9a2ef1e DiscIO: make sure to initialize out args to ReadSwapped
Fixes warnings:

```
../Source/Core/DiscIO/VolumeGC.cpp: In member function 'virtual u8 DiscIO::CVolumeGC::GetDiscNumber() const':
../Source/Core/DiscIO/VolumeGC.cpp:178:10: error: 'disc_number' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   return disc_number;
          ^
../Source/Core/DiscIO/VolumeWiiCrypted.cpp: In member function 'virtual u8 DiscIO::CVolumeWiiCrypted::GetDiscNumber() const':
../Source/Core/DiscIO/VolumeWiiCrypted.cpp:258:10: error: 'disc_number' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   return disc_number;
          ^
../Source/Core/DiscIO/VolumeWiiCrypted.cpp: In member function 'virtual IOS::ES::TMDReader DiscIO::CVolumeWiiCrypted::GetTMD() const':
../Source/Core/DiscIO/VolumeWiiCrypted.cpp:123:20: error: 'tmd_address' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   tmd_address <<= 2;
                    ^
```
2017-03-25 13:50:23 -07:00
Lioncash 57c21b9576 TextureCacheBase: Convert bound_textures from a C array to a std::array
Prevents array-to-pointer decay and simplifies some code.
2017-03-25 14:53:25 -04:00
Markus Wick 4d8d0451e3 Merge pull request #5142 from MerryMage/stored_stack_pointer
JitAsm: Use stored_stack_pointer instead of s_saved_rsp
2017-03-25 17:37:48 +01:00
Markus Wick 3898707ef9 Merge pull request #5141 from MerryMage/ConvertDoubleToSingle
EmuCodeBlock: Place ConvertDoubleToSingle temporaries on the stack
2017-03-25 17:37:29 +01:00
Mahdi Hijazi 8f2f833f9d Update to Android SDK 25
This handles the new permission system in Android M.
2017-03-25 14:55:15 +01:00
Mahdi Hijazi f1fd336a03 Change the color of the selected slot to make it more visible
On Android TV the selected slot is not cleary hilighted, this is to fix
that but changing the selected slot text color to blue.
2017-03-25 09:55:53 +01:00
Michael Maltese 0c28ff2acc CoreTimingTest: make AdvanceAndCheck() static (fix warning)
Fixes warning:

```
../Source/UnitTests/Core/CoreTimingTest.cpp: In function 'void AdvanceAndCheck(u32, int, int, int)':
../Source/UnitTests/Core/CoreTimingTest.cpp:52:6: error: no previous declaration for 'void AdvanceAndCheck(u32, int, int, int)' [-Werror=missing-declarations]
 void AdvanceAndCheck(u32 idx, int downcount, int expected_lateness = 0, int cpu_downcount = 0)
      ^
```
2017-03-24 21:37:34 -07:00
Anthony b099a1c02a Merge pull request #5135 from lioncash/ini
IniFile: Minor changes
2017-03-24 19:33:09 -07:00
Anthony e2a7e8a40d Merge pull request #5143 from JosJuice/wii-menu-region-log
Clarify the log message for unknown Wii Menu regions
2017-03-24 19:31:52 -07:00
Matthew Parlane 15d0e91bf6 Merge pull request #5150 from JosJuice/di-buffer-speed-comment
DVDInterface: Update comment about buffer speed
2017-03-25 14:52:23 +13:00
Sepalani 6eca605284 Fix wrong address in zz_ symbol name 2017-03-25 01:21:13 +00:00
Michael Maltese 04db3d5a50 UnitTests: use EXPECT_TRUE/EXPECT_FALSE (fixes warnings)
Using `EXPECT_EQ` with boolean literals can cause a warning in certain
versions of GCC. See https://github.com/google/googletest/issues/322

Fixes warnings:

```
../Source/UnitTests/Common/BitSetTest.cpp: In member function 'virtual void BitSet_Basics_Test::TestBody()':
../Source/UnitTests/Common/BitSetTest.cpp:15:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/BitSetTest.cpp: In member function 'virtual void BitSet_BitGetSet_Test::TestBody()':
../Source/UnitTests/Common/BitSetTest.cpp:27:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/StringUtilTest.cpp: In member function 'virtual void StringUtil_StringBeginsWith_Test::TestBody()':
../Source/UnitTests/Common/StringUtilTest.cpp:23:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/StringUtilTest.cpp:25:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/StringUtilTest.cpp:26:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/StringUtilTest.cpp:27:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/StringUtilTest.cpp: In member function 'virtual void StringUtil_StringEndsWith_Test::TestBody()':
../Source/UnitTests/Common/StringUtilTest.cpp:35:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/StringUtilTest.cpp:37:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/StringUtilTest.cpp:38:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
../Source/UnitTests/Common/StringUtilTest.cpp:39:165: error: converting 'false' to pointer type for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]
c
```
2017-03-24 17:26:27 -07:00
Michael Maltese 9234ed82da BitUtilsTest: compare ints of the same signedness (fixes warnings)
Fixes warnings like:

```
dolphin/Source/UnitTests/Common/BitUtilsTest.cpp:5:
../Externals/gtest/googletest/include/gtest/gtest.h:1392:11: warning: comparison of integers of different signs: 'const unsigned long' and 'const int' [-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
../Externals/gtest/googletest/include/gtest/gtest.h:1421:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned long, int>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
dolphin/Source/UnitTests/Common/BitUtilsTest.cpp:12:3: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<unsigned long, int>' requested here
  EXPECT_EQ(Common::BitSize<s8>(),  8);
  ^
../Externals/gtest/googletest/include/gtest/gtest.h:1924:63: note: expanded from macro 'EXPECT_EQ'
                      EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
```
2017-03-24 17:15:37 -07:00
Michael Maltese 5d69e99943 StubHost: remove unused Host_RequestFullscreen()
Fixes warning:

```
../Source/UnitTests/TestUtils/StubHost.cpp: In function 'void Host_RequestFullscreen(bool)':
../Source/UnitTests/TestUtils/StubHost.cpp:39:6: error: no previous declaration for 'void Host_RequestFullscreen(bool)' [-Werror=missing-declarations]
 void Host_RequestFullscreen(bool)
      ^
```
2017-03-24 16:41:12 -07:00
Mahdi Hijazi ba935d40ba [Android] Load the game banner from the iso and use if no screenshot is available
It doesn't look that good since the banners are 96x32 but it still better
than nothing.
2017-03-24 21:26:48 +01:00
JosJuice f5469878ba DVDInterface: Update comment about buffer speed
The actual code was changed based on mmastrac's hardware
tests, but it seems like we forgot to edit this comment.
2017-03-24 20:04:26 +01:00
Michael Maltese a098fe57c5 IP/Top: rename private methods à la HandleXRequest
Fixes this warning everytime Top.h is included:

```
../Source/Core/Core/IOS/Network/IP/Top.h:76:20: warning: 'IOS::HLE::Device::NetIPTop::Close' hides overloaded virtual function [-Woverloaded-virtual]
  IPCCommandResult Close(const IOCtlRequest& request);
                   ^
../Source/Core/Core/IOS/Device.h:158:16: note: hidden overloaded virtual function 'IOS::HLE::Device::Device::Close' declared here: different number of parameters (0 vs 1)
  virtual void Close();
               ^
```
2017-03-24 11:52:39 -07:00
Michael Maltese 8387b00f42 MMU: rewrite loop to avoid warning
Fixes warning:

```
dolphin/Source/Core/Core/PowerPC/MMU.cpp:278:43: warning: shift count >= width of type [-Wshift-count-overflow]
           addr++, addr_translated++, val >>= 8)
```
2017-03-24 11:45:21 -07:00
JosJuice a31bb7a27c Clarify the log message for unknown Wii Menu regions
Saying just "title" made it seem like we are showing the title
ID, but what we actually are showing is the title version.
2017-03-24 16:44:38 +01:00
MerryMage 61198199cd JitAsm: Use stored_stack_pointer instead of s_saved_rsp 2017-03-24 11:31:40 +00:00
MerryMage 918d7fa3d1 EmuCodeBlock: Place ConvertDoubleToSingle temporaries on the stack 2017-03-24 10:59:55 +00:00
Michael Maltese 0767c3d94d DiscIO: add empty UNKNOWN_REGION case (fixes warning)
Fixes warning:

```
dolphin/Source/Core/DiscIO/Enums.cpp:171:11: warning: enumeration value 'UNKNOWN_REGION' not handled in switch [-Wswitch]
  switch (GetSysMenuRegion(title_version))
          ^
```
2017-03-23 20:14:11 -07:00
Lioncash b711daee5f BitField: Get rid of a C-style cast
This can simply be the max value of the unsigned type.
2017-03-23 15:28:58 -04:00
Lioncash e43c495ce5 BitField: Convert typedefs to using aliases 2017-03-23 15:28:50 -04:00
Lioncash caef08988e BitField: Make mostly constexpr capable
Makes the constructor and retrieval functions constexpr.
2017-03-23 11:45:45 -04:00
Markus Wick 6e2e48e9ea Merge pull request #5137 from lioncash/arm
Arm64Emitter: Get rid of pointer casts in PoisonMemory
2017-03-23 15:52:58 +01:00
Markus Wick 4b5995a6e0 Merge pull request #5138 from lioncash/init
VertexLoaderBase: In-class initialize class members where applicable
2017-03-23 15:15:32 +01:00
Lioncash da2e34f69b VertexLoaderBase: In-class initialize class members where applicable
Same thing, less code.
2017-03-23 08:37:18 -04:00
Lioncash a7ec2d3831 Arm64Emitter: Get rid of pointer casts in PoisonMemory
The previous code invokes undefined behavior.
2017-03-23 07:10:21 -04:00
Markus Wick 6d065a02b5 Merge pull request #5134 from degasus/texture_cache
TextureCache: Don't lock freed rendertargets for one frame.
2017-03-23 09:48:32 +01:00
Lioncash 1d6d85963f ARDecrypt: const correctness 2017-03-22 20:35:00 -04:00
Lioncash 29ca22905b IniFile: Replace a character erase with pop_back()
Same thing, more straightforward.
2017-03-22 19:32:10 -04:00
Lioncash 35959bdaf9 IniFile: Replace string joining code with JoinString 2017-03-22 19:30:15 -04:00
Lioncash b92871111a IniFile: std::move a std::string in GetLines
Also gets rid of an unnecessary string copy.
2017-03-22 19:09:25 -04:00
Lioncash dbdf693c81 IniFile: Use character literals instead of string literals where applicable
Character overloads are generally better overall (range checks aren't
necessary, etc).
2017-03-22 19:03:17 -04:00
Lioncash d8998b6392 IniFile: Provide an rvalue reference overload for SetLines
Allows moving in vectors instead of performing an unnecessary copy.
2017-03-22 18:49:13 -04:00
Lioncash 46d74a7760 IniFile: Make Section's string constructor instances take strings by value
As the name is immediately stored into a class member, a move here is a
better choice.

This also moves the constructor implementations into the cpp file to
avoid an otherwise unnecessary inclusion in the header. This is also
likely a better choice as Section contains several non-trivial members,
so this would avoid potentially inlining a bunch of setup and teardown
code related to them as a side-benefit.
2017-03-22 18:47:19 -04:00
degasus ca8d9e2215 TextureCache: Don't lock freed rendertargets for one frame.
New Super Mario Bros on PAL still renders at 60 fps, but skips every 5th XFB copy.
So our detection of "per frame" fails, and we require twice the amound of texture objects.
But our pool frees unused textures after 3 frames, so half of them needs to be reallocated
every few frames.

This commit removes the lock for render targets. It was introduced to not update a texture
while it is still in use. But render targets aren't updated while rendering, so this
lock isn't needed. Non-rendertarget textures however aren't as dynamic, so the lock should
have no performance update.
2017-03-22 23:28:42 +01:00
Lioncash 99adc73383 IniFile: Make Section constructor explicit 2017-03-22 18:07:23 -04:00
Markus Wick 9ea59133b3 Merge pull request #5121 from MerryMage/children-happen
Jit64: Merge memory allocations into a single allocation
2017-03-22 22:42:46 +01:00
Michael Maltese c4bb452f2b InputConfigDiagBitmaps: add switch empty cases (fixes warning)
Fixes warning:

```
dolphin/Source/Core/DolphinWX/Input/InputConfigDiagBitmaps.cpp:170:13: warning: 7 enumeration values not handled in switch: 'Other', 'MixedTriggers', 'Buttons'... [-Wswitch]
    switch (g->control_group->type)
            ^
```
2017-03-22 13:00:54 -07:00
Matthew Parlane 8804f759b9 Merge pull request #5127 from lioncash/gcode
GeckoCodeConfig: Minor changes
2017-03-23 07:13:45 +13:00
Markus Wick 09f4d494ef Merge pull request #5132 from ligfx/commentoutpagetagshift
MMU: comment-out unused var HW_PAGE_TAG_SHIFT
2017-03-22 09:43:45 +01:00
Michael Maltese da6a1daef6 MMU: remove unused var HW_PAGE_TAG_SHIFT
It's not used, so produces a warning during compilation.
2017-03-21 23:47:10 -07:00
Michael Maltese 9e430cbdd6 Breakpoints.cpp: fix format string warnings
Fixes warnings:

```
dolphin/Source/Core/Core/PowerPC/BreakPoints.cpp:246:89: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
                 debug_interface->GetDescription(pc).c_str(), write ? "Write" : "Read", size * 8,
                                                                                        ^~~~~~~~
dolphin/Source/Core/Core/PowerPC/BreakPoints.cpp:245:50: warning: field width should have type 'int', but argument has type 'unsigned long' [-Wformat]
      NOTICE_LOG(MEMMAP, "MBP %08x (%s) %s%zu %0*x at %08x (%s)", pc,
                                              ~~~^
```
2017-03-21 23:25:17 -07:00
Lioncash 2f52d04e30 GeckoCodeConfig: Use compare instead of substr for comparing substrings
Gets rid of an unnecessary string construction.
2017-03-21 18:12:40 -04:00
Matthew Parlane a32a2d1a02 Merge pull request #5126 from leoetlino/version
UICommon: Don't print --version option twice
2017-03-22 11:10:36 +13:00
Lioncash 0d0e9f626d GeckoCodeConfig: Amend unnecessary string literals to char literals
Also gets rid of an unnecessary std::string construction in a loop.
std::string already has an operator+ overload to prepend characters.
2017-03-21 18:03:06 -04:00
Lioncash 28235b5cb6 GeckoCodeConfig: Remove unused commented out code 2017-03-21 18:03:06 -04:00
Lioncash f0fa692457 GeckoCodeConfig: Move gecko code title building to its own function
Keeps it separate from the rest of the saving code and also allows for
easy rvalue-reference moving into the lines vector as a side-benefit.
2017-03-21 18:03:02 -04:00
Léo Lam 3028158873 UICommon: Don't print --version option twice
cpp-optparse already has the --version option built-in, so having our
own version option results in --version being shown twice.
2017-03-21 22:29:01 +01:00
Lioncash f91292eff2 GeckoCodeConfig: Return vector by value for LoadCodes()
Using an out-param is a leftover from C++03. Action Replay codes already
return the vector of codes by value as well.
2017-03-21 16:58:13 -04:00
Michael Maltese 7c52b8f838 WiimoteEmu: refer to settings by name, not index
Fixes https://bugs.dolphin-emu.org/issues/10159 "Emulated Wii remote
options not working correctly," which was introduced by PR #4856: "Move
'Background Input' out of individual controller configurations."
2017-03-21 13:31:42 -07:00
MerryMage cb7d9556bf Jit64: Merge memory allocations into a single allocation
Instead of each component allocating their own memory, we instead allocate
the memory once and divvy that up among the components as required. This
ensures that relative memory offsets remain within architecture limits.
2017-03-21 20:16:12 +00:00
MerryMage da434e1a1c ConstantPool: Externalize memory allocation 2017-03-21 20:16:12 +00:00
MerryMage 615fcc621d CodeBlock: Add support for multiple children 2017-03-21 20:16:12 +00:00
Lioncash 780dffcb13 FifoDataFile: In-class initialize member variables where applicable 2017-03-21 15:41:05 -04:00
Lioncash 4e5e7cff0a FifoRecorder: In-class initialize member variables where applicable 2017-03-21 15:41:05 -04:00
Lioncash eda27ee397 FifoPlayer: In-class initialize member variables where applicable 2017-03-21 15:40:56 -04:00
Lioncash 0d1bc53e55 JitBase: Rename MergeAllowedNextInstructions to CanMergeNextInstructions
This is more indicative that it's checking for something
2017-03-21 13:50:03 -04:00
Lioncash f98211bfcf JitBase: Make MergeAllowedNextInstructions a const member function 2017-03-21 13:45:18 -04:00