Commit Graph

20906 Commits

Author SHA1 Message Date
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