Commit Graph

33309 Commits

Author SHA1 Message Date
Admiral H. Curtiss e9caa09f7b
NetPlay: Split SyncSaveData() into two parts.
This allows the 'save collection' part to run even if no clients are connected. Fixes issue 13095.
2022-11-06 01:51:01 +01:00
Admiral H. Curtiss cf533df814
MemoryWidget: Split Actions into Import and Export. 2022-11-05 23:05:15 +01:00
Admiral H. Curtiss 89bc1649e3
Merge pull request #11111 from TryTwo/PR_MemoryView_TableUpdates
MemoryViewWidget refactor memory table
2022-11-05 22:59:44 +01:00
JosJuice fb916a4c33 Boot: Load DOL/ELF after memory setup
I recently talked to a homebrew developer who was trying to add exception
handlers at link time but found out that Dolphin was overwriting their
exception handlers. I figure that's not the usual way to do exception
handlers, but... making us load the executable after setting up memory
rather than before is easy, and matches what we do when booting discs,
so I suppose there's no reason not to do it. It also matches the intent
of why Dolphin is writing default exception handlers – we're writing
them because some homebrew relies on exception handlers being left
around from whatever program was running before it (see 3dd777be70).
2022-11-05 13:55:17 +01:00
TellowKrinkle d9ed9ae331 VideoCommon: Zero PortableVertexDeclarations on initialization
Fixes an issue where the default initializer wouldn't initialize padding, making for fun non-determinism
2022-11-05 02:02:53 -05:00
Admiral H. Curtiss 431301add3
Merge pull request #10771 from TryTwo/PR_AutoStep
Debugger: Implement base code tracing logic. and feature to auto-step through code.
2022-11-04 23:32:54 +01:00
Admiral H. Curtiss 26b68f1f84
Merge pull request #11228 from Pokechu22/statistics-macros
VideoCommon/Statistics: Require semicolons after statistics macros
2022-11-04 23:15:52 +01:00
Admiral H. Curtiss 8b4e315fb7
Merge pull request #11242 from Sintendo/arm64cmp
JitArm64: Optimize cmp
2022-11-04 23:13:09 +01:00
Charles Lombardo 6eb5013359 Android: Offload cover path unmangling to another thread 2022-11-04 14:28:21 -04:00
Robin Kertels 0e02ddcf52
VideoCommon:FramebufferManager: Cleanup 2022-11-04 01:18:23 +01:00
Robin Kertels 371935d61e
VideoCommon:FramebufferManager: Mark cache as valid after refresh
Otherwise we might never hit the early return
if either depth or color doesnt have any active
tiles.
2022-11-04 01:18:23 +01:00
TellowKrinkle 83ca1ad8a6 VideoBackends:Metal: Headless render support 2022-11-03 02:35:24 -05:00
Admiral H. Curtiss 1d07332657
Merge pull request #11193 from jordan-woyak/ciface-input-backend-interface
ControllerInterface: Add InputBackend interface.
2022-11-03 04:42:05 +01:00
Bram Speeckaert 274e34ddf1 JitArm64: MultiplyImmediate - Handle -(2^n) + 1
Let's take advantage of ARM64's input register shifting one last time,
shall we?

Before:
0x1280005b   mov    w27, #-0x3
0x1b1b7f18   mul    w24, w24, w27

After:
0x4b180b18   sub    w24, w24, w24, lsl #2
2022-11-02 21:53:19 +01:00
Bram Speeckaert 7073a135c6 JitArm64: MultiplyImmediate - Handle -(2^n)
ARM64's flexible shifting of input registers also allows us to calculate
a negative power of two in one instruction; shift the input of a NEG
instruction.

Before:
0x128001f7   mov    w23, #-0x10
0x1b1a7efa   mul    w26, w23, w26
0x93407f58   sxtw   x24, w26

After:
0x4b1a13fa   neg    w26, w26, lsl #4
0x93407f58   sxtw   x24, w26
2022-11-02 21:53:19 +01:00
Bram Speeckaert 1c87f040a3 JitArm64: mulli - Only allocate reg when necessary
If the destination register doesn't equal the input register, using it
to temporarily hold the immediate value is fair game as it'll be
overwritten with the result of the multiplication anyway. This can
slightly reduce register pressure.

Before:

0x52800659   mov    w25, #0x32
0x1b197f5b   mul    w27, w26, w25

After:
0x5280065b   mov    w27, #0x32
0x1b1b7f5b   mul    w27, w26, w27
2022-11-02 21:53:19 +01:00
Bram Speeckaert 20dd5cadab JitArm64: MultiplyImmediate - Add comments 2022-11-02 21:53:17 +01:00
Bram Speeckaert c349875cdc JitArm64: MultiplyImmediate - Handle 2^n + 1
By taking advantage of ARM64's ability to shift an input register by any
amount, we can calculate multiplication by a number that is one more
than a power of two with a single instruction.

Before:
0x52800838   mov    w24, #0x41
0x1b187f7b   mul    w27, w27, w24

After:
0x0b1b1b7b   add    w27, w27, w27, lsl #6
2022-11-02 21:52:44 +01:00
Bram Speeckaert 3aaf1a2b8b JitArm64: MultiplyImmediate - Handle 2^n
Turn multiplications by a power of two into bitshifts.

Before:
0x52800817   mov    w23, #0x40
0x1b167ef6   mul    w22, w23, w22

After:
0x531a66d6   lsl    w22, w22, #6
2022-11-02 21:52:37 +01:00
Markus Wick 0210d115c2
Merge pull request #11227 from JosJuice/jitarm64-mmio-clobber
JitArm64: Move MMIO handler result before popping stack
2022-11-02 10:19:22 +01:00
Jordan Woyak 168a49c87f ControllerInterface: DSU InputBackend implementation. 2022-11-01 21:59:09 -05:00
Jordan Woyak 2e5cd5d519 ControllerInterface: evdev InputBackend implementation. 2022-11-01 21:59:08 -05:00
Jordan Woyak 44a4573303 ControllerInterface: Add InputBackend interface and SDL implementation. 2022-11-01 21:59:08 -05:00
Bram Speeckaert f25611f388 JitArm64: MultiplyImmediate - Handle 1
Multiplication by one is also trivial. Depending on the registers
involved, either a single MOV or no instructions will be generated.

Before:
0x52800038   mov    w24, #0x1
0x1b1a7f1b   mul    w27, w24, w26

After:
0x2a1a03fb   mov    w27, w26

Before:
0x52800039   mov    w25, #0x1
0x1b1a7f3a   mul    w26, w25, w26

After:
Nothing!
2022-11-01 21:13:45 +01:00
Bram Speeckaert 51cb918aa5 JitArm64: MultiplyImmediate - Handle 0
Multiplication by zero always gives zero.

Before:
0x52800019   mov    w25, #0x0
0x1b197f5b   mul    w27, w26, w25

After:
Nothing!
2022-11-01 21:13:38 +01:00
Bram Speeckaert 080513284c JitArm64: mullwx - Use MultiplyImmediate 2022-11-01 19:05:33 +01:00
Bram Speeckaert 53a8cd1563 JitArm64: mulli - Use MultiplyImmediate 2022-11-01 19:04:50 +01:00
Bram Speeckaert 4aa0c0133a JitArm64: Introduce MultiplyImmediate
Add a new function that will handle all the special cases regarding
multiplication. It does nothing for now, but will be expanded in
follow-up commits.
2022-11-01 19:01:38 +01:00
JosJuice dc046a2470
Merge pull request #11237 from t895/grid-fix
Android: Add more game grid sizes for long displays
2022-11-01 19:00:53 +01:00
Bram Speeckaert d0de68c41b JitArm64: cmp - Optimize general case
We can merge an SXTW with the SUB, eliminating one instruction. In
addition, it is no longer necessary to allocate a temporary register,
reducing register pressure.

Before:
0x93407f59   sxtw   x25, w26
0x93407ebb   sxtw   x27, w21
0xcb1b033b   sub    x27, x25, x27

After:
0x93407f5b   sxtw   x27, w26
0xcb35c37b   sub    x27, x27, w21, sxtw
2022-11-01 12:21:24 +01:00
Bram Speeckaert ae6ce1df48 Arm64Emitter: Add ArithOption with ExtendSpecifier
ARM64 can do perform various types of sign and zero extension on a
register value before using it. The Arm64Emitter already had support for
this, but it was kinda hidden away.

This commit exposes the functionality by making the ExtendSpecifier enum
available everywhere and adding a new ArithOption constructor.
2022-11-01 12:15:56 +01:00
Bram Speeckaert 82f22cdfa1 JitArm64: cmp - Optimize a == -1 case
By explicitly handling this, we can avoid materializing -1 in a
register and generate more efficient code by taking advantage of -x ==
~x + 1.

Before:
0x12800015   mov    w21, #-0x1
0x93407eb9   sxtw   x25, w21
0x93407ef8   sxtw   x24, w23
0xcb180338   sub    x24, x25, x24

After:
0x2a3703f8   mvn    w24, w23
0x93407f18   sxtw   x24, w24
2022-11-01 12:00:32 +01:00
Bram Speeckaert 592ba31e22 JitArm64: cmp - Optimize a == 0 case
By explicitly handling this, we can avoid materializing zero in a
register and generate more efficient code altogether.

Before:
0x52800016   mov    w22, #0x0
0xb94093b5   ldr    w21, [x29, #0x90]
0x93407ed7   sxtw   x23, w22
0x93407eb9   sxtw   x25, w21
0xcb1902f9   sub    x25, x23, x25

After:
0xb94093b7   ldr    w23, [x29, #0x90]
0x4b1703f9   neg    w25, w23
0x93407f39   sxtw   x25, w25
2022-11-01 11:52:00 +01:00
Bram Speeckaert f5e7e70cc5 JitArm64: cmp - Refactor 2022-11-01 11:47:17 +01:00
Bram Speeckaert dbb8f588c7 JitArm64: cmpl - Optimize a == 0 case
By explicitly handling this, we can avoid materializing zero in a
register.

Before:
0x52800019   mov    w25, #0x0
0xb94087b6   ldr    w22, [x29, #0x84]
0xcb16033b   sub    x27, x25, x22

After:
0xb94087b9   ldr    w25, [x29, #0x84]
0xcb1903fb   neg    x27, x25
2022-11-01 11:27:45 +01:00
Dentomologist 7cd08fde75 Updater: Add/clarify error messages 2022-10-31 23:36:07 -07:00
Dentomologist 2808db7f2f FileUtil: Return success bool from CopyDir 2022-10-31 23:33:02 -07:00
shuffle2 111e965c7e
Revert "MacUpdater: test that os version check is working" 2022-10-31 18:53:22 -07:00
Tilka b182abe0ae
Merge pull request #11234 from shuffle2/updater
MacUpdater: test that os version check is working
2022-11-01 01:28:20 +00:00
Tillmann Karras 22eb7e6645 OGL: use already known object label lengths
Passing -1 means the driver has to call strlen().
2022-11-01 01:10:03 +00:00
Tillmann Karras 4b8fe959d4 OGL: fix compute shader labels
This fixes GL_INVALID_VALUE errors when using GPU texture decoding.
2022-11-01 01:04:46 +00:00
Robin Kertels f5fecaf964
VideoBackends:Vulkan: Fix 0 size descriptor pools
[ VUID-VkDescriptorPoolCreateInfo-maxSets-00301 ] Object 0:
handle = 0x7f1,b8d,3cd,e70, type = VK_OBJECT_TYPE_DEVICE; |
MessageID = 0xa1,70e,236 | vkCreateDescriptorPool():
pCreateInfo->maxSets is not greater than 0.
The Vulkan spec states: maxSets must be greater than 0
2022-10-31 22:41:16 +01:00
Charles Lombardo 349b16aa55 Android: Add more game grid sizes for long displays 2022-10-31 13:11:17 -04:00
Shawn Hoffman 7cc8e37aee MacUpdater: test that os version check is working
Adds a key to Info.plist with default value to test
Updater - this commit is intended to be reverted
2022-10-30 13:19:43 -07:00
JMC47 969309c457
Merge pull request #11220 from shuffle2/macversion
MacUpdater: check os version
2022-10-30 15:19:55 -04:00
Shawn Hoffman 089886a6f8 MacUpdater: check os version 2022-10-30 12:04:57 -07:00
JMC47 f277a921a9
Merge pull request #11231 from shuffle2/updater
windows: Rename: use std::filesystem::rename for posix behavior
2022-10-30 13:32:10 -04:00
JMC47 950e1f94dc
Merge pull request #11185 from TryTwo/PR_MemoryWidget_Address_Input_History
MemoryWidget: Make search address a combobox that holds address history.
2022-10-30 04:21:14 -04:00
TryTwo 053320b7cf MemoryWidget: Make search address a combobox that holds address history.
Always update the combobox when a new target address is sent.
2022-10-29 22:41:30 -07:00
Shawn Hoffman 68875dc06b MacUpdater: add version info to Updater.app too 2022-10-29 20:32:59 -07:00
Shawn Hoffman 836bc74b2d windows: Rename: use std::filesystem::rename for posix behavior 2022-10-29 19:57:26 -07:00
Pokechu22 fe559f3ed3 VideoCommon/Statistics: Require semicolons after statistics macros
This is clearer and reduces IntelliSense problems.
2022-10-29 15:39:41 -07:00
Admiral H. Curtiss 0628794cb6
Merge pull request #11226 from K0bin/d3d12-fix
VideoBackends:D3D12: Fix hang in Twilight Princess
2022-10-30 00:24:16 +02:00
Robin Kertels a07ee729e5
VideoBackends:D3D12: Defer binding framebuffer in SetAndDiscardFramebuffer
BindFramebuffer depends on the pipeline which might not be set yet.
That's why the framebuffer dirty flag exists in the first place.
I assume BindFramebuffer was called directly here, in order to handle
the texture state transitions necessary for DiscardResource.
The state is tracked anyway, so we can just issue those transitions there
too and defer binding the actual framebuffer.

Fixes an issue in Zelda Twilight Princess with EFB depth peeks.
Dolphin would bind a frame buffer which doesn't have an integer format
descriptor for the color target before binding the new pipeline.
So it would accidentally use the 0 descriptor.

Debug layer error:
D3D12 ERROR: ID3D12CommandList::OMSetRenderTargets:
Specified CPU descriptor handle ptr=0x0000000000000000 does not refer to
a location in a descriptor heap. pRenderTargetDescriptors[0] is the issue.
[ EXECUTION ERROR #646: INVALID_DESCRIPTOR_HANDLE]
2022-10-29 23:41:32 +02:00
Robin Kertels a6aa651291
VideoBackends:D3D12: Use COMMON as initial state for default heap buffer
Fixes the following error in the D3D12 debug layer:

D3D12 WARNING: ID3D12Device::CreateCommittedResource:
Ignoring InitialState D3D12_RESOURCE_STATE_UNORDERED_ACCESS.
Buffers are effectively created in state D3D12_RESOURCE_STATE_COMMON.
[ STATE_CREATION WARNING #1328: CREATERESOURCE_STATE_IGNORED]
2022-10-29 23:39:32 +02:00
Robin Kertels 22fecb41fc
VideoBackends:D3D12: Don't query GPU descriptor handle for non-shader visible heap
Fixes the following error in the D3D12 debug layer:

D3D12 ERROR: ID3D12DescriptorHeap::GetGPUDescriptorHandleForHeapStart:
GetGPUDescriptorHandleForHeapStart is invalid to call on a descriptor
heap that does not have DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE set.
If the heap is not supposed to be shader visible, then
GetCPUDescriptorHandleForHeapStart would be the appropriate method
to call. That call is valid both for shader visible and non shader
visible descriptor heaps.
[ STATE_GETTING ERROR #1315: DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE]
2022-10-29 23:39:27 +02:00
Tillmann Karras cacdd18ca0 VolumeVerifier: fix bogus "serial/version missing" error
When searching for a disc where the revision doesn't match any disc in
the datfile, the loop would never get to the part where serials_exist is
set to true, leading to a bogus error message.
2022-10-29 21:32:57 +01:00
Pokechu22 6dcf8a6fc9
Merge pull request #11201 from JoshuaMKW/fix-instruction-patches
MemoryPatches: Fix instruction patches
2022-10-29 12:34:00 -07:00
JosJuice aeb0fcb8ab
Merge pull request #11092 from t895/view-binding
Android: Use view binding
2022-10-29 17:20:08 +02:00
Charles Lombardo 5c30f65bbb Android: Use view binding 2022-10-29 11:05:09 -04:00
JosJuice 7d55e9f9c7
Merge pull request #11202 from t895/androidx-prefs
Android: Use androidx preference manager
2022-10-29 16:08:48 +02:00
JosJuice 431ee1c48a JitArm64: Improve register handling for MMIO loadstores
Because of the previous commit, `regs_in_use` must not include `dest_reg`
when calling MMIOLoadToReg. There are also some other registers we can
skip including in regs_in_use just for efficiency's sake.

The `addr_reg_set = false` statements that I've added in this commit are
technically redundant – if `mmio_address` is non-zero then `addr_reg_set`
is already false – but it's just a coincidence that that's the case.
2022-10-29 14:16:53 +02:00
JosJuice 0660f12da4 JitArm64: Move MMIO handler result before popping stack
Otherwise we might throw the result away.
Fixes https://bugs.dolphin-emu.org/issues/13083.
2022-10-29 14:16:43 +02:00
iwubcode ea3e133200 VideoCommon: call texture load graphics mod hook when Dolphin loads a texture 2022-10-28 19:24:43 -05:00
iwubcode 0e1ffe009a VideoBackends: fix d3d12 subresource calculation 2022-10-28 19:07:08 -05:00
Admiral H. Curtiss 8efd7833e5
Merge pull request #11150 from jordan-woyak/all-devices-less-confusing
DolphinQt: Make "All Devices" mapping hopefully less confusing.
2022-10-29 00:53:19 +02:00
Admiral H. Curtiss 8001535d12
Merge pull request #11211 from jordan-woyak/fix-focus-resume-after-manual-pause
DolphinQt: Fix window focus from unpausing after a manual pause.
2022-10-29 00:35:50 +02:00
JoshuaMK e2f4400f49 Make SetPatch responsible for overwriting old patches 2022-10-26 22:46:49 -05:00
Pokechu22 2f3805e1b4 GraphicsSettings: Remove unused FreelookControlType enum forward declaration 2022-10-26 16:23:13 -07:00
Jordan Woyak 4fc05dd025 DolphinQt: Fix window focus from unpausing after a manual pause. 2022-10-25 19:39:41 -05:00
Pokechu22 581a575042 VertexLoader: Remove "too many initializer values" workaround functions
I originally added these in 2b1d1038a6, for both the TPipelineFunction and the size. The size was moved into the header in fdcd2b7d00 (making the size functions obsolete), but it seems that the functions themselves are no longer needed now.

I think I didn't use this approach before because it would have required ComponentFormatTable and ComponentCountRow to be templated, which would end up resulting in lines that were too long and thus wrapped in awkward places. (I *think* they didn't get inferred properly.) Now that we only need TPipelineFunction, the templating is not needed, and this ends up being a more readable version of the version with the wrapper functions.
2022-10-25 15:29:09 -07:00
JMC47 027e10460a
Merge pull request #10977 from tellowkrinkle/FixBackendMultithreading
VideoBackends:Vulkan: Improve backend multithreading
2022-10-25 04:14:01 -04:00
JMC47 9ef7a3b44c
Merge pull request #11207 from Pokechu22/invalid-normal-count
VideoCommon: Treat invalid normal count as NormalTangentBinormal
2022-10-25 03:17:19 -04:00
Pokechu22 574939b683 VideoCommon: Treat invalid normal count as NormalTangentBinormal
See https://bugs.dolphin-emu.org/issues/13070.
2022-10-24 22:36:43 -07:00
TellowKrinkle fa8134deda VideoBackends:Metal: Default to presentDrawable when vsync is on 2022-10-24 17:55:30 -05:00
JMC47 b66793194e
Merge pull request #11028 from tellowkrinkle/MetalFixes
Various Metal renderer improvements
2022-10-24 15:22:37 -04:00
JMC47 4787b25a7f
Merge pull request #10741 from Pokechu22/audio-dma-one-block-at-a-time
DSP: Copy audio dma samples one block at a time
2022-10-24 01:43:22 -04:00
Charles Lombardo a78e266a26 Android: Use androidx preference manager 2022-10-23 22:34:23 -04:00
JoshuaMK 2594447c25 Have UnsetPatch only unset the argument address 2022-10-23 18:42:34 -05:00
JoshuaMK e10b3308c2 Fix patch corruption using find_if instead of remove_if 2022-10-23 18:41:15 -05:00
JMC47 33733ff81c
Merge pull request #11199 from JosJuice/translation-fixes
WiimoteEmu: Change Shinkansen Start/Select to START/SELECT
2022-10-23 16:07:11 -04:00
JosJuice 7437d2d9ad WiimoteEmu: Change Shinkansen Start/Select to START/SELECT
For consistency with GameCube controllers and GBAs. I missed this
when reviewing the PR.

Also adding some i18n comments while I'm at it.
2022-10-23 21:50:54 +02:00
JosJuice 063c2739b3
Merge pull request #11135 from AdmiralCurtiss/ppcanalyst-unused-stats
PPCAnalyst: Remove unused variables and methods in BlockStats and BlockRegStats.
2022-10-23 21:22:54 +02:00
JosJuice d442f3f2e0
Merge pull request #11079 from t895/system-windows
Android: Do not fit system windows
2022-10-23 21:20:06 +02:00
Charles Lombardo 90d27be1d6 Android: Do not fit system windows 2022-10-23 15:09:01 -04:00
JMC47 9654d9a72b
Merge pull request #11196 from JosJuice/android-vs-lines-points-setting
Android: Add "Prefer VS for Point/Line Expansion" to GUI
2022-10-23 14:22:25 -04:00
JosJuice 7743afddac
Merge pull request #11163 from t895/convert-layout
Android: Replace spinners with dropdown menus
2022-10-23 20:00:18 +02:00
Charles Lombardo 0fdae88fab Android: Replace spinners with dropdown menus 2022-10-23 13:25:12 -04:00
TryTwo e2df81b0c1 Add logging and error reporting to Breakpoint Conditionals. 2022-10-23 08:22:35 -07:00
Shawn Hoffman 4705fb7588 Updater: clarify a string 2022-10-23 01:47:02 -07:00
Shawn Hoffman 08c019608d WinUpdater: fix renaming of Updater 2022-10-23 01:34:04 -07:00
JosJuice c1c3ecacac Android: Add "Prefer VS for Point/Line Expansion" to GUI
This adds PR 10890's new setting to the Android GUI. I'm curious to see
if any Android users might get a performance improvement from it.

Due to how our settings work on Android, I haven't implemented disabling
the checkbox when the graphics backend doesn't support both GS and VS
for point/line expansion, but I don't think that's critical to have.
2022-10-23 10:14:23 +02:00
Shawn Hoffman f952c3dbbe this is a test commit for WinUpdater 2022-10-23 00:19:46 -07:00
JMC47 34de2b85f3
Merge pull request #11189 from shuffle2/updater-elevation
WinUpdater: Defer modifying any files until Updater.exe
2022-10-23 02:20:56 -04:00
JMC47 cdcbe51b2a
Merge pull request #10890 from tellowkrinkle/VertexLineExpand
VideoCommon: Add vertex shader point/line expansion
2022-10-23 01:49:26 -04:00
JMC47 06bd0a9086
Merge pull request #11132 from K0bin/vma
Vulkan: Use VMA for memory allocations
2022-10-23 01:18:47 -04:00
Robin Kertels aa1679f2c7
VideoBackends:Vulkan: Clean up unused memory allocation code 2022-10-23 03:21:29 +02:00
Robin Kertels 1ba58e83ca
VideoBackends:Vulkan: Use VMA for stream buffer 2022-10-23 03:21:29 +02:00
Robin Kertels 0e1b7a7b35
VideoBackends:Vulkan: Use VMA for bounding box 2022-10-23 03:21:29 +02:00
Robin Kertels 0532f4a05a
VideoBackends:Vulkan: Use VMA for staging buffers 2022-10-23 03:21:14 +02:00
TellowKrinkle 1e9b6f88e4 VideoCommon: Support hot reloading of VS expand 2022-10-22 20:18:02 -05:00
TellowKrinkle 3912fa7a2e VideoCommon: Add reasons for disabled VS expand 2022-10-22 20:18:02 -05:00
TellowKrinkle b567f3afcf VideoCommon: Move repeated point/line expansion code to ShaderGenCommon 2022-10-22 20:13:24 -05:00
TellowKrinkle 0a42c534c3 VideoCommon: Add configuration to prefer VS for line/point expansion 2022-10-22 20:13:24 -05:00
TellowKrinkle 1eeba6dcca VideoBackends:D3D12: Add support for vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
TellowKrinkle 9624479933 VideoBackends:OGL: Add support for vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
TellowKrinkle 3a5901d12e VideoBackends:Vulkan: Add support for vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
TellowKrinkle 678ee48bfc VideoBackends:Metal: Add support for vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
TellowKrinkle 68f49df0f8 VideoCommon: Add vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
Robin Kertels 3ffbf94b2a
VideoBackends:Vulkan: Set up VMA
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
2022-10-23 02:54:35 +02:00
TryTwo 6f4f4e057e MemoryViewWidget refactor memory table.
Don't re-create the table on every update.
2022-10-22 17:52:39 -07:00
Robin Kertels 5e96733e35
Externals: Add VMA 2022-10-23 02:33:03 +02:00
Pokechu22 bac75de79c Fifo recorder: Fix incorrect calculation of the size of an array
The old calculation was stride * (max_index + 1), which fails if stride is less than the size of a component (for instance, if float XYZ positions are used, and the stride was set to 4 (i.e. sizeof(float)) instead of 12 (i.e. 3 * sizeof(float)), it would be missing the last 8 bytes of the final element in the array.  Or, if stride was set to 0, then no bytes would be recorded at all (though that's not a useful configuration so it's unlikely to actually exist).

I'm not aware of any games affected by this issue.
2022-10-22 13:36:16 -07:00
Pokechu22 c9ff2a9b3d Fifo recorder: Fix NormalIndex3
This should fix recording the wall in the staircase leading to the basement in Luigi's Mansion (though I haven't tested it, as I don't own a copy of Luigi's Mansion).  This uses NormalIndex3, and the index for the normal vector (generally 0x02XX or 0x01XX) there is always lower than the tangent or binormal (generally 0x07XX).  Other games seem to usually have a similar range of indices for the normal, tangent, and binormal, so this issue wouldn't affect them.
2022-10-22 13:36:16 -07:00
Pokechu22 24b761acda Fifo recorder: Fix position's type being used for normals/colors/texture coords
In most cases, games will use the same type for all vertex components (either Index8 or Index16 or Direct).  However, RS2's deflection towers use Index16 for the texture coordinate and Index8 for everything else, meaning the texture coordinates were recorded incorrectly (the first byte was used, so only indices 0 and 1 were recorded instead of 0 through 0x0192).  Worse still, some background elements in RS2 use direct positions but indexed normals or texture coordinates, and those would not be recorded at all.

This is a regression from b5fd35f951.
2022-10-22 13:36:16 -07:00
JMC47 804e42150e
Merge pull request #11188 from GaryOderNichts/feature/vwii_ancast
Support for loading vWii System Menu
2022-10-22 15:57:55 -04:00
Pokechu22 6de55e416b WaveFile: Fix size check
`count` is the number of stereo samples to write (where each stereo sample is two shorts), while `BUFFER_SIZE` is the size of the buffer in shorts.  So `count` needs to be multiplied by `2`, not `BUFFER_SIZE`.  Also, when this check was failed, the previous code just clobbered whatever was past the end of the buffer after logging the warning, which corrupted `basename`, eventually resulting in Dolphin crashing.

This affected Datel's Wii-compatible Action Replay, which uses a block size of 2298, or 18384 stereo samples, which is 36768 shorts, which is bigger than the buffer size of 32768. (However, the previous commit means that only one block is transfered at a time, eliminating this issue; fixing the bounds check is just a general safety thing instead of an actual bugfix now.)
2022-10-22 11:44:38 -07:00
Pokechu22 2a83b17ffb DSP: Copy audio dma samples one block at a time
Reverts 9f8e1e2a0d, but keeps the changes from e4e44909d5.

This fixes missing audio in Datel titles; see https://bugs.dolphin-emu.org/issues/12281.
2022-10-22 11:44:38 -07:00
GaryOderNichts 88c57a00a3 Show vWii System Menu version in Menu Bar 2022-10-22 13:36:55 +02:00
GaryOderNichts 82d20ce352 Support for loading Ancast images 2022-10-22 13:35:49 +02:00
JMC47 5b69c67b3a
Merge pull request #11147 from JosJuice/jitarm64-arith-org
JitArm64: Merge ps_mulsX, ps_maddXX, and parts of fp_arith
2022-10-22 06:37:27 -04:00
JMC47 b7310a180f
Merge pull request #11170 from JosJuice/jit64-dispatcher-no-check
Jit64: Add dispatcher_no_timing_check jump target
2022-10-22 06:19:00 -04:00
JMC47 55d269c9e0
Merge pull request #11190 from jordan-woyak/shinkansen-ui-button-order
WiimoteEmu: Shinkansen Tweaks
2022-10-22 05:21:00 -04:00
JosJuice 812067ab7c JitArm64: Move ps instructions from fp_arith to ps_arith
This lets us simplify fp_arith without making ps_arith much more
complicated.

No behavior change.
2022-10-22 11:15:41 +02:00
JosJuice 554a2fd332 JitArm64: Merge ps_mulsX and ps_maddXX
They have a lot of shared code, most notably the code for rounding c.

No behavior change.
2022-10-22 11:12:19 +02:00
JMC47 2153276ab9
Merge pull request #10046 from JosJuice/jitarm64-improve-const-stores
JitArm64: FIFO optimization improvements
2022-10-22 05:03:43 -04:00
JMC47 bc4d08047d
Merge pull request #10979 from tellowkrinkle/QuartzWindowSpeed
InputCommon:QuartzKB&M: Use KVO to watch window position
2022-10-22 04:55:12 -04:00
Markus Wick 7a2256469e
Merge pull request #11127 from JosJuice/aarch64-jitasm-macro-op
JitAsm64: Reorder instructions in routines to allow macro-op fusion
2022-10-22 10:31:54 +02:00
Markus Wick 583c2b8a0c
Merge pull request #11181 from JosJuice/jitarm64-25-bit-urshr
JitArm64: Reimplement Force25BitPrecision
2022-10-22 10:26:07 +02:00
Markus Wick 5c7b5514ed
Merge pull request #11148 from JosJuice/jitarm64-remove-cdts-inst
JitArm64: Remove unnecessary instruction from ConvertDoubleToSingle
2022-10-22 10:10:23 +02:00
JosJuice 4dbf0b8e90 JitArm64: Reimplement Force25BitPrecision
The previous implementation of Force25BitPrecision was essentially a
translation of the x86-64 implementation. It worked, but we can make a
more efficient implementation by using an AArch64 instruction I don't
believe x86-64 has an equivalent of: URSHR. The latency is the same as
before, but the instruction count and register count are both reduced.
2022-10-22 10:03:52 +02:00
Jordan Woyak d9d6428189 WiimoteEmu: Replace shinkansen MixedTriggers with Triggers. 2022-10-22 02:42:40 -05:00
Jordan Woyak d705b8d4b8 WiimoteEmu: Reorder shinkansen buttons in UI. 2022-10-22 02:37:28 -05:00
Markus Wick bba38a3642
Merge pull request #11182 from JosJuice/aarch64-emit-shift-imm
Arm64Emitter: Combine immh and immb for Emit(Scalar)ShiftImm
2022-10-22 09:23:06 +02:00
Jordan Woyak 5ed0543430 GCAdapter: Process pad state in read thread and other general cleanups. 2022-10-22 00:38:59 -05:00
Shawn Hoffman 2b43f96899 WinUpdater: Defer modifying any files until Updater.exe
Fixes https://bugs.dolphin-emu.org/issues/12151
2022-10-21 19:14:00 -07:00
Léo Lam 79e09c3731
Merge pull request #11186 from GaryOderNichts/ios/device_creation
IOS::HLE::Kernel::InitIPC: Replace s_ios check with Core::IsRunning
2022-10-21 21:17:58 +02:00
GaryOderNichts 2fb45660b3 IOS::HLE::Kernel::InitIPC: Replace s_ios check with Core::IsRunning 2022-10-21 20:38:02 +02:00
JMC47 00e23da607
Merge pull request #11051 from shuffle2/update-vcredist
WinUpdater: Check OS and VC++ Redist versions
2022-10-21 13:55:51 -04:00
JMC47 9222956acd
Merge pull request #10859 from tellowkrinkle/UniformBufferSize
VideoCommon: Increase uniform stream buffer size to 64mb
2022-10-20 17:13:31 -04:00
JosJuice 84375a91d9 Arm64Emitter: Combine immh and immb for Emit(Scalar)ShiftImm
This simplifies the callers of EmitShiftImm and EmitScalarShiftImm.
2022-10-19 20:20:39 +02:00
JMC47 9aece1810c
Merge pull request #10836 from iwubcode/d3d_uint_fix
VideoCommon: fix uint shader compiler error when using d3d
2022-10-18 12:12:08 -04:00
Lobsterzelda 486a523e0d IOS: Simplify IOS::HLE::Device savestate method 2022-10-17 23:11:04 -04:00
TellowKrinkle 6fd933915b VideoBackends:Vulkan: Improve backend multithreading
Makes the multiple threads actually able to run at the same time
2022-10-17 00:05:35 -05:00
Admiral H. Curtiss 10f973a87f
Merge pull request #11122 from K0bin/descriptor-overhaul
VideoBackends:Vulkan: Allocate descriptor pools as needed
2022-10-17 04:25:35 +02:00
Admiral H. Curtiss 9992a198f1
IOS/NetKDRequest: Don't abort on first unset bit in subtask mask. 2022-10-16 20:43:59 +02:00
Admiral H. Curtiss cbc96adfd2
VFFUtil: Invalidate window on mount. 2022-10-16 18:06:51 +02:00
Admiral H. Curtiss b1725dfb33
Zero-initialize structures passed to FatFs functions. 2022-10-16 17:12:04 +02:00
Robin Kertels 6992b0d8e1
VideoBackends:Vulkan: Allocate descriptor pools as needed 2022-10-16 17:04:35 +02:00
JosJuice 09f9a58859 Jit64: Add dispatcher_no_timing_check jump target
The new `dispatcher_no_timing_check` is the same as `dispatcher_no_check`
except it includes the "stepping check" in debug mode. This lets us avoid
the `m_enable_debugging ? dispatcher : dispatcher_no_check` dance.
2022-10-16 11:22:34 +02:00
Admiral H. Curtiss c0476fdac3
Merge pull request #11072 from SketchMaster2001/wiiconnect24
Add initial WiiConnect24 support
2022-10-16 04:31:28 +02:00
SketchMaster2001 e413d7f5ec
Add initial WiiConnect24 support 2022-10-16 04:19:36 +02:00
Admiral H. Curtiss fbe782f1a9
Merge pull request #11077 from JosJuice/jitasm-no-breakpoint
Jit64: Remove breakpoint check from JitAsm.cpp
2022-10-16 04:02:12 +02:00
JosJuice 351d095fff JitArm64: Optimize a few tail calls
Maybe "tail call" isn't quite the right term for what this code
is doing, since it's jumping to the dispatcher rather than
returning, but it's the same optimization as for a tail call.
2022-10-15 21:45:44 +02:00
JosJuice 2a5f4a2390 Jit64: Don't use fregsIn in HandleNaNs
fregsIn will include FD for double-precision instructions, since for
dependency tracking purposes the instruction does read the upper
half of FD. This is not what we want in HandleNaNs.

The consequence of this bug is that if an instruction was supposed to
output a NaN and FD happens to contain a NaN and FD happens to be the
same register as an unused register in the instruction encoding, the
NaN in FD could get used as the output instead of the correct NaN.
This isn't known to affect any games, which isn't especially surprising
considering that there's only one game that needs AccurateNaNs anyway.
2022-10-15 18:11:40 +02:00
Admiral H. Curtiss cd1f89a02b
Merge pull request #11138 from JosJuice/jit64-quiet-nans
Jit64: Turn SNaN into QNaN in HandleNaNs
2022-10-15 18:06:40 +02:00
Admiral H. Curtiss 85f7cf7c1e
Merge pull request #11169 from JosJuice/jit64-speculative-constants-dispatcher
Jit64: Jump to dispatcher_no_check from InitializeSpeculativeConstants
2022-10-15 17:46:22 +02:00
JosJuice ec6a4115eb Jit64: Jump to dispatcher_no_check from InitializeSpeculativeConstants
Jumping to `dispatcher` requires first subtracting the downcount,
otherwise `dispatcher` may unpredictably jump to CoreTiming::Advance,
which could break determinism compatibility with JitArm64. We should
jump to `dispatcher_no_check` instead.
2022-10-15 17:21:38 +02:00
JosJuice b9aed428e8 Jit64: Remove breakpoint check from JitAsm.cpp
The breakpoint check in Jit.cpp makes it redundant.

Normally this redundant check doesn't cause any issues, but if you
create a breakpoint and enable logging without breaking, you get two
log messages if the breakpoint is at the beginning of a block. See
https://bugs.dolphin-emu.org/issues/13044.

This is also a tiny performance improvement for when debugging is
active, since we no longer check for breakpoints for blocks that never
had any breakpoints to begin with.
2022-10-15 17:06:32 +02:00
JosJuice dbf5dca11c JitArm64: FIFO optimization improvements
JitArm64 port of 789975e.
2022-10-15 12:57:18 +02:00
Jordan Woyak 9c1a936ca6 WiimoteEmu: Do send a status report on connection when an extension is already attached. 2022-10-15 03:35:01 -05:00
Lobsterzelda 65c7304bd4 VideoInterface: Simplify VideoInterface savestate code
VideoInterface: Simplify savestate code in VideoInterface
2022-10-13 15:21:22 -04:00
Admiral H. Curtiss e47af664cc
HW: Move MemoryInterface variables to Core::System. 2022-10-13 04:28:17 +02:00
Admiral H. Curtiss 06f74bd7d1
Merge pull request #11152 from jordan-woyak/wm-emu-ir-point-size
WiimoteEmu: Improve simulated IR point size accuracy.
2022-10-13 02:18:58 +02:00
Pokechu22 ae7b14887b Remove varargs support from LOG_VULKAN_ERROR
Nothing currently uses it. It could theoretically be replaced with fmt support, but I don't think the LOG_VULKAN_ERROR macro is that useful and it'd be better to replace it with regular logging instead.
2022-10-12 16:50:51 -07:00
Pokechu22 f9fe25291d Remove most uses of StringFromFormat in favor of fmt 2022-10-12 16:50:47 -07:00
Mai a5fa95adfd
Merge pull request #11151 from jordan-woyak/quat-fix
Fix some bad quaternion math.
2022-10-12 17:35:50 +00:00
Mai 1f8b196d6d
Merge pull request #11158 from jordan-woyak/abs-function
Input: Add "abs" input expression function.
2022-10-12 17:35:12 +00:00
Jordan Woyak f5b9049421 Input: Add "abs" input expression function. 2022-10-11 19:28:21 -05:00
Jordan Woyak bf53e14abe WiimoteEmu: Fix gyroscope/quaternion conversion math. 2022-10-11 15:01:33 -05:00
Jordan Woyak 3939b32ed6 WiimoteEmu: Improve simulated IR point size accuracy. 2022-10-11 14:57:04 -05:00
Lioncash dbfb8408d9 HW: Use unsigned indices in RegisterMMIO where applicable
base is an unsigned variable, so we can make things little more
consistent by making the loop index unsigned so we aren't doing bit
arithmetic with signed types.

MemoryInterface already does this, so we can leave it alone.

No behavioral changes, just a consistency thing.
2022-10-11 09:27:34 -04:00
Minty-Meeo a84633f748 Remove #pragma once in DesiredWiimoteState.cpp
That shouldn't be there...
2022-10-11 01:16:56 -05:00
Jordan Woyak 6eb1f8beba Common/Matrix: Fix Quaternion Norm function. 2022-10-10 21:16:35 -05:00
Admiral H. Curtiss a056a1366f
Merge pull request #11131 from Pokechu22/cp-state-savestate-mistakes
Include tangent/binormal cache in savestates and simplify saving CP state
2022-10-11 03:42:17 +02:00
Pokechu22 ffed23c059 Simplify saving CP state
Rather than makring some parts of VertexLoaderManager dirty in some places and some in others, do it all in VideoState. Also, since CPState no longer contains pointers/non-CP data after d039b1bc0d, we can just use p.Do on it instead of manually saving each field.
2022-10-09 19:32:59 -07:00
Admiral H. Curtiss 333ede5416
Merge pull request #11136 from AdmiralCurtiss/gqr-array
Jit64: Convert constantGqr to std::array.
2022-10-10 02:13:30 +02:00
Pokechu22 05f3bbfa4d Include tangent/binormal cache in savestates
This theoretically matters for RS2/RS3, although in practice these games reconfigure it each frame so it shouldn't matter for savestates.
2022-10-09 16:21:49 -07:00
Jordan Woyak c3ceee8967 DolphinQt: Make "All Devices" mapping hopefully less confusing. 2022-10-09 17:27:25 -05:00
JosJuice bf492c1ff3 JitArm64: Fix register number typo
I think this typo was actually ignored by the code, but nevertheless,
it should be fixed.
2022-10-09 16:46:09 +02:00
JosJuice 04628034bc JitAsm64: Reorder instructions in routines to allow macro-op fusion
Micro-optimization. Some CPUs can fuse CMP+B, TST+B, arith+CBZ, etc.

I also moved things around for CMP+CSET and TST+CSET - which I'm not sure
if any CPUs support - but it doesn't hurt anything, so I might as well.
2022-10-09 16:46:09 +02:00
JosJuice 6e01ab56fa JitArm64: Remove unnecessary instruction from ConvertDoubleToSingle
The upper bits are masked away by the preceding LSR, and the lower bits
are masked away by the following BFXIL.
2022-10-09 14:17:18 +02:00
Admiral H. Curtiss 1647fa350b
Merge pull request #10804 from iwubcode/graphics-mod-input-output-structs
VideoCommon: add structures to graphics mods internal API
2022-10-09 13:17:11 +02:00
Admiral H. Curtiss 4c7fcf58b0
Merge pull request #11140 from JosJuice/jit64-inaccurate-single-fprf
Jit64: Fix single FPRF when !jo.accurateSinglePrecision
2022-10-09 13:08:53 +02:00
JosJuice c361f9155b Jit64: Turn SNaN into QNaN in HandleNaNs
Improves accuracy but isn't known to affect any games.

This turned out to be fairly convenient to implement; ORing with the
PPC default NaN will quieten SNaNs and do nothing to QNaNs.
2022-10-09 09:49:52 +02:00
iwubcode bc360584a3 VideoCommon: add structures to graphics mods to allow for future adding or removing parameters with less code overhead 2022-10-09 00:00:01 -05:00
Admiral H. Curtiss 6cf99195c6
Merge pull request #11142 from JosJuice/jit64-handle-nans-no-output
Jit64: Remove HandleNaNs's xmm_out parameter
2022-10-09 04:16:57 +02:00
Admiral H. Curtiss bfbc04ef5e
ENetUtil: Check return values of ENet functions in SendPacket(). 2022-10-09 02:39:38 +02:00
Admiral H. Curtiss 66684a392f
Deduplicate NetPlayServer::Send() and NetPlayClient::Send() into ENetUtil::SendPacket(). 2022-10-09 02:25:28 +02:00
Admiral H. Curtiss da27a3e6bc
Merge pull request #11095 from K0bin/misc-vulkan
Remove special treatment for Android in video settings
2022-10-08 22:24:30 +02:00
TryTwo 1ed6028af4 NewBreakpointDialog: Add a help message for conditionals. 2022-10-08 13:23:24 -07:00
Admiral H. Curtiss 1dd30b58f3
Merge pull request #11143 from K0bin/cmd_buffer_cleanup-fix
VideoBackends:Vulkan: Fix command buffer cleanup
2022-10-08 22:07:58 +02:00
Robin Kertels 332824f7d5
VideoBackends:Vulkan: Fix command buffer cleanup 2022-10-08 21:40:33 +02:00
JosJuice 4b8a720c9b Jit64: Remove HandleNaNs's xmm_out parameter
All HandleNaNs does with the xmm_out parameter is emit MOVAPD at the end
if xmm_out != xmm. The caller might as well do that themselves.
2022-10-08 19:49:30 +02:00
JosJuice 0b1fdee289 Jit64: Fix single FPRF when !jo.accurateSinglePrecision
jo.accurateSinglePrecision is always true, so it's not like this
matters much...
2022-10-08 18:35:46 +02:00
Admiral H. Curtiss 1c2182d069
Merge pull request #11134 from Pokechu22/memmap-remove-io-size
Memmap: Remove unused IO size field
2022-10-08 13:59:44 +02:00
Admiral H. Curtiss e7219f7389
Jit64: Convert constantGqr to std::array. 2022-10-08 13:54:50 +02:00
TellowKrinkle fd2680d8b4 VideoBackends:Metal: Use a temporary buffer for large texture uploads 2022-10-08 04:46:07 -05:00
TellowKrinkle a13f09433c VideoBackends:Metal: Add config option to use presentDrawable 2022-10-08 04:46:07 -05:00
TellowKrinkle 5a1b90c7f3 VideoBackends:Metal: Explicitly disable arc
Makes it easier to enable arc elsewhere without breaking the Metal backend
2022-10-08 04:46:07 -05:00
TellowKrinkle c08de82e90 VideoBackends:Metal: Bring back unified memory config
Turns out it was helpful.  (Most improvement in ubershaders.)  This time with much better auto mode.
2022-10-08 04:46:05 -05:00
TellowKrinkle 93ce7bf344 VideoBackends:Metal: Unroll lighting loop 2022-10-08 04:44:48 -05:00
TellowKrinkle 45ee1be6da VideoBackends:Metal: Properly set vsync on creation 2022-10-08 04:44:48 -05:00
TellowKrinkle 274d4679ca VideoBackends:Multiple: More GPUs with broken subgroup ops 2022-10-08 04:44:48 -05:00
Admiral H. Curtiss 1abffc0b05
PPCAnalyst: Remove unused variables in BlockStats. 2022-10-08 03:30:56 +02:00
Admiral H. Curtiss a5217c07b8
PPCAnalyst: Remove unused variables and methods in BlockRegStats. 2022-10-08 03:26:42 +02:00
Admiral H. Curtiss 6a2ed5758e
JitCache: Erase address from noSpeculativeConstantsAddresses when block is invalidated. 2022-10-08 02:44:36 +02:00
Pokechu22 be65e96991 Memmap: Remove unused IO size field
This existed in the initial megacommit (though I don't know why) as IO_SIZE. It was used in Memmap's Init() to compute totalMemSize, but I don't know if it actually did anything then. That use was removed in 2d0f714546, but the constant persisted until cc858c63b8, when it became a static variable.
2022-10-07 17:24:51 -07:00
TryTwo fb79c04cf1 MemoryView auto updateDebugger. Implement base codetrace logic. Add register breakpoints. Add CodeViewWidget autostepping to track a value.Debugger 2022-10-06 22:17:22 -07:00
smurf3tte 85cb4d1bc5 Support memory reads/writes from breakpoint expressions
Co-authored-by:  TryTwo <taolas@gmail.com>
2022-10-06 21:34:44 -07:00
smurf3tte 1224575b0b Add cast expression functions u8(), s8(), u16(), etc.
This allows for easy reinterpretation of GPRs in an expression.

Co-authored-by:  TryTwo <taolas@gmail.com>
2022-10-06 21:34:44 -07:00
smurf3tte 7842f9a715 Debugger: Initial implementation of conditional breakpoints
Expression class to store compiled expressions and associated variable list.

Co-authored-by:  TryTwo <taolas@gmail.com>
2022-10-06 21:34:44 -07:00
Lobsterzelda d2db451eba
HW/MemoryInterface: Add data to savestates and initialize on boot. 2022-10-07 01:31:56 +02:00
Admiral H. Curtiss 691135dbc3
HW: Move SerialInterface variables to Core::System. 2022-10-06 22:08:20 +02:00
Pokechu22 4d33f6af7c GCMemcard: Remove manual std::vector handling in DoState 2022-10-06 11:25:36 -07:00
Pokechu22 e8221d7948 Common/PointerWrap: Remove DoPOD
This was added in 385d8e2b15, but became somewhat redundant with Do in 4c7bbd96e4, and completely redundant now that std::is_trivially_copyable_v is well-supported.
2022-10-06 11:25:36 -07:00
Mai 7498eb1e6c
Merge pull request #11121 from AdmiralCurtiss/globals-exi
HW: Move ExpansionInterface variables to Core::System.
2022-10-06 10:33:22 -04:00
Admiral H. Curtiss 26318e2c51
HW: Move ExpansionInterface variables to Core::System. 2022-10-06 01:19:29 +02:00
Admiral H. Curtiss de5a98a3fa
Merge pull request #11120 from AdmiralCurtiss/gci-open-fail
HW/GCMemcardDirectory: Add error message if opening GCI fails.
2022-10-06 01:09:47 +02:00
Admiral H. Curtiss 662caf91ac
HW/GCMemcardDirectory: Add error message if opening GCI fails. 2022-10-05 19:56:05 +02:00
Admiral H. Curtiss cf094eb415
Merge pull request #11117 from JosJuice/jitarm64-imm-not-dirty
JitArm64: Fix BindToRegister in case Immediate && !set_dirty
2022-10-05 19:31:44 +02:00
JMC47 4b6086b20a
Merge pull request #11098 from K0bin/refresh-efb-cache
VideoCommon: Update EFB peek cache on draw done and tokens
2022-10-04 22:40:58 -04:00
Admiral H. Curtiss eea31db781
Vulkan/CommandBufferManager: Show error code in PanicAlerts. 2022-10-04 19:50:23 +02:00
Admiral H. Curtiss 9c944d5734
HW: Move VideoInterface variables to Core::System. 2022-10-04 02:25:12 +02:00
JosJuice 51ee05cb35 Android: Use input override system for touch controls
This is the first step of getting rid of the controller indirection
on Android. (Needing a way for touch controls to provide input
to the emulator core is the reason why the controller indirection
exists to begin with as far as I understand it.)
2022-10-03 22:04:09 +02:00
JosJuice b296248b49 DolphinQt: Use input override system for TAS input windows
This lets the TAS input code use a higher-level interface for
overriding inputs instead of having to fiddle with raw bits.
WiiTASInputWindow in particular was messy with how much
controller code it had to re-implement.
2022-10-03 22:04:09 +02:00
JosJuice 8fd25259ee ControllerEmu: Round input floats instead of casting, part 2
Like 3bc4968 but for Wii Remote extensions. I'm doing this to ensure
that TAS input values will still roundtrip after the next commit.
2022-10-03 22:04:08 +02:00
JosJuice cb16d20f2d ControllerEmu: Add new "input override" system 2022-10-03 22:00:21 +02:00
JosJuice f4f189c51f JitArm64: Rename BindToRegister parameters for clarity 2022-10-03 21:41:34 +02:00
Pokechu22 cb6d476538
Merge pull request #11106 from vpelletier/dsp_doc_bloop
docs/DSP: Trivial adjustment to BLOOP{,I} sub-operation order
2022-10-03 11:29:03 -07:00
Admiral H. Curtiss e137f7f878
WiimoteEmu: Rewrite serialization of DesiredWiimoteState to optimize for network bandwidth. 2022-10-02 23:25:15 +02:00
Admiral H. Curtiss ae4b89441c
Qt/WiimoteControllersWidget: Disable remote Wiimote configuration during netplay. 2022-10-02 23:25:15 +02:00
Admiral H. Curtiss a1563f2def
Netplay: Implement batching for Wiimotes. 2022-10-02 23:25:10 +02:00
Admiral H. Curtiss aade584180
Netplay: Completely rewrite Wiimote syncing logic to be similar to the GameCube controller one. 2022-10-02 23:22:02 +02:00
Admiral H. Curtiss f8518b2ff6
WiimoteEmu: Add serialization for DesiredWiimoteState. 2022-10-02 23:14:36 +02:00
Admiral H. Curtiss a2dadbb2f0
Wiimote: Separate the Input system state update from the emulated state update. 2022-10-02 23:14:36 +02:00
Admiral H. Curtiss bb5943ae77
Wiimote: Separate the Wiimote index in the Input system from the index of the Wiimote in the emulated system. 2022-10-02 23:14:36 +02:00
Admiral H. Curtiss b67ffb9ab5
WiimoteEmu: Make Reset() deterministic under WantsDeterminism(). 2022-10-02 23:14:36 +02:00
Admiral H. Curtiss 466f0b377b
WiimoteEmu: Update extensions from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
Admiral H. Curtiss e7543a9e05
WiimoteEmu: Update MotionPlus status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
Admiral H. Curtiss 26fd4ea361
WiimoteEmu: Update IR camera status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
Admiral H. Curtiss 9669722dfc
WiimoteEmu: Update accelerometer status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
Admiral H. Curtiss a39f82cb1f
WiimoteEmu: Update button status from DesiredWiimoteState. 2022-10-02 23:14:34 +02:00
Admiral H. Curtiss 52424fe327
Qt: Allow opening controller settings during netplay. 2022-10-02 23:14:34 +02:00
Admiral H. Curtiss bc47a9a31a
Qt/WiimoteControllersWidget: Disable potentially breaking stuff during netplay. 2022-10-02 23:13:26 +02:00
Admiral H. Curtiss 37ae9ab524
Qt/GamecubeControllersWidget: Disable dropdowns during netplay. 2022-10-02 23:10:43 +02:00
JosJuice 42775eed36 JitArm64: Fix BindToRegister in case Immediate && !set_dirty
Fixes a Rogue Squadron II regression from 9d73583.

This set_dirty stuff is pretty tricky to reason about. I thought I
was clever when coming up with set_dirty, but maybe I was too clever
for my own good...
2022-10-02 22:38:00 +02:00
Admiral H. Curtiss 95cace837a
HW: Move DSP variables to Core::System. 2022-10-02 05:13:55 +02:00
Admiral H. Curtiss c84835c53c
Merge pull request #11114 from JosJuice/jitarm64-divwx-imm
JitArm64: Fix divwx BindToRegister condition
2022-10-02 01:10:48 +02:00
Admiral H. Curtiss 6911e1b730
Merge pull request #11113 from DivineWinds/translate_tooltip
DolphinQt/HacksWidget: Make backend name in GPU Texture Decoding/Bounding Box tooltip translatable
2022-10-02 00:16:25 +02:00
Admiral H. Curtiss f3a23db0e0
Core/State: Minor cleanup around the undo load state buffer. 2022-10-02 00:01:01 +02:00
Admiral H. Curtiss e0d30e371c
Core/State: Rewrite threading behavior when multiple Save requests are happening. Should improve responsiveness when eg. mashing a save state button. 2022-10-02 00:00:29 +02:00
Admiral H. Curtiss 79efd5df1e
Common/WorkQueueThread: Make Shutdown() public, so users can wait for all currently queued tasks to finish when shutting down the thread. 2022-10-01 23:58:52 +02:00
Robin Kertels 4e204a9a1a
VideoCommon: Remove special treatment for Android in video settings 2022-10-01 20:53:02 +02:00
JosJuice 8984777749 JitArm64: Call GetImm before BindToRegister
In case the register we're binding is the same as the immediate register,
we should fetch the immediate before calling BindToRegister. The way
the register cache currently works, calling GetImm after BindToRegister
actually does work, but it's better to not rely on it.
2022-10-01 20:44:51 +02:00
JosJuice 8902d2fe3a JitArm64: Fix divwx BindToRegister condition
a is being used both as an immediate and as a register here.
Since it's being used as a register, it must be loaded.
2022-10-01 19:29:41 +02:00
Robin Kertels 779fe13e62
VideoCommon: Update EFB peek cache on draw done and tokens
Massively improves performance in Mario Galaxy on Android.
2022-10-01 18:08:38 +02:00
DivineWinds 37892a8611 DolphinQt/HacksWidget: Make backend name in GPU Texture Decoding/Bounding Box tooltip translatable 2022-10-01 12:32:49 +03:00
JMC47 c196c47e81
Merge pull request #11090 from K0bin/submit-rework
Vulkan: Raise number of command buffers
2022-09-30 20:15:25 -04:00
Robin Kertels e5fb9c9adf
VideoBackends:Vulkan: Raise number of command buffers
Avoid waiting for earlier submissions when we flush more often.
The vertex manager will flush more often if the game accesses the EFB
on the CPU, to give the GPU a head start.
2022-10-01 01:26:04 +02:00
Robin Kertels fba7d35f94
VideoBackends:Vulkan: Associate descriptor pool with frame rather than command buffer 2022-10-01 01:26:04 +02:00
Robin Kertels ed75a58061
VideoBackends:Vulkan: Decouple available command buffers from frames in flight 2022-10-01 01:26:04 +02:00
Robin Kertels e8fa867f14
VideoBackends:Vulkan: Only synchronize with submission thread when necessary
We only need to synchronize with the submission thread
when submitting on the GPU thread or when waiting for a command buffer.
2022-10-01 01:26:04 +02:00
Robin Kertels 2e6d8d6575
VideoBackends:Vulkan: Fix validation error around surface_capabilities2 2022-10-01 01:26:03 +02:00
JMC47 68eda7f887
Merge pull request #11084 from K0bin/qcom-workaround
Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom
2022-09-30 15:33:00 -04:00
Robin Kertels 81c817c54d
VideoBackends:Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom driver 2022-09-30 21:13:42 +02:00
Vincent Pelletier 12142c4fa8 DSPSpy: Add st3 BLOOP{,I} tests. 2022-09-30 11:07:41 +00:00
Vincent Pelletier 556d18f865 DSPSpy: Unhide stack registers
The screen real-estate is already reserved, the values are dumped and
restored by the on-DSP code, why not make something out of these values ?
Allows following:
- where exactly send_back was called from ($st1)
- the boundaries and progress of the innermost BLOOP{,I} ($st0, 2 and 3)
  up to send_back's call
2022-09-30 11:07:41 +00:00
Sepalani 481ddd1308 NetworkCaptureLogger: Allow PCAP shared read access on Windows 2022-09-29 23:08:25 +04:00
JosJuice 2e8d775df1 Jit64: boolX formatting fixes 2022-09-29 20:27:15 +02:00
Mai 1f2ec9afd6
Merge pull request #11052 from Tilka/shinkansen
Add emulated Shinkansen controller
2022-09-29 09:21:27 -04:00
Mai e3e6c3dfa4
Merge pull request #11088 from JosJuice/uicommon-set-enable-alert
Move a SetEnableAlert call to UICommon
2022-09-29 09:09:29 -04:00
Mai 6805c9dd0d
Merge pull request #11108 from AdmiralCurtiss/fat-fs-callbacks
FatFsUtil: Add ability to provide callbacks for the FatFs code.
2022-09-29 09:08:12 -04:00
Mai 0c19a1d87c
Merge pull request #11100 from Pokechu22/software-settings-merge
Use the same settings for the software renderer as other backends
2022-09-29 09:05:51 -04:00
Mai 3fab5b2338
Merge pull request #11097 from JosJuice/android-launch-wii-menu-check
Android: Improve checking in MainPresenter.launchWiiSystemMenu
2022-09-29 09:03:46 -04:00
Mai 865348cfb1
Merge pull request #11103 from JosJuice/android-gamefilecache-not-null
Android: Allocate GameFileCache on GUI thread
2022-09-29 09:02:47 -04:00
Pokechu22 87f84d4f54 Debugger/CodeWidget: Update callstack/callers/calls on symbol changes
Before, only the symbols box would update. However, if you edit the symbol of a function in the call stack (which seems like something that would happen reasonably often while debugging), the call stack would be out of date until it was updated by clicking on it. Callers and calls were more of an edge case; for them to be out of date, you would need to right-click on an instruction in a function other than the one containing the currently-selected instruction (though it would also affect recursive functions).
2022-09-28 21:01:37 -07:00
Admiral H. Curtiss 3182d9178c
FatFsUtil: Add ability to provide callbacks for the FatFs code. 2022-09-29 05:16:21 +02:00
Vincent Pelletier fbf9d6ea17 SI: Ignore non-standard setGameID command
Avoids a panic when loading recent swiss. Not enough to have it run,
unfortunately.
2022-09-28 22:29:50 +00:00
Admiral H. Curtiss dafe2c785a
Merge pull request #9481 from Sintendo/jit64boolx
Jit64: boolX constant optimizations
2022-09-28 23:40:26 +02:00
Admiral H. Curtiss 95615ab91b
Merge pull request #11096 from Sintendo/arm64boolx
JitArm64: boolX constant optimizations
2022-09-28 21:58:06 +02:00
Admiral H. Curtiss 32bdc54869
Merge pull request #11101 from Pokechu22/backend-multithreading-enabled
DolphinQt: Only enable the backend multithreading checkbox if the backend supports it
2022-09-28 21:57:37 +02:00
Admiral H. Curtiss 4de70f1e99
Merge pull request #11099 from Pokechu22/draw_done_and_token_stats
VideoCommon: Add statistics for draw done and token commands
2022-09-28 21:56:54 +02:00
Vincent Pelletier 85d2358157 EXI_DeviceMemoryCard: Drop comment about ChipErase behaviour
Tested on an official DOL-014 (251 blocks) memory card by executing the
0xf4 command on a card with content along its entire length and then
dumping the whole card: it reads as 0xff all the way through.
Therefor, the current implementation is already consistent with hardware.
2022-09-28 11:55:46 +00:00
JosJuice d4709ce0ba Android: Remove unnecessary Context parameters 2022-09-27 19:09:47 +02:00
JosJuice 45901f64b5 Android: Use synchronized methods for GameFileCache
Compared to the previous solution of using big `synchronized` blocks,
this makes GameFileCacheManager's executor thread release and re-lock
the lock when possible, giving the GUI thread a chance to do a
(comparatively) quick getOrAdd call if it needs to.
2022-09-27 19:06:10 +02:00
JosJuice 51debaeb47 Revert "Android: Don't hold gameFileCache lock during updateAdditionalMetadata"
This reverts commit fb265b610d.

The optimization in that commit is safe when the executor thread is
writing and the GUI thread is reading, but I had failed to take into
account that it's unsafe when the GUI thread is writing and the executor
thread is reading. (The native UpdateAdditionalMetadata function loops
through m_cached_files, which is unsafe if another thread is adding
elements to m_cached_files simultaneously.)

Losing out on this optimization isn't too bad, because
719930bb39 makes it very unlikely that
both threads will want the lock at the same time.
2022-09-27 19:06:05 +02:00
JosJuice 481df6b660 Android: Allocate GameFileCache on GUI thread
This is intended to fix https://bugs.dolphin-emu.org/issues/13053,
which is a crash caused by sGameFileCache being null when addOrGet
is called.
2022-09-27 18:47:54 +02:00
JosJuice f857fa6529 Android: Add s prefix to static variables in GameFileCacheManager 2022-09-27 18:47:54 +02:00
Pokechu22 3d0cd8b076 DolphinQt: Remove software renderer settings widget
Thus, the software renderer uses the same settings as everything else, fixing https://bugs.dolphin-emu.org/issues/13051.
2022-09-26 19:43:57 -07:00
Pokechu22 b90d23158f Software: Fix mipmaps and uneven strides in SWTexture
I think this is only used for texture dumping, but this resolves some failed assertions and glitchy results.
2022-09-26 19:43:57 -07:00
Pokechu22 94a77bc573 DolphinQt: Only enable the backend multithreading checkbox if the backend supports it 2022-09-26 19:25:11 -07:00
Pokechu22 a6c00c7633 D3D12: Fix backend multithreading incorrectly being marked as supported 2022-09-26 19:24:52 -07:00
Pokechu22 56fce3ba8a Software: Remove dedicated texture/frame dumping infrastructure
Texture dumping can already be done using VideoCommon's system (and in fact the same setting already enabled *both* of these). Dumping objects/TEV stages/texture fetches doesn't currently have an equivalent, but could be added to the FIFO player instead.
2022-09-26 18:25:54 -07:00
Pokechu22 39569392bd VideoCommon: Add statistics for draw done and token commands 2022-09-26 16:19:54 -07:00
Pokechu22 67ed4fa92d Common/Image: Add unit to log message 2022-09-26 15:04:15 -07:00
JosJuice 2c216c9a2b Android: Improve checking in MainPresenter.launchWiiSystemMenu
Not only SystemMenuNotInstalledDialogFragment requires directory
initialization to have completed, but also isSystemMenuInstalled.
2022-09-25 22:15:15 +02:00
Bram Speeckaert 4914ff25d6 JitArm64: boolX constant optimizations
A (partial) port of #9481 to ARM64. This commit adds special cases for
immediate values equal to 0 or 0xFFFFFFFF, allowing for more efficient
or no code to be generated.
2022-09-25 14:58:26 +02:00
Bram Speeckaert 9d73583ea3 JitArm64: Skip redundant imm to register writes
When a guest register is an immediate, it may be necessary to move this
value into a register. This is handled by gpr.R(), which lacks context
on how the register will be used. This leads to cases where the
immediate is written to a register, only for it to be overwritten. Take
for example this code generated by srwx:

0x5280031b   mov    w27, #0x18
0x53187edb   lsr    w27, w22, #24

gpr.BindToRegister() does have this context through the do_load
parameter, but didn't handle immediates. By adding this logic, we can
intelligently skip the write when do_load is false.
2022-09-25 10:04:51 +02:00
Admiral H. Curtiss f106bc150a
Merge pull request #11083 from sepalani/bba-check
BBA/BuiltIn: Fix a crash during network stack exhaustion
2022-09-24 20:30:46 +02:00
Admiral H. Curtiss 63975556a4
Merge pull request #10175 from dreamsyntax/pause-on-panic
Core/DolphinQt: Add Pause on Panic Option for DSI Exceptions and Unknown Instruction
2022-09-24 20:28:09 +02:00
Admiral H. Curtiss 571e300e9e
Merge pull request #11047 from AdmiralCurtiss/netplay-save-options-rework
Netplay: Simplify save data options.
2022-09-24 20:26:05 +02:00
JosJuice 04072f0ce6 Integrate "Ignore for this session" better with config system
Because of the previous commit, this is needed to stop DolphinQt from
forgetting that the user pressed ignore whenever any part of the config
is changed.

This commit also changes the behavior a bit on DolphinQt: "Ignore for
this session" now applies to the current emulation session instead of
the current Dolphin launch. This matches how it already worked on
Android, and is in my opinion better because it means the user won't
lose out on important panic alerts in a game becase they played another
game first that had repeated panic alerts that they wanted to ignore.

For Android, this commit isn't necessary, but it makes the code cleaner.
2022-09-24 13:03:45 +02:00
JosJuice 16c71b9a35 Move a SetEnableAlert call to UICommon
This fixes a problem where changing the Use Panic Handlers setting on
Android wouldn't take effect until the app was restarted.
2022-09-24 12:35:10 +02:00
Admiral H. Curtiss 02a967f786
InputCommon: Add equality operators to RawValue. 2022-09-24 01:44:21 +02:00
Admiral H. Curtiss 24a1fe32f1
InputCommon: Make RawValue constructors constexpr. 2022-09-24 01:38:09 +02:00
Admiral H. Curtiss 70485472b1
Common/Matrix: Add equality operators to TVec2/3/4. 2022-09-24 01:38:01 +02:00
Admiral H. Curtiss 3fa9fdf57a
Merge pull request #11075 from AdmiralCurtiss/controller-gui-refresh
Qt/Controllers: Refresh GUI on settings change.
2022-09-24 00:14:54 +02:00
Sepalani 34858e934f BBA/BuiltIn: Ignore UPnP request to itself 2022-09-23 20:54:26 +04:00
Sepalani df53ebb59f BBA/BuiltIn: Fix a crash during network stack exhaustion 2022-09-23 18:59:27 +04:00
Admiral H. Curtiss 9860b68b9c
Common: Add [[nodiscard]] to GetStringT(). 2022-09-23 14:58:18 +02:00
Admiral H. Curtiss 4cb8914ad3
VolumeVerifier: Add missing assignment to summary_text. 2022-09-23 14:57:55 +02:00
Admiral H. Curtiss f426e3cd79
Merge pull request #11039 from TryTwo/PR_MemoryWidget_MiniMenu
Debugger MemoryWidget: Create mini-menu at top of sidebar.
2022-09-23 04:22:10 +02:00
Admiral H. Curtiss b7855a3a56
Merge pull request #11073 from Hibyehello/Fix-Metal-init
Add Metal as backend option with Vulkan Disabled
2022-09-23 04:21:23 +02:00
Admiral H. Curtiss 75c50223f2
Merge pull request #11078 from Minty-Meeo/mapfloat-tweak
Use std::llround in MapFloat
2022-09-23 04:18:03 +02:00
Admiral H. Curtiss 79c5d1b003
Merge pull request #10780 from OatmealDome/steam-windows
msbuild: Add property for creating Steam builds on Windows
2022-09-23 04:14:23 +02:00
JMC47 b0ac5ac6af
Merge pull request #10949 from Zopolis4/reprecated
Resolve C++20 deprecation warnings
2022-09-22 21:56:24 -04:00
Minty-Meeo 73dfcc15a5 Use std::llround in MapFloat
I don't see why not.
2022-09-22 11:30:32 -05:00
Shawn Hoffman 717c36bc43 WinUpdater: Check OS and VC++ Redist versions. 2022-09-20 15:57:50 -07:00
Admiral H. Curtiss 270ffa7351
Qt/WiimoteControllersWidget: Refresh GUI on settings change and refactor a bit. 2022-09-20 23:47:16 +02:00
Admiral H. Curtiss a5dbf6b60d
Qt/GamecubeControllersWidget: Refresh GUI on settings change and refactor a bit. 2022-09-20 23:46:45 +02:00
Admiral H. Curtiss 019dc86b6f
Qt/CommonControllersWidget: Refresh GUI on settings change. 2022-09-20 23:46:36 +02:00
JMC47 22197c09a3
Merge pull request #10781 from tellowkrinkle/UberVertexLoader
VideoCommon: Add dynamic vertex loader for ubershaders to reduce pipeline count
2022-09-20 17:14:07 -04:00
JosJuice 6203c101f8 JitArm64: Enforce correct alignment of SPR_TL 2022-09-20 18:55:28 +02:00
TellowKrinkle ee692abbe1 VideoBackends:Metal: Use BitField for stuffing bits in pipeline ids
Also removes cullmode all handling, it's handled in CPU and DX11 backend doesn't specially handle it either
2022-09-20 01:45:18 -05:00
Admiral H. Curtiss d04e1ca96a
Merge pull request #11058 from shuffle2/updater-inflate
Updater: Move inflate intermediate buffer to heap and enlarge
2022-09-20 02:45:50 +02:00
JMC47 3b10bf04ac
Merge pull request #10808 from Pokechu22/vertex-loader-direct-normals-with-index3
VideoCommon: Fix direct normal+tangent+binormal with index3 set
2022-09-19 19:47:37 -04:00
Admiral H. Curtiss 0d095b4d9b
Netplay: Simplify save data options. 2022-09-20 01:37:32 +02:00
Admiral H. Curtiss 39314ac162
Add more logging around Wii save copying for Netplay. 2022-09-20 01:37:31 +02:00
TellowKrinkle 1eb3aaa548 VideoCommon: Use std::array in PortableVertexDeclaration 2022-09-19 16:28:24 -05:00
TellowKrinkle 28b31b8327 VideoBackends:Vulkan: Make dynamic vertex loader optional
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
2022-09-19 16:28:24 -05:00
TellowKrinkle dae56a24b8 VideoBackends:D3D12: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
TellowKrinkle 936b4d5d0d VideoBackends:Vulkan: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
TellowKrinkle 7edc8b4e79 VideoBackends:Metal: Don't set primitive on ubershaders 2022-09-19 16:28:24 -05:00
TellowKrinkle 99533d2840 VideoCommon: Add separate pipeline usage for UberShaders 2022-09-19 16:28:24 -05:00
TellowKrinkle d289e9c51c VideoCommon: Compile a few extra pipelines 2022-09-19 16:28:24 -05:00
TellowKrinkle d3dae1cd7e VideoBackends:Metal: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
TellowKrinkle 4c629c2bee VideoCommon: Add dynamic vertex loader to ubershaders 2022-09-19 16:28:23 -05:00
Admiral H. Curtiss c21f2512c8
HW: Move g_SRAM to System. 2022-09-19 21:47:15 +02:00
Admiral H. Curtiss 0a517ebdbd
Core: Pass Netplay SRAM through boot process.
This removes the Netplay classes touching emulated hardware structures before emulation even starts.
2022-09-19 21:47:12 +02:00
Admiral H. Curtiss 9963637463
HW: Remove global state from functions in Sram.h. 2022-09-19 21:42:43 +02:00
Josh 1fd60aeb5d
Merge branch 'dolphin-emu:master' into Fix-Metal-init 2022-09-19 12:27:37 -05:00
Josh ef13a54b0a
VideoBackends - Enable Metal without Vulkan 2022-09-19 11:28:34 -05:00
JosJuice 720b3f5519
Merge pull request #11071 from AdmiralCurtiss/netplay-settings-style
Netplay: Rename variable names in NetSettings to match style guide.
2022-09-19 17:55:36 +02:00
Pokechu22 d80201a57f VertexLoaderARM64: Fix direct normal+tangent+binormal with index3 set
Fixes https://bugs.dolphin-emu.org/issues/12952
2022-09-18 23:33:24 -07:00
Pokechu22 f148de161f VertexLoaderARM64: Specify the register to use as a parameter to ReadVertex
This also means that both a register and a vertex are always specified, though right now if the register is scratch1_reg the offset is always 0.
2022-09-18 23:33:24 -07:00
Pokechu22 ad644d5e92 VertexLoaderARM64: Merge GetAddressImm into GetVertexAddr
This way it more closely matches VertexLoaderX64, and is in general easier to understand.
2022-09-18 23:33:24 -07:00
Pokechu22 9a290c3d50 VertexLoaderARM64: Always use unscaled load/store instructions
The source and destination offsets will always be less than 255, so we can get rid of a lot of the complexity by doing this.
2022-09-18 23:33:24 -07:00
Pokechu22 a34d5e5960 Arm64Emitter: Add additional alignment assertions
Before, unaligned values would be silently ignored in most cases.
2022-09-18 23:33:24 -07:00
Pokechu22 afe5adb74d VertexLoaderARM64: Use EnumMap for normal scales 2022-09-18 23:33:24 -07:00
Pokechu22 200676f4e3 VertexLoaderX64: Fix direct normal+tangent+binormal with index3 set
Fixes https://bugs.dolphin-emu.org/issues/12952
2022-09-18 23:33:23 -07:00
Pokechu22 5cc2f7729e VertexLoaderX64: Use EnumMap for normal scales 2022-09-18 23:33:23 -07:00
Pokechu22 53ee1b50fe VertexLoaderTest: Add NormalAll
This currently fails for direct with NormalIndex3 enabled (see https://bugs.dolphin-emu.org/issues/12952). The goal of this test is to be able to confidently say that that bug has been fixed.
2022-09-18 23:33:23 -07:00
Pokechu22 729498ab41 VertexLoaderTest: Add DirectAllComponents
We have one that does a similar thing, but only to measure speed and uses indices. This one verifies accuracy (and uses the largest possible input size by using direct components).
2022-09-18 23:33:23 -07:00
JMC47 6f4f5b0b7b
Merge pull request #11067 from K0bin/cache-vertex-size
OpcodeDecoding: Cache vertex sizes
2022-09-18 22:38:06 -04:00
Admiral H. Curtiss bec4850fc3
Netplay: Rename variable names in NetSettings to match style guide. 2022-09-19 01:25:46 +02:00
Robin Kertels 2db74e7f21
OpcodeDecoding: Get vertex size from the loader 2022-09-19 01:14:53 +02:00
Robin Kertels a6c6ec012c
VertexLoaderManager: Clean up and slightly speed up with templates 2022-09-19 01:14:49 +02:00
JosJuice eec43ce3f3
Merge pull request #11068 from JosJuice/revert-vcredist
Revert "windows: distribute vcredist loose files"
2022-09-18 23:40:33 +02:00
Admiral H. Curtiss 07f86446a6
Netplay: Remove unused m_HostInputAuthority in NetSettings. 2022-09-18 23:00:08 +02:00
Admiral H. Curtiss 69ad2cc4d0
Merge pull request #11059 from AdmiralCurtiss/netplay-graceful-shutdown
NetPlayClient: Treat power button event as a netplay stop.
2022-09-18 00:00:44 +02:00
JosJuice fec6f1bd5a Revert "windows: distribute vcredist loose files"
This reverts commit 0837af4344.
2022-09-16 10:33:39 +02:00
Robin Kertels a31e36aeb7
VertexLoaderManager: Fix backwards preprocess check
Spotted by Pokechu22.
2022-09-15 23:56:04 +02:00
JMC47 32fba6dbd8
Merge pull request #11066 from K0bin/vertex-size-opt
Optimize GetVertexSize
2022-09-15 14:25:32 -04:00
Robin Kertels fdcd2b7d00
VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
Robin Kertels 8aa214453a
VertexLoader: Optimize GetVertexSize
GetComponentSizes was unused, so we simplify this and get rid
of the branches.
2022-09-15 02:47:23 +02:00
Pierre Bourdon 1efb5b8800
Merge pull request #11063 from shuffle2/vcredist
windows: distribute vcredist loose files
2022-09-14 23:01:00 +02:00
JosJuice 09c07d4ff2
Merge pull request #11060 from t895/dividers
Android: Use material dividers
2022-09-14 22:43:18 +02:00
Shawn Hoffman 0837af4344 windows: distribute vcredist loose files 2022-09-14 13:15:45 -07:00
Charles Lombardo 33048d0d4c Android: Use material dividers 2022-09-14 14:23:59 -04:00
Charles Lombardo 96d431b519 Android: Remove TabLayout workaround 2022-09-14 12:03:21 -04:00
Charles Lombardo eb6a548735 Android: Change top app bar color on scroll 2022-09-13 21:31:30 -04:00
JosJuice 3420823002
Merge pull request #11043 from t895/nav-bar
Android: Match navigation bar color to background
2022-09-13 22:34:52 +02:00
JosJuice 351ebe668f
Merge pull request #11056 from t895/new-bars
Android: Add more top app bars
2022-09-13 21:14:30 +02:00
JosJuice 7f450f1d7e
Merge pull request #10626 from t895/glide
Android: Replace Picasso with Glide
2022-09-13 08:24:18 +02:00
Admiral H. Curtiss bf331ffa45
NetPlayClient: Treat power button event as a netplay stop. 2022-09-13 01:26:45 +02:00
Admiral H. Curtiss 35f6d12acc
NetPlayClient: Consolidate stopping code to function. 2022-09-13 01:26:45 +02:00
Admiral H. Curtiss c4b3f2302a
NetPlayClient: Consolidate Wiimote buffer waiting code to function. 2022-09-13 01:26:45 +02:00
Shawn Hoffman 7432b6ce91 Updater: Move inflate intermediate buffer to heap and enlarge 2022-09-12 03:35:03 -07:00
JosJuice 14f427d4cd
Merge pull request #11054 from t895/swipe-refresh
Android: Change swipe refresh colors to match other component colors
2022-09-12 09:05:14 +02:00
Charles Lombardo 8c477852f3 Android: Add more top app bars 2022-09-11 23:49:26 -04:00
Charles Lombardo 0e74acdd85 Android: Remove other color edge effect definitions 2022-09-11 15:10:27 -04:00
Charles Lombardo 63ff3c3830 Android: Change swipe refresh colors to match other component colors 2022-09-11 13:29:13 -04:00
Tillmann Karras f5670f870e Add emulated Shinkansen controller 2022-09-11 17:12:19 +01:00
JosJuice 702e7bad58
Merge pull request #11044 from t895/dialog-animations
Android: Add custom window animation to alert dialogs
2022-09-11 17:54:02 +02:00
JosJuice 713b535eb9
Merge pull request #11045 from t895/color-edge-effect
Android: Change color control highlight to system default
2022-09-11 13:15:13 +02:00
Mai dbcf7fd2c9
Merge pull request #11049 from Tilka/tatacon
TaTaCon: fix possible hotswap problem
2022-09-11 05:12:12 -04:00
Mai 427dd75dfd
Merge pull request #11048 from AdmiralCurtiss/netplay-settings-boot-data
Netplay: Pass netplay settings via BootSessionData.
2022-09-11 05:11:39 -04:00
Admiral H. Curtiss 1732071a10
Netplay: Pass netplay settings via BootSessionData. 2022-09-11 04:18:26 +02:00
Charles Lombardo e631dfc918 Android: Fix save state menu text color 2022-09-10 21:32:08 -04:00
Tillmann Karras b418441f4a TaTaCon: fix possible hotswap problem 2022-09-11 00:16:00 +01:00
Charles Lombardo e77543abb2 Android: Change color control highlight to system default 2022-09-10 18:00:03 -04:00
Mai 4edb3a8074
Merge pull request #11041 from AdmiralCurtiss/global-state-audio
HW: Move AudioInterface variables to Core::System.
2022-09-10 17:10:17 -04:00
Charles Lombardo bb398c8648 Android: Match navigation bar color to background 2022-09-10 17:08:31 -04:00
Mai 804af55b3a
Merge pull request #11042 from AdmiralCurtiss/global-state-file-monitor
HW: Convert FileMonitor::Log into a class.
2022-09-10 17:08:25 -04:00
Charles Lombardo 9fcc3e2e92 Android: Add custom window animation to alert dialogs 2022-09-10 17:01:24 -04:00
JosJuice 84507ec420
Merge pull request #10725 from t895/theme-merge
Android: App redesign with multi-theme system
2022-09-10 20:08:37 +02:00
Admiral H. Curtiss b51d37fe49
HW: Convert FileMonitor::Log into a class. 2022-09-09 22:35:51 +02:00
JosJuice 2bbae05849
Merge pull request #11006 from t895/target33
Android: Update target SDK version
2022-09-09 21:07:17 +02:00
Admiral H. Curtiss 001fe8f94d
HW: Move AudioInterface variables to Core::System. 2022-09-09 04:13:43 +02:00
TryTwo 50db8f35b8 Debugger MemoryWidget: Create mini-menu at top of sidebar. Move dump buttons and "set value from file" to the menu. 2022-09-08 16:36:36 -07:00
Admiral H. Curtiss 426b5b1927
Merge pull request #10123 from sepalani/ai-cleanup
AudioInterface: Cleanup
2022-09-09 00:37:58 +02:00
Admiral H. Curtiss 200c9dd0c5
Merge pull request #11011 from Pokechu22/audio-mixer-assertions
Mixer: Add assertions regarding num_samples versus buffer length
2022-09-08 22:01:18 +02:00
Admiral H. Curtiss d4fe54147e
Merge pull request #10757 from AdmiralCurtiss/show-memcard-path-in-gui
Qt: Show currently configured Memory Card path in the config window.
2022-09-08 21:12:21 +02:00
Pokechu22 72de74d4fc Mixer: Add assertions regarding num_samples versus buffer length 2022-09-08 12:10:10 -07:00
Pokechu22 abb59a781a Mixer: Use smaller array for PushWiimoteSpeakerSamples 2022-09-08 12:10:02 -07:00
Admiral H. Curtiss 329d279c05
Merge pull request #10751 from Zopolis4/manifesto
Update supportedOS values in .manifest files
2022-09-08 20:36:28 +02:00
Admiral H. Curtiss 85bd57df0e
Merge pull request #11007 from PEmu2/enj
Edit error message
2022-09-08 20:00:18 +02:00
Admiral H. Curtiss 696614fd1b
Merge pull request #11014 from AdmiralCurtiss/nand-repair-scrollable-box
Qt: Make custom dialog for NAND Repair.
2022-09-08 19:58:46 +02:00
Admiral H. Curtiss 45c4aa288a
Merge pull request #10881 from iwubcode/graphics-mod-draw-fb-texture-names
VideoCommon: fix graphics target texture names for efb/xfb
2022-09-08 19:56:49 +02:00
Admiral H. Curtiss 710210365a
Merge pull request #11038 from AdmiralCurtiss/steam-overlay-crash-fix-wgi
WGInput: Work around crash with Steam overlay.
2022-09-08 19:03:31 +02:00
Pokechu22 2dfe91336a
Merge pull request #10549 from Pokechu22/sw-tev-enum-map
Refactor various bits of graphics code for readability
2022-09-08 09:42:12 -07:00
Mai 74851fe94a
Merge pull request #11029 from AdmiralCurtiss/global-state-dvd
HW: Move DVD variables to Core::System.
2022-09-07 23:40:16 -04:00
Mai 348db11bdb
Merge pull request #11040 from AdmiralCurtiss/update-references-deadlock
InputCommon: Fix deadlock in EmulatedController::UpdateReferences().
2022-09-07 23:39:10 -04:00
Admiral H. Curtiss b8ca1b2907
InputCommon: Fix deadlock in EmulatedController::UpdateReferences(). 2022-09-07 22:37:24 +02:00
Admiral H. Curtiss 67c97a0bf2
WGInput: Work around crash with Steam overlay. 2022-09-07 21:06:26 +02:00
Admiral H. Curtiss dbb0cfbc09
DSPLLE: Remove dead DSPSymbolDB. 2022-09-03 22:20:24 +02:00
Admiral H. Curtiss 2d45ce5c4e
HW: Move DVDInterface variables to Core::System. 2022-09-03 21:54:25 +02:00
Admiral H. Curtiss c4d5804f60
HW: Move DVDThread variables to Core::System. 2022-09-03 21:54:25 +02:00
Sepalani 9b9f701ac5 AudioInterface: Add setters for AIS/AID sample rate 2022-09-03 23:36:34 +04:00
Sepalani 59eb1253a3 AudioInterface: Use anonymous namespace for static functions 2022-09-03 23:02:28 +04:00
Sepalani f7a2972899 AudioInterface: Use IsPlaying method 2022-09-03 22:40:38 +04:00
dreamsyntax 78c6819f5e Core: pause on panic handler option 2022-09-02 13:22:32 -07:00
Mai 23902f99ae
Merge pull request #11026 from AdmiralCurtiss/sound-stream
AudioCommon: Move sound stream variables to Core::System.
2022-09-01 23:41:42 -04:00
Charles Lombardo c79b12a49b Android: Replace Picasso with Glide 2022-09-01 19:11:02 -04:00
Mai 50550cf978
Merge pull request #11009 from shuffle2/device-notify
ciface/win32 and WGInput bug fixes
2022-09-01 00:27:55 -04:00
Mai 11281b5cef
Merge pull request #11017 from JosJuice/saf-custom-cover
Android: Fix reading custom covers with SAF
2022-09-01 00:27:28 -04:00
Charles Lombardo 940a38f172 Android: App redesign with multi-theme system 2022-08-31 18:01:15 -04:00
Admiral H. Curtiss c310e504cb
AudioCommon: Move sound stream variables to Core::System. 2022-08-31 21:44:21 +02:00
Admiral H. Curtiss 9195e1a9b8
Merge pull request #11021 from merryhime/constructor-order
Ensure constructor initializer order matches initialization order
2022-08-30 02:29:37 +02:00
Merry 362167fde5 MTLObjectCache: Correct signature of equality operator
Not doing so produces a warning in clang:
    ISO C++20 considers use of overloaded operator '!=' (with operand types
    'Metal::DepthStencilSelector' and 'Metal::DepthStencilSelector') to be
    ambiguous despite there being a unique best viable function with
    non-reversed arguments

The underlying reason for this warning is an incorrect method signature.
2022-08-29 21:23:23 +01:00
Merry b0717607b2 TextureInfo: Reorder members in constructor
m_stage is initialized last
2022-08-29 21:16:21 +01:00
Merry 3323375efb GraphicsModManager: Reorder DecoratedAction members to initialization order
m_action_impl is initialized before m_mod in constructor
2022-08-29 21:15:49 +01:00
Pokechu22 698def66ff Fifo analyzer: Fix various XF mistakes
* 'hangle' was a typo
* Light colors include an alpha value, so they should be 8 characters, not 6
* The XF command format adds 1 to the count internally (so 0 is one word), but we need to subtract that back to produce a valid command
* XFMEM_POSTMATRICES was calculating the row by subtracting XFMEM_POSMATRICES (POS vs POST), resulting in incorrect row numbering
2022-08-29 11:10:05 -07:00
Pokechu22 3fb09e3297 Fifo analyzer: Improve some BP descriptions
Mainly, the improvements are passing in the current command ID so that e.g. stage numbers can be directly included, instead of saying 0/1 or even/odd.
2022-08-29 11:10:05 -07:00
Pokechu22 546f9952a2 UberShaderPixel: Fix typo 2022-08-29 11:10:05 -07:00
Pokechu22 5ef8a7973e BPMemory: Make TevKSel more clear
It stores both the konst selection value for alpha and color channels (for two tev stages per ksel), and half of a swap table row (there are 4 total swap tables, which can be used for swizzling the rasterized color and the texture color, and indices selecting which tables to use are stored per tev stage in the alpha combiner).  Since these are indexed very differently, the old code was hard to follow.
2022-08-29 11:10:05 -07:00
Pokechu22 f21798b9b6 BPMemory: Use even/odd in TwoTevStageOrders instead of 0/1 2022-08-29 11:10:05 -07:00
Pokechu22 e43f02c752 BPMemory: Improve consistency of hex offset comments
I search for these somewhat often with control+f, but tend to default to adding a 0x prefix, which means I don't find them until I remove it.
2022-08-29 11:10:05 -07:00
Pokechu22 4206ac243b SW/Rasterizer: Use RAS1_IREF::getTexCoord and getTexMap 2022-08-29 11:10:05 -07:00
Pokechu22 ae0fcd9a9f SW/Tev: Replace Tev::SetRegColor with Tev::SetKonstColors 2022-08-29 11:10:05 -07:00
Pokechu22 3b9a048291 SW/Tev: Use std::clamp for Clamp255 and Clamp1024 2022-08-29 11:10:05 -07:00
Pokechu22 bae0f21f74 SW/Tev: Remove Tev::Init 2022-08-29 11:10:05 -07:00
Pokechu22 c9936f8c1c SW/Tev: Use EnumMap for scale/bias tables 2022-08-29 11:10:05 -07:00
Pokechu22 b02992548e SW/Tev: Use EnumMap for Reg 2022-08-29 11:10:03 -07:00
Pokechu22 2db7569463 SW/Tev: Use TevColorRef/TevAlphaRef instead of raw s16 pointers 2022-08-29 11:05:10 -07:00
JosJuice 40d6d615e2 Android: Fix reading custom covers with SAF
If GameFile.getCustomCoverPath returns a mangled URI, we need to
unmangle it before passing it to Picasso, since Picasso has no
concept of Dolphin's mangled URIs.
2022-08-29 18:48:20 +02:00
Pokechu22 ec1ed64832 EnumMap: Fix typo 2022-08-28 22:38:35 -07:00
JMC47 6d61e6a601
Merge pull request #11016 from Pokechu22/software-indirect-texture-bug
Software/Rasterizer: Fix indirect stage using texture coordinates/maps >= 4
2022-08-29 01:37:36 -04:00
Pokechu22 e04d23e086 SW/Rasterizer: Fix indirect stage using texture coordinates/maps >= 4
The masking was incorrect. This affects the main menu of The Last Avatar, though that menu also relies on copy filter functionality that is not correctly handled in the software renderer so the difference is not obvious; that game shuffles textures across all indices for some reason, so this issue would presumably result in subtle flickering.
2022-08-28 12:19:36 -07:00
Sepalani 7dc647fd4c BBA/BuiltIn: Add UPnP HTTP listener 2022-08-28 23:09:09 +04:00
Admiral H. Curtiss 59f3be8c54
Qt: Make custom dialog for NAND Repair.
This is so that if you have a lot of titles that need repair the dialog can still fit on screen.
2022-08-28 03:11:17 +02:00
Shawn Hoffman cd407abe34 WGInput: implement error handling 2022-08-27 02:11:27 -07:00
Shawn Hoffman 6bc8ab7001 WGInput: use c++/winrt 2022-08-26 23:20:34 -07:00
Shawn Hoffman 76d2e47444 ciface/win32: use CM_Register_Notification instead of wnd msgs 2022-08-26 21:59:56 -07:00
Sepalani 7202cf2650 BBA/BuiltIn: Add SSDP multicast support 2022-08-24 21:29:57 +04:00
Sepalani f992f8f38c BBA/BuiltIn: Make network interface consistent 2022-08-24 21:05:18 +04:00
Sepalani e783a7f409 Common/Network: Add StrNetworkError helper function 2022-08-24 21:05:18 +04:00
JosJuice b6ac63dc47
Merge pull request #11000 from t895/monochrome
Android: Use vector icon and enable monochrome icon
2022-08-24 17:38:59 +02:00
Admiral H. Curtiss 9c9962083d
Merge pull request #10956 from Dentomologist/address_cpp20_todo_comments
Address c++20 TODO comments
2022-08-24 17:18:56 +02:00
Admiral H. Curtiss e5cfa286bd
Merge pull request #10960 from shuffle2/mz
ResourcePack: dont scan for individual files
2022-08-24 17:11:21 +02:00
Admiral H. Curtiss a7d358a97b
Merge pull request #11003 from sepalani/decode-error
Move SocketManager's DecodeError to Common
2022-08-24 17:01:07 +02:00
OatmealDome da0a89e6e6 msbuild: Add property for disabling auto updates
This will be used for our Steam builds.
2022-08-23 15:29:42 -04:00
OatmealDome f2fad4df47 msbuild: Add property for creating Steam builds on Windows 2022-08-23 15:29:27 -04:00
Pokechu22 0cced44142 Use `__VA_OPT__(, ) __VA_ARGS__` instead of `##__VA_ARGS__`
Per https://en.cppreference.com/w/cpp/preprocessor/replace#.23_and_.23.23_operators the `##` behavior is a nonstandard extension; this extension seems to be supported by all compilers we care about, but IntelliSense in visual studio doesn't correctly handle it, resulting in false errors in the IDE (but not when compiling).

Per https://en.cppreference.com/w/cpp/preprocessor/replace#Function-like_macros C++20 introduced a workaround, where `__VA_OPT__(, )` generates a comma if and only if `__VA_ARGS__` is non-empty.

This PR replaces all occurrences, with the exception of Externals, DSPSpy (which is not likely to be edited in MSVC and does not target C++20 currently), and JitArm64_Integer.cpp (which uses `Function(__VA_ARGS__)`, and thus does not ever need a comma).
2022-08-23 12:09:57 -07:00
JosJuice 299aef945b
Merge pull request #11005 from t895/cover-only
Android: Add option to disable game cover text
2022-08-23 18:24:51 +02:00
Admiral H. Curtiss aa8364a327
Merge pull request #10996 from JosJuice/gpu-texture-uint
VideoCommon: Fix OpenGL ES GPU texture decoding
2022-08-23 10:48:51 +02:00
PEmu2 b516ae12ca
Edit error message
Edit error message to be less sarcastic. I doubt many users appreciate this when Dolphin has just crashed.
2022-08-22 19:52:13 -07:00
Charles Lombardo 7659753924 Android: Update target SDK version 2022-08-22 19:14:43 -04:00
JMC47 48fdbcde23
Merge pull request #10809 from TryTwo/PR_CodeWidget_Filters
Debugger CodeWidget: Add filter boxes to callstack, function calls, a…
2022-08-22 15:47:20 -04:00
Charles Lombardo 2caa1f3b43 Android: Add option to disable game cover text 2022-08-22 13:50:39 -04:00
Admiral H. Curtiss 1845a13cbe
Merge pull request #10905 from shuffle2/netplay-hash
netplay: use sha1 instead of md5
2022-08-22 15:57:49 +02:00
Admiral H. Curtiss 8b7e6f1863
Merge pull request #10933 from shuffle2/vs
msbuild: fix overbuilding of externals and lessen rebuild likelyhood
2022-08-22 15:19:13 +02:00
Admiral H. Curtiss aba87ba1e3
Merge pull request #10997 from JosJuice/nfs-check
DiscIO: Fix an incorrect error check in NFSBlob
2022-08-22 15:14:15 +02:00
Charles Lombardo 3814fab9ec Android: Use vector icon and enable monochrome icon 2022-08-22 07:54:57 -04:00
Sepalani 597fb9ff6d Move SocketManager's DecodeError to Common
Fix thread safety issue
2022-08-22 14:02:26 +04:00
Charles Lombardo 903c94f7be Android: Update SDK and dependencies 2022-08-21 14:51:04 -04:00
JosJuice 052fdfa00d DiscIO: Fix an incorrect error check in NFSBlob 2022-08-21 00:06:53 +02:00
Mai fef8325ff7
Merge pull request #10995 from JosJuice/nfs-size-out
DiscIO: Fix calculation of NFS raw size
2022-08-20 17:57:46 -04:00
JosJuice 724bd3e597 VideoCommon: Fix OpenGL ES GPU texture decoding 2022-08-20 23:21:23 +02:00
JosJuice aca624ef9c DiscIO: Fix calculation of NFS raw size 2022-08-20 21:18:36 +02:00
Shawn Hoffman 7c3cdeda2b qt: defer writing gamelist cache until EndRefresh
large speedup
2022-08-19 19:51:31 -07:00
TellowKrinkle 1bc133f3ae CMake: Properly include lzma include directories 2022-08-18 21:06:57 -05:00
TellowKrinkle 048f6fac52 CMake: Properly include zstd include directories 2022-08-18 21:06:57 -05:00
JMC47 498c06b85a
Merge pull request #10989 from CasualPokePlayer/fifo_reset_dual_core
Fix crashes in dual core mode on a PI_FIFO_RESET
2022-08-18 17:32:29 -04:00
TellowKrinkle 588c4bd635 InputCommon:QuarzKB&M: Use view position instead of window position 2022-08-18 16:29:43 -05:00
TellowKrinkle 798b241832 InputCommon:QuarzKB&M: Use KVO to watch window position
CGWindowListCreateDescriptionFromArray would block for up to ~1ms, which isn't a great thing to do on the main emulation thread
2022-08-18 16:29:43 -05:00
CasualPokePlayer ab8a8e6f84 Fix crashes in dual core mode on a PI_FIFO_RESET 2022-08-18 13:38:37 -07:00
Mai fea552a4de
Merge pull request #10981 from JosJuice/android-string-single-choice-naming
Android: Clean up StringSingleChoiceSetting naming
2022-08-18 10:37:56 -04:00
Mai 39aa5f29a6
Merge pull request #10991 from Pokechu22/dsp-hle-ax-ucode-switch-state
DSPHLE/AX: Set state to WaitingForCmdListSize when switching uCodes
2022-08-18 10:34:57 -04:00
Mai 7a23b45aa1
Merge pull request #10992 from Pokechu22/swapchain-unused-functions
VideoCommon: Remove unused swap chain functions
2022-08-18 10:32:51 -04:00
Pokechu22 3c38f5c1d2 D3DCommon: Remove unused swap chain functions
These were added in ea15080d8f (which added D3DCommon), but never were used.
2022-08-17 18:16:50 -07:00
Pokechu22 da7aded00d Vulkan: Remove unused swap chain functions
These were added in 5e29508b8f and 1f2d43c870, but were replaced with CONFIG_CHANGE_BIT_VSYNC and CONFIG_CHANGE_BIT_STEREO_MODE in e4b205c769.
2022-08-17 18:16:17 -07:00
Pokechu22 f9e1933111 DSPHLE/AX: Set state to WaitingForCmdListSize when switching uCodes
Fixes https://bugs.dolphin-emu.org/issues/13017. With uCode switching, the existing instance of AXUCode is re-activated when GBAUCode is done, but if the state remains as WaitingForNextTask, it won't be able to do anything. Instead, it needs to be in WaitingForCmdListSize.

(When the AX uCode is resumed, startpc is set to 0x0030, at least for 0x07f88145; this is the same location as MAIL_RESUME jumps to, so DSP_RESUME should be sent when the resuming happens; that's already handled by AXUCode::Update.)
2022-08-17 12:05:53 -07:00
Shawn Hoffman 4ae475b6a1 fix verifying wii dev signatures
allows verifying dev-signed discs and wads
2022-08-16 12:47:26 -07:00
Admiral H. Curtiss 650f172637
DolphinQt: Only show raw memory card path if it's not the default. 2022-08-16 00:23:36 +02:00
Admiral H. Curtiss d11839fd64
DolphinQt: Show raw memory card path and AGP cartridge path in config window. 2022-08-16 00:20:58 +02:00
Admiral H. Curtiss 43d4923e78
Config: Allow passing std::nullopt for the region in GetMemcardPath() to use the region as configured in the path itself. Falls back to the fallback region if no region is in the path. 2022-08-16 00:20:58 +02:00
JosJuice b6a18b0da5
Merge pull request #10980 from JosJuice/android-no-dir-init-fail
Android: Force quit app if external storage isn't mounted
2022-08-14 15:47:50 +02:00
JosJuice 46cb106124 Android: Clean up StringSingleChoiceSetting naming 2022-08-14 15:42:06 +02:00
JosJuice 1646197902 Android: Force quit app if external storage isn't mounted
In the past, directory initialization could fail for two reasons:
The user was rejecting the storage permission, or external storage
wasn't mounted. With the introduction of scoped storage, the first of
these two couldn't happen anymore; if the user rejects the storage
permission, we just use the app-specific directory instead of the
dolphin-emu directory.

By making it so Dolphin force quits if external storage isn't mounted,
we can get rid of our code for handling retrying directory initialization
after it fails. I think this slight hit to UX is worth it considering
that basically nobody has an Android device with detachable primary
external storage anymore. And the UX hit is very small; the user just has
to manually open the app again after remounting external storage. The
toast about external storage not being mounted will still be displayed.

The recent merge of the splash screen PR may have made it so that the
code for handling directory initialization failing doesn't work anymore.
To be completely honest, I'm not sure how to even test this in 2022.
2022-08-13 18:59:23 +02:00
Admiral H. Curtiss 92c6407c45
Merge pull request #10970 from AdmiralCurtiss/directoryblob-encrypted
DirectoryBlob: Fix partition size mixup for encrypted Wii discs.
2022-08-12 22:35:40 +02:00
TellowKrinkle b96bc4267e InputCommon: Enable ARC for obj-c++ 2022-08-12 02:09:53 -05:00
JosJuice ce08de8cc6
Merge pull request #10948 from t895/splash
Android: Add Androidx splash screen to wait for directory initialization
2022-08-11 20:05:46 +02:00
Léo Lam be33e1079d
Merge pull request #10972 from AdmiralCurtiss/ios-fs-metadata-nop
IOS/FS: Skip writing FST if SetMetadata() changes nothing.
2022-08-11 16:16:45 +01:00
Charles Lombardo 0c89e5ea8d Add AndroidTV splash screen 2022-08-10 15:53:45 -04:00
Charles Lombardo 1dff1c3fe8 Android: Add Androidx splash screen to wait for directory initialization 2022-08-10 15:37:10 -04:00
Admiral H. Curtiss 7ac042d00b
DirectoryBlob: Fix partition size mixup for encrypted Wii discs. 2022-08-10 20:43:52 +02:00
JosJuice 3f794bf87e
Merge pull request #10974 from t895/permissions-fix
Android: Prevent app lockup when revoking write access
2022-08-10 20:27:30 +02:00
Charles Lombardo a91e47899d Android: Prevent app lockup when revoking write access 2022-08-10 13:57:30 -04:00
Pokechu22 1004e34167 Android: Don't set the signingConfig if keystore property isn't set
If the property isn't set, we don't initialize the release config, so we shouldn't use it. This fixes building issues for me.
2022-08-10 09:58:49 -07:00
Admiral H. Curtiss 0d39c4a78a
IOS/FS: Skip writing FST if SetMetadata() changes nothing. 2022-08-10 06:28:23 +02:00
Charles Lombardo e926946f64 Consistent tv card colors
Item selected color is now dolphin-blue for all cards in the TV activity.
2022-08-10 00:23:19 -04:00
Admiral H. Curtiss dcdba11ded
Merge pull request #10962 from askew-etc/inc-dec-select-state-hotkeys
Add hotkeys for incrementing/decrementing select state slot
2022-08-10 01:41:32 +02:00
Sage King da803adf15 Work around for compiler bug on Debian and FreeBSD 2022-08-09 16:26:54 -06:00
Sage King 66276ac61b Added type to SyncIndentifierComparison enum in SyncIdentifier.h in an
attempt to fix a failed call to operator<< in SendResponse()
2022-08-09 16:26:53 -06:00
Sage King 978b6a8724 Added comment explaining obscure folding syntax in NetPlayServer.cpp 2022-08-09 16:26:53 -06:00
Sage King a12099404e Added SendResponseToAllPlayers() and SendResponseToPlayer() to NetPlayServer.cpp and refactored OnConnect to use them 2022-08-09 16:26:52 -06:00
Sage King 477c20e28d Updated comment explaining enet_peer_timeout's use in NetPlayClient.cpp and NetPlayServer.cpp; Corrected syntax related to PEER_TIMEOUT in NetplayClient.cpp 2022-08-09 16:26:52 -06:00
Sage King 2f367d7a9b Updated PEER_TIMOUT in NetPlayCommon.h to use chrono literals; Updated NetPlayServer.cpp OnConnect() by putting commonly used code into named functions 2022-08-09 16:26:52 -06:00
Sage King d81756e9b9 Refactored parameter to OnConnect() in NetPlayServer.cpp from rpac to received_packet 2022-08-09 16:26:51 -06:00
Sage King 9d14d95737 Removed code duplicating comments in NetPlayServer.cpp OnConnect() 2022-08-09 16:26:51 -06:00
Sage King 5dea8aaed0 Added initializer braces to Client player; in NetPlayServer.cpp OnConnect() 2022-08-09 16:26:50 -06:00
Sage King d11df2b700 Refactored variable declared in NetPlayServer.cpp OnConnect() from npver to netplay_version 2022-08-09 16:26:50 -06:00
Mai c2dd58c361
Merge pull request #10959 from JosJuice/frsp-subnormal
Interpreter: Fix rounding edge case in frsp
2022-08-09 18:17:21 -04:00
Mai e9e2c741a2
Merge pull request #10953 from JosJuice/aarch64-add-encoding
Arm64Emitter: Fix encoding of size for ADD (vector)
2022-08-09 18:13:50 -04:00
Zopolis4 e54818e60d
Resolve "implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20" warning 2022-08-08 11:25:19 +10:00
Zopolis4 e2aefe13a6
Restrict OpenSLES to Android via CMake 2022-08-08 09:18:36 +10:00
Scott Mansell 4c2d707538
Merge pull request #10940 from InvoxiPlayGames/ipc-discord
Add Discord presence ioctlv to /dev/dolphin
2022-08-08 08:11:42 +12:00
askew-etc 914f38753a Add hotkeys for incrementing/decrementing selected state slot (like RetroArch) 2022-08-07 12:20:09 -05:00
Shawn Hoffman 6e94c20abd add TODO for chrono in GetLocalTimeSinceJan1970 2022-08-06 22:25:30 -07:00
Shawn Hoffman 292724b228 Revert "msvc: use std::chrono for GetLocalTimeSinceJan1970"
This reverts commit 86da6c98fb.
2022-08-06 22:22:14 -07:00
Shawn Hoffman 9bb8315441 ResourcePack: dont scan for individual files
walking the zip prevents minizip from re-reading the same
data repeatedly from the actual backing filesystem.
also improves most usages of minizip to allow for >4GB,
files altho we probably don't need it
2022-08-06 15:38:46 -07:00
iwubcode 637dca680c VideoCommon: update ubershader pixel to not enforce d3d when writing color output that has been defined as uints 2022-08-06 16:08:58 -05:00
iwubcode 05135b4f43 VideoCommon: fix uint shader compiler error in specialized shaders. This error is in renderers that use uint for their color output (for logic ops). Remove D3D check for uint output since other backends could use uint output as well. 2022-08-06 16:08:58 -05:00
Dentomologist 02cd4ecf7d Core: Use std::chrono time_since_epoch 2022-08-06 13:28:28 -07:00
Dentomologist ff26f6435e Use structured binding for pair values
dir_path is used by PanicAlertFormatT, which prior to PR 10209 used a
lambda. Before c++20, referring to structured bindings in lambda captures
was forbidden. The problem is now doubly fixed, so put the structured
binding back in.
2022-08-06 13:28:28 -07:00
iwubcode 0b5f7d2c5f VideoCommon: fix graphics target not properly setting 'draw_started' texture names for efb/xfb 2022-08-06 12:01:33 -05:00
JosJuice c5d9514cd9 Interpreter: Fix rounding edge case in frsp
Fixes the Dolphin bug mentioned in
https://github.com/dolphin-emu/hwtests/issues/45.

Because this doesn't fix any observed behavior in games (no, 1080°
Avalanche isn't affected), I haven't implemented this in the JITs,
so as to not cause unnecessary performance degradations.
2022-08-06 18:54:19 +02:00
InvoxiPlayGames f9e39cf200 Add Discord presence ioctlv to /dev/dolphin 2022-08-06 07:32:29 +01:00
Shawn Hoffman 3ca673a675 WiiSave: protect against a stack buffer overflow 2022-08-05 17:24:03 -07:00
Tilka 3595c8b295
Merge pull request #10952 from JosJuice/bitutils-remove-unused
Common: Remove unused stuff from BitUtils.h
2022-08-05 21:08:02 +01:00
JosJuice 52661dcc76 Arm64Emitter: Fix encoding of size for ADD (vector)
This was causing a bug in the rounding of paired single multiplication
operands. If Force25BitPrecision was called for quad registers, the
element size of its ADD instruction would get treated as if it was 16
instead of the intended 64, which would cause the result of the
calculation to be incorrect if the carry had to pass a 16-bit boundary.

Fixes one of the two bugs reported in
https://bugs.dolphin-emu.org/issues/12998.
2022-08-05 21:49:28 +02:00
JosJuice c00008e3cd Common: Remove unused stuff from BitUtils.h 2022-08-05 17:54:51 +02:00
Tillmann Karras b8e64b1f43 AX: fix comments and variable names (NFC)
This command does not upload the MAIN buffers to CPU memory. This was
functionally fixed in f11a40f858 without
updating the comments and variable names.
2022-08-05 15:00:17 +01:00
Scott Mansell ebf95370ef
Merge pull request #10946 from Pokechu22/remove-iLog
VideoCommon: Remove old iLog field
2022-08-05 22:42:09 +12:00
JosJuice 939fa1ed1c
Merge pull request #10941 from shuffle2/crypto-cleanup
Crypto cleanup
2022-08-05 12:12:34 +02:00
Zopolis4 b9b7ff6e25
Update supportedOS values in .manifest files 2022-08-05 10:26:22 +10:00
Tilka e638bb658f
Merge pull request #10945 from Pokechu22/vulkan-source-file-name
Vulkan: Call setSourceFile in addition to addSourceText
2022-08-05 00:03:25 +01:00
Pokechu22 354530cf61 VideoCommon: Remove old iLog field
Prior to 7854bd7109, this was used by the debugger for the OpenGL and D3D9 plugins to control logging (via PRIM_LOG and INFO_LOG/DEBUG_LOG in VideoCommon code; PRIM_LOG was changed in 77215fd27c), and also framedumping (removed in 64927a2f81 and 2d8515c0cf), shader dumping (removed in 2d8515c0cf and this commit), and texture dumping (removed in 54aeec7a8f). Apart from shader dumping, all of these features have modern alternatives, and shader source code can be seen in RenderDoc if "Enable API Validation Layers" is checked (which also enables source attachment), so there's no point in keeping this around.
2022-08-04 15:49:39 -07:00
Pokechu22 20a2a2174d Vulkan: Call setSourceFile in addition to addSourceText 2022-08-04 15:09:12 -07:00
Admiral H. Curtiss 5508c52a95
Merge pull request #10932 from JosJuice/nfs
DiscIO: Add support for the NFS format
2022-08-04 22:20:08 +02:00
JosJuice 6fc3bbbdd9 DiscIO/VolumeVerifier: Add a note about NFS bad dumps 2022-08-04 22:01:00 +02:00
JosJuice 02e3125f23 DiscIO/VolumeVerifier: Small logic cleanup
Just for ease of reading. No behavioral difference.
2022-08-04 22:00:59 +02:00
JosJuice 40a4eb3893 DiscIO: Adjust GetDataSizeType logic for NFS 2022-08-04 22:00:59 +02:00
JosJuice a87dffe52d DiscIO: Replace IsDataSizeAccurate with GetDataSizeType
Previously, we had WBFS and CISO which both returned an upper bound
of the size, and other formats which returned an accurate size. But
now we also have NFS, which returns a lower bound of the size. To
allow VolumeVerifier to make better informed decisions for NFS, let's
use an enum instead of a bool for the type of data size a blob has.
2022-08-04 22:00:59 +02:00
JosJuice 3a6df63e9b DiscIO: Add support for the NFS format
For a few years now, I've been thinking it would be nice to make Dolphin
support reading Wii games in the format they come in when you download
them from the Wii U eShop. The Wii U eShop has some good deals on Wii
games (Metroid Prime Trilogy especially is rather expensive if you try
to buy it physically!), and it's the only place right now where you can
buy Wii games digitally.

Of course, Nintendo being Nintendo, next year they're going to shut down
this only place where you can buy Wii games digitally. I kind of wish I
had implemented this feature earlier so that people would've had ample
time to buy the games they want, but... better late than never, right?

I used MIT-licensed code from the NOD library as a reference when
implementing this. None of the code has been directly copied, but
you may notice that the names of the struct members are very similar.
c1635245b8/lib/DiscIONFS.cpp
2022-08-04 22:00:58 +02:00
JosJuice bb27d4cc95 DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed"
Needed for the next commit. NFS disc images are hashed but not encrypted.

While we're at it, also get rid of SupportsIntegrityCheck.
It does the same thing as old IsEncryptedAndHashed and new HasWiiHashes.
2022-08-04 20:29:22 +02:00
Pokechu22 8129874d11 Sanitize and use increased precision when normalizing light directions
This normalization was added in 02ac5e95c8, and changed to use floats in 4bf031c064.  The conversion to floats means that sometimes there is insufficient precision for the normalization process, which results in values of NaN or infinity.  Performing the whole process with doubles prevents that, but games also sometimes set the values to NaN or infinity directly (possibly accidentally due to the values not being initialized due to them not being used in the current configuration?).

The version of Mesa currently in use on FifoCI (20.3.5) has issues with NaN.  Although this bug has been fixed (b3f3287eac in 21.2.0), FifoCI is stuck with the older version.

This change may or may not be incorrect, but it should result in the same behavior as already present in Dolphin, while working around the Mesa bug.
2022-08-04 08:52:44 -07:00
Mai f59f1a2a35
Merge pull request #10740 from Tilka/cxx20
Move to C++20 for non-MSVC compilers
2022-08-04 09:31:31 -04:00
Tilka 3ad6e3abc2
Merge pull request #10768 from Pokechu22/dsp-hle-gba-class
DSPHLE: Eliminate global state in GBA and AX uCode + accuracy improvements
2022-08-04 13:50:30 +01:00
Tilka 8105d0034d
Merge pull request #10821 from Pokechu22/dimar-masking
DVDInterface: Mask upper bits of DIMAR in GC mode
2022-08-04 12:50:49 +01:00
Pokechu22 bf70026728 DSPHLE: Require implementing DoState
CARDUCode, GBAUCode, and INITUCode previously didn't have an implementation of it. In practice it's unlikely that this caused an issue, since these uCodes are only active for a few frames at most, but now that GBAUCode doesn't have global state, we can implement it there. I also implemented it for CARDUCode, although our CARDUCode implementation does not have all states handled yet - this is simply future-proofing so that when the card uCode is properly implemented, the save state version does not need to be bumped. INITUCode does not have any state to save, though.
2022-08-03 17:32:12 -07:00
Pokechu22 f2e833b5c4 DSPHLE: Eliminate global state in AX uCode
This also increases accuracy as to when specific mail is allowed, and correctly handles masking of the 0xCDD1 mails.
2022-08-03 17:32:12 -07:00
Pokechu22 8d66c29f33 DSPHLE: Eliminate global state in GBA uCode + accuracy improvements
The accuracy improvements are:

* The request mail must be 0xabba0000 exactly; both the low and high parts are checked
* The address is masked with 0x0fffffff
* Before, the global state meant that after the GBA uCode had been used once, it would accept 0xcdd1 commands immediately. Now, it only accepts them after execution has finished.
2022-08-03 17:32:12 -07:00
Pokechu22 8b65e84121 DSPHLE: Make all uCode implementations final classes
(Apart from AXUCode, which is inherited by AXWiiUCode.)
2022-08-03 17:32:12 -07:00
Mai b02653722d
Merge pull request #10856 from JosJuice/android-tv-user-data-2
Android: Add divider to landscape version of User Data activity
2022-08-03 20:24:54 -04:00
Mai 4617ee7d89
Merge pull request #10787 from JosJuice/channel-uri
Android: Add app link intent URI to channels projection
2022-08-03 20:21:45 -04:00
Mai 098fc8cadc
Merge pull request #10790 from JosJuice/android-wii-controller-magic
Android: Refactor reading "wiiController" preference
2022-08-03 20:21:11 -04:00
Mai 27669fc7c8
Merge pull request #10828 from JosJuice/jitarm64-32-bit-exception
JitArm64: Pass 32-bit temp GPR to WriteConditionalExceptionExit
2022-08-03 14:36:19 -04:00
Mai a8b2174ce6
Merge pull request #10872 from shuffle2/timer
Timer improvements
2022-08-03 14:30:29 -04:00
Mai 173337104f
Merge pull request #10919 from JosJuice/android-wait-on-fab-click
Android: Use AfterDirectoryInitializationRunner on FAB press
2022-08-03 14:22:42 -04:00
Mai 385764ebe0
Merge pull request #10913 from shuffle2/vsnext
msvc: fix issues with vs 17.3
2022-08-03 14:21:53 -04:00
Mai ebb8402a24
Merge pull request #10934 from sepalani/bba-igmp
BBA/BuiltIn: Add minimal IGMP support
2022-08-03 14:17:41 -04:00
Mai f93b04dc94
Merge pull request #10935 from Pokechu22/icache-dont-save-lookup-table
PPCCache: Stop storing lookup table in savestates
2022-08-03 14:14:39 -04:00
Minty-Meeo 347dd03c3f Remove Vestigial Preprocessor Block in Jit64/Jit.cpp
"Common/GekkoDisassembler.h" became used by Release builds with commit 77e9aa48bc, but this got left in by mistake.
2022-08-03 12:30:20 -05:00
Shawn Hoffman bf5076eb01 crypto/sha1: add real workaround for msvc/arm64 bad codegen 2022-08-02 23:05:45 -07:00
Shawn Hoffman 78142e30cc crypto/sha1: simplify enablement of sha insns on non-msvc 2022-08-02 23:05:07 -07:00
Shawn Hoffman 4e6aa28da4 crypto/aes: silence warning on godforsaken android gcc 2022-08-02 23:03:51 -07:00
Shawn Hoffman 403f3693da NetPlay: use sha1 instead of md5 2022-08-02 22:25:05 -07:00
Shawn Hoffman c7ce035a7f NetPlay: rename md5 -> game digest 2022-08-02 22:25:05 -07:00
Shawn Hoffman ec9b30681b msvc: silence warning in qt header 2022-08-02 22:24:33 -07:00
Shawn Hoffman bdf3a03c04 DolphinQt: fix BootSessionData dtor not being called
std::unique_ptr can't/won't call deleter on incomplete type
generated warning on vs 17.3.0 preview 5.0
2022-08-02 22:24:33 -07:00
Shawn Hoffman 683f7f7210 msbuild: tidy up the linked libs 2022-08-02 22:24:22 -07:00
Shawn Hoffman c5da2877cc msbuild: refactor to reduce rebuild events
* moves dolphin-specific settings out of Base.props
* creates exports.props for externals, allowing to easily import
  individual Externals
* corrects some cruft that accumulated and probably contributed
  to msbuild overbuilding
2022-08-02 22:24:22 -07:00
Shawn Hoffman fec61f89a3 Timer: protect usages of ms timers from rollover 2022-08-02 22:24:06 -07:00
Shawn Hoffman 0fe99e9bc8 ThrottleCallback: correct units in log
make first invocation a bit more correct
2022-08-02 22:24:06 -07:00
Shawn Hoffman 86da6c98fb msvc: use std::chrono for GetLocalTimeSinceJan1970 2022-08-02 22:24:06 -07:00
Shawn Hoffman b473c35873 windows: mark as HighQoS, ensure timer resolution is honored 2022-08-02 22:24:06 -07:00
Shawn Hoffman 3384b1385e move "double time" code into State from Timer
Ideally the statesave format could be changed
to just store a u64 in the future
2022-08-02 22:24:06 -07:00
Shawn Hoffman 49218f9695 DolphinDevice: expose elapsed ms in GetSystemTime 2022-08-02 22:24:06 -07:00
Shawn Hoffman 09089eeee0 Common::Timer: use chrono::steady_clock internally 2022-08-02 22:24:06 -07:00
Shawn Hoffman 8d16971a6f LogManager: use own timestamp function 2022-08-02 22:24:05 -07:00
Shawn Hoffman d71797154a VolumeVerifier: enable fast hash functions by default
sets defaults based on cpu support.
2022-08-02 22:23:49 -07:00
Tilka 7d2d5d914b
Merge pull request #10903 from shuffle2/hash-reorg
Common/Hash: use zlib-ng for adler32. small cleanups.
2022-08-02 18:29:04 +01:00
Tilka e62ceab349
Merge pull request #10902 from shuffle2/aes
Implement hw accelerated AES
2022-08-02 18:28:47 +01:00
Pokechu22 134397754e PPCCache: Stop storing lookup table in savestates
These lookup tables total 4 megabytes, and contain data that's entirely redundant to the actual cache state (as part of an optimization, though I'm not sure whether the optimization actually is useful). This change instead recomputes these lookup tables when loading the state (which involves filling the lookup table with a marker (0xff), and then setting the 128 * 8 valid entries (1 kilobyte)).
2022-08-01 16:36:59 -07:00
Shawn Hoffman 17c554c165 Common/Hash: use zlib-ng for adler32. small cleanups. 2022-08-01 10:07:27 -07:00
Shawn Hoffman 46ad8b9d68 Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
Sepalani 4fa65ec9cf BBA/BuiltIn: Add minimal IGMP support 2022-08-01 12:49:38 +04:00
Sepalani bfc2d11891 BBA/BuiltIn: Simplify HandleARP 2022-08-01 12:48:33 +04:00
Sepalani 7e9711d738 BBA/BuiltIn: Rename m_fake_mac to m_router_mac 2022-08-01 12:48:32 +04:00
Sepalani b029b468cd BBA/BuiltIn: Fix MAC address issues with TCP and UDP 2022-08-01 12:48:32 +04:00
Sepalani cc7cfe249e BBA/BuiltIn: Move TryGetDataFromSocket 2022-08-01 12:48:32 +04:00
Sepalani 0f5fe2274a BBA/BuiltIn: Save current MAC address 2022-08-01 12:48:32 +04:00
Sepalani ec60416c00 BBA/BuiltIn: Add an ARP table 2022-08-01 12:48:32 +04:00
Tilka fb45ed3981
Merge pull request #10883 from Pokechu22/pi-fifo-reset-gp-fifo
ProcessorInterface: Reset both GPFifo and Fifo on PI_FIFO_RESET
2022-07-31 17:06:37 +02:00
Tilka 2c754db3ab
Merge pull request #10912 from shuffle2/msbuild-arch
msbuild: set PreferredToolArchitecture based on host OS arch
2022-07-31 16:33:29 +02:00
Tilka 45f8ae6d51
Merge pull request #10926 from shuffle2/old-gcc-warning
SHA1/arm64: fix casting warning on certain gcc
2022-07-31 16:31:35 +02:00
Tillmann Karras d033d92b05 Move to C++20 for non-MSVC compilers 2022-07-30 23:35:53 +01:00
Admiral H. Curtiss 92c7566646
Merge pull request #10924 from Pokechu22/symbols-missing-last-function
PPCSymbolDB: Fix getting symbol for the last function
2022-07-30 21:52:10 +02:00
Shawn Hoffman 97ff757a74 SHA1/arm64: fix casting warning on certain gcc 2022-07-30 12:06:21 -07:00
Shawn Hoffman e85da16947 msbuild: set PreferredToolArchitecture based on host OS arch 2022-07-30 11:01:47 -07:00
JosJuice ecc4bc5098
Merge pull request #10925 from AdmiralCurtiss/ppc-state-hle-print
HLE_OS: Don't modify emulated state in printf hooks.
2022-07-30 19:49:18 +02:00
Admiral H. Curtiss 2a56113a5b
Merge pull request #10898 from Pokechu22/dsp-hle-homebrew-padding
DSPHLE: Support padded versions of libasnd and libaesnd uCodes
2022-07-30 14:21:28 +02:00
Admiral H. Curtiss a9d9f5c0da
Merge pull request #10899 from shuffle2/sha1
add hw-accelerated SHA1
2022-07-30 14:11:37 +02:00
Admiral H. Curtiss b364a301dc
HLE_OS: Don't modify emulated state in printf hooks, since the actual PPC function will be called afterwards. 2022-07-30 14:06:28 +02:00
Admiral H. Curtiss 4b6ad977c6
Merge pull request #10922 from Pokechu22/apploader-hle-no-replace
Boot_BS2Emu: Create an actual function for AppLoaderReport
2022-07-30 14:05:58 +02:00
Pokechu22 1f17a3bb1e PPCSymbolDB: Fix getting symbol for the last function 2022-07-29 18:41:11 -07:00
Pokechu22 e97ad90681 Boot/ElfReader: Log to BOOT log instead of MASTER log 2022-07-29 12:18:05 -07:00
Pokechu22 7a7a3a7f41 Boot_BS2EMU: Log apploader-related messages to BOOT log instead of MASTER log 2022-07-29 12:17:09 -07:00
Pokechu22 d3d7cc6f96 Boot_BS2Emu: Create an actual function for AppLoaderReport
Before, we used a replace hook and didn't write anything there. Now, we write a BLR instruction to immediately return, and then use a start hook. This makes the behavior a bit clearer (though it shoudln't matter in practice).
2022-07-29 12:16:20 -07:00
Sepalani 18b8f147ab BBA/BuiltIn: Ensure UDP ports are open 2022-07-29 21:25:17 +04:00
JMC47 a81f3a95db
Merge pull request #10917 from sepalani/bba-ntohs
BBA/BuiltIn: Fix network byte order issues
2022-07-29 13:19:25 -04:00
JosJuice bab327eafa Android: Use AfterDirectoryInitializationRunner on FAB press
Without this, if the user finishes selecting a directory before
directory initialization finishes, MainPresenter.onDirectorySelected
will segfault when trying to read the MAIN_RECURSIVE_ISO_PATHS setting.

An alternative would be to use AfterDirectoryInitializationRunner
after the user selects the directory instead of before, but it might
be confusing for the user to deal with the usage statistics prompt
when they were expecting to add a folder.
2022-07-29 16:20:34 +02:00
JMC47 ae4fa53a9c
Merge pull request #10914 from JMC47/bbarename
BBA - Rename Built In BBA to BBA (HLE)
2022-07-29 10:16:51 -04:00
JMC47 205d78d780 BBA - Rename BBA Built In to BBA (HLE)
All of our BBA options are technically built in, so it made the BBA
Built In option kind of confusing as to what it did.  So rename it to
BBA HLE to make it more clear what it is doing and why it doesn't need a
TAP.
2022-07-29 10:06:44 -04:00
Sepalani 2de4d52021 BBA/BuiltIn: Fix network byte order issues 2022-07-29 11:33:36 +04:00
JMC47 3bf1ddc549
Merge pull request #10730 from AdmiralCurtiss/riivolution-sysfile-patches
Riivolution: Add custom extension to patch boot.bin, bi2.bin, and apploader.img.
2022-07-28 20:29:31 -04:00
Admiral H. Curtiss 000c9c7545
Merge pull request #10907 from shuffle2/pngend
SavePNG: make sure to finalize image file
2022-07-28 19:28:00 +02:00
Shawn Hoffman 25462f4a3c SavePNG: make sure to finalize image file 2022-07-28 10:12:36 -07:00
Mai e10d66270f
Merge pull request #10909 from JosJuice/volume-verifier-read-succeeded
VolumeVerifier: Fix read_succeeded condition
2022-07-28 12:05:03 -04:00
JosJuice 14c1a1c658 VolumeVerifier: Fix read_succeeded condition
We shouldn't set m_read_errors_occurred to true just because
is_data_needed was false.
2022-07-28 09:57:17 +02:00
Scott Mansell 1ea0c7752e
Merge pull request #10897 from Hibyehello/LogManager-Fix
LogManager: Dynamically get last log type
2022-07-28 11:54:22 +12:00
Shawn Hoffman f8b9034a28 Crypto/SHA1: add unittests 2022-07-27 01:07:48 -07:00
Shawn Hoffman 8939210d8a Common/Crypto/SHA1: implement accelerated versions 2022-07-27 01:07:48 -07:00
Shawn Hoffman bfa2a66c98 WIABlob: remove outdated mbedtls workaround 2022-07-26 22:16:37 -07:00
Shawn Hoffman dd29a54cf6 introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
Pokechu22 cc02471da2 DSPHLE: Support padded versions of the libaesnd uCode
This is used by libogc2 and libogc-rice.
2022-07-26 19:06:05 -07:00
Pokechu22 33b63a62d1 DSPHLE: Support padded version of libasnd uCode
This is used by libogc2 and libogc-rice.
2022-07-26 18:44:08 -07:00
Josh 7e75bcd36f
Use Dynamic last Log Type 2022-07-27 00:07:53 +02:00
Pokechu22 7a03b1fe16 UnitTests: Fix warnings from HermesText
Most of these correspond to changes made in devkitPro/libogc@b1b8ecab3a.

The numeric vlaues of ACC0 and ACC1 in Dolphin are different (see b06d38389b, though I'm not sure when this difference first appeared). Technically it's not even necessary to list the registers at the start like this anymore, but old programs do it, so it seems useful to have a test that covers it.

The binary itself does not need to be changed; the warnings were simply stating that "although you wrote $ACL0, the generated binary instead is using $ACC0" or similar; by changing the code to use $ACC0 directly the warnings are resolved.
2022-07-26 11:52:31 -07:00
JosJuice 97100290ee
Merge pull request #10885 from JosJuice/android-graphics-mods
Android: Add graphics mods support to GUI
2022-07-26 15:44:01 +02:00
Admiral H. Curtiss a9edf129e3
Merge pull request #10889 from shuffle2/spng
replace libpng with libspng
2022-07-26 12:53:04 +02:00
Admiral H. Curtiss 6b419c7ca3
Merge pull request #10876 from shuffle2/cpudetect
CPUDetect: improve win/arm64 support
2022-07-26 12:52:50 +02:00
Admiral H. Curtiss 9d15a1c5a1
Merge pull request #10858 from AdmiralCurtiss/mouse-center-hotkey
Add hotkey for centering mouse in render window.
2022-07-26 12:52:33 +02:00
Admiral H. Curtiss c7752f80e4
Merge pull request #10892 from Pokechu22/dsp-hle-aesnd-more-versions
DSPHLE: Support EDuke32 Wii libaesnd uCode
2022-07-26 11:36:18 +02:00
CasualPokePlayer bd27e18d51
Fix ARAM Expansion Writes
Looks like the memcpy here had its args in the wrong order.
2022-07-26 02:01:25 -07:00
Shawn Hoffman 76b4318b88 CPUDetect: improve win/arm64 support
read brand_string on macos/arm64
remove unused flags
report family/model info instead of vendor name
2022-07-25 21:21:11 -07:00
Pokechu22 1dcccb1f75 DSPHLE: Add warning to use of MAIL_TERMINATE 2022-07-25 20:35:43 -07:00
Pokechu22 e44b596f50 DSPHLE: Fix typos in libaesnd logging 2022-07-25 20:35:43 -07:00
Pokechu22 58d344e189 DSPHLE: Support EDuke32 Wii libaesnd uCode
This version is exclusive to EDuke32 Wii (see https://bugs.dolphin-emu.org/issues/12990).
2022-07-25 20:35:41 -07:00
Pokechu22 a6d08571bd DSPHLE: Move aesnd uCode hash constants into header 2022-07-25 20:32:02 -07:00
Pokechu22 4b179e01da DSPHLE: Move asnd uCode hash constants into header 2022-07-25 20:31:04 -07:00
Shawn Hoffman f92541fbd9 StripSpaces: only strip spaces
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
Shawn Hoffman acb10f0006 replace libpng with libspng 2022-07-25 18:32:16 -07:00
Admiral H. Curtiss e4ff49769c
Merge pull request #10888 from shuffle2/zlib-ng
replace zlib with zlib-ng
2022-07-26 02:25:17 +02:00
JMC47 bfd03cd1a4
Merge pull request #10793 from Pokechu22/dsp-hle-aesnd
DSPHLE: Add HLE version of libaesnd ucode
2022-07-25 05:12:53 -04:00
JosJuice 86bb290cc5
Merge pull request #10886 from OatmealDome/metal-minor-fixes
Metal: Prevent usage of macOS-only APIs on non-macOS platforms
2022-07-25 08:31:18 +02:00
Admiral H. Curtiss d14bd10cd7
Quartz: Handle mouse centering hotkey.
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2022-07-25 01:26:57 +02:00
Admiral H. Curtiss e0870166ef
XInput2: Handle mouse centering hotkey. 2022-07-25 01:26:56 +02:00
Admiral H. Curtiss d57d04bb04
DInput: Handle mouse centering hotkey. 2022-07-25 01:26:56 +02:00
Admiral H. Curtiss 4d27022d0e
Add hotkey for centering mouse in render window. 2022-07-25 00:59:47 +02:00
Shawn Hoffman b2f8456710 msbuild: set C standard to C17
not required but it seems nice
2022-07-24 14:33:37 -07:00
Shawn Hoffman c3b64012d1 replace zlib with zlib-ng
since the benefits are so high, don't link with shared zlib
2022-07-24 14:33:37 -07:00
OatmealDome 700162b8bd MTLUtil: Include TargetConditionals 2022-07-23 17:22:11 -04:00
OatmealDome 77f44f1600 MTLMain: Include TargetConditionals 2022-07-23 17:22:11 -04:00
OatmealDome b32b27ae9a MTLMain: Only compile NSView manipulation code on macOS 2022-07-23 17:22:04 -04:00
JosJuice e5a177ece9
Merge pull request #10868 from tellowkrinkle/UsesDSBFix
VideoCommon: Fix IsDualSrc check for dst blend factors
2022-07-23 22:14:07 +02:00
JosJuice 3bd2bca385 Android: Add warning if graphics mods are not enabled 2022-07-23 21:58:45 +02:00
JosJuice 8f410bff15 Android: Add graphics mods support to CheatsActivity 2022-07-23 21:58:45 +02:00
OatmealDome 8ad7fa0313 MTLUtil: Return invalid for non-supported texture formats on non-macOS platforms 2022-07-23 13:53:31 -04:00
OatmealDome 7edd3aff75 MTLUtil: Don't attempt to get all GPUs on non-macOS platforms 2022-07-23 13:53:22 -04:00
OatmealDome 50d3ad58df CMakeLists: Link videometal with Foundation 2022-07-23 13:53:15 -04:00
Pokechu22 6a7aa8f2c6 Convert CP/XF matrix indices mismatch panic alert to a warning
https://bugs.dolphin-emu.org/issues/12977 indicates that this happens on startup of Spider-Man 2, even in single-core. I don't have the game, so I can't directly determine why this is happening, but presumably real hardware does not hang in this case, so we can make it less obtrusive.
2022-07-23 09:01:22 -07:00
JosJuice 45f6d36c45 Android: Split AbstractCheat into ReadOnlyCheat and AbstractCheat
ReadOnlyCheat will be used by graphics mods.
2022-07-23 17:21:52 +02:00
JosJuice 41a26f76fa Android: Add Cheat.supportsCode method
Patches, AR codes and Gecko codes have an associated code that the GUI
can show, but graphics mods don't.
2022-07-23 17:21:46 +02:00
JosJuice 98e2817802 Android: Add setting for enabling graphics mods 2022-07-23 17:21:45 +02:00
JMC47 3d7b66bcfc
Merge pull request #10861 from JosJuice/android-new-sd
Android: Bring SD card settings up to date with DolphinQt
2022-07-23 07:59:19 -04:00
JosJuice a20d0e31d6 Android: Bring SD card settings up to date with DolphinQt 2022-07-23 13:28:34 +02:00
JosJuice c0cf6f04dd Android: Add "Broadband Adapter (Built In)" to settings
This makes the feature added in 01ada3850f available in the Android GUI.
2022-07-23 11:33:03 +02:00
JMC47 89c4fdeeea
Merge pull request #10754 from tellowkrinkle/Metal
VideoBackends: Add Metal backend
2022-07-23 01:57:35 -04:00
Pokechu22 5bbdf7ae15 ProcessorInterface: Reset both GPFifo and Fifo on PI_FIFO_RESET
Fixes https://bugs.dolphin-emu.org/issues/12981
2022-07-22 22:22:34 -07:00
Pokechu22 97412553f9 Add a more detailed comment about SPR_WPAR's BNE bit 2022-07-22 22:22:34 -07:00
Pokechu22 c06f203e98 MMU: Clarify masking on gather pipe address 2022-07-22 22:22:34 -07:00
Pokechu22 1c833ddc3c Create constant for GPFifo physical address 2022-07-22 22:22:33 -07:00
Pokechu22 b76f4dd5f8 ProcessorInterface: Remove unused fields 2022-07-22 22:20:26 -07:00
TellowKrinkle 6559c6b8ee VideoBackends:Multiple: Grammar fixes 2022-07-21 20:44:19 -05:00
TellowKrinkle a41345127f VideoBackends:Metal: Remove unified memory config
Not worth the extra code
2022-07-21 20:44:19 -05:00
TellowKrinkle 5065767abd VideoBackends:Metal: Avoid submitting draw calls with no vertices/indices 2022-07-21 20:44:19 -05:00
TellowKrinkle ee3f2b8fcb VideoBackends:Metal: Implement PerfQuery 2022-07-21 20:44:19 -05:00
TellowKrinkle c48035908c VideoBackends:Metal: Use unified memory path by default on all GPUs 2022-07-21 20:44:19 -05:00
TellowKrinkle 6ee0248eab VideoBackends:Metal: MSAA support 2022-07-21 20:44:19 -05:00
TellowKrinkle c0fd128171 VideoBackends:Metal: Use base vertex 2022-07-21 20:44:19 -05:00
TellowKrinkle 5742ccf8de VideoBackends:Metal: Cache pipelines
Metal pipelines hold less stuff than Dolphin pipelines, so duplicates will appear
2022-07-21 20:44:19 -05:00
TellowKrinkle e32213d031 VideoBackends:Metal: Create samplers on demand 2022-07-21 20:44:19 -05:00
TellowKrinkle 61705b05da VideoBackends:Metal: FBFetch for Intel GPUs 2022-07-21 20:44:19 -05:00
TellowKrinkle a5ef9dfd53 VideoBackends:Metal: Use DriverDetails for bugs 2022-07-21 20:44:19 -05:00
TellowKrinkle 716c0980d7 VideoBackends: Add Metal renderer 2022-07-21 20:44:19 -05:00
Admiral H. Curtiss df399b0995
Merge pull request #10878 from Pokechu22/btreal-allow-libusb-descriptor-errors
BTReal: Treat libusb_get_string_descriptor_ascii failure as non-fatal warning
2022-07-22 02:00:13 +02:00
JosJuice 57f106d521
Merge pull request #10625 from codedwrench/xlink-kai-android-support
Android: XLink Kai Android UI option
2022-07-21 18:25:16 +02:00
codedwrench 98c688ee68 Android: XLink Kai Android UI option 2022-07-21 13:48:17 +02:00
Pokechu22 6eaa4a4e89 DSPHLE: Add HLE version of libaesnd ucode 2022-07-20 18:41:47 -07:00
Pokechu22 5e64f453ab DSPHLE/ASnd: Rename m_next_command_is_voice_addr to m_next_mail_is_voice_addr 2022-07-20 18:41:47 -07:00
Pokechu22 75ae3b7ec4 DSPHLE: Fix comment in libasnd uCode 2022-07-20 18:41:47 -07:00
Pokechu22 76fd0479b8 JitAsm: Remove old commented-out code
I'm not sure what the XMM0 check was supposed to be, but the 0xCC008000 one is for the fifo and is handled elsewhere now (look for `optimizeGatherPipe`).
2022-07-20 16:38:54 -07:00
Léo Lam e40be6e8fd
Merge pull request #10865 from JosJuice/volume-verifier-ios-case
VolumeVerifier: Ignore case when looking for IOS on update partition
2022-07-20 20:41:55 +01:00
Admiral H. Curtiss a1e8e60c4c
IOS: Add IOSC::KeyEntry::misc_data to savestate. 2022-07-20 21:32:44 +02:00
Pokechu22 a23a7f7b10 BTReal: Treat libusb_get_string_descriptor_ascii failure as non-fatal warning 2022-07-20 11:21:23 -07:00
JosJuice 01e4ce54c8 Android: Call WiimoteReal::InitAdapterClass before controller init
Should fix https://bugs.dolphin-emu.org/issues/12980.
2022-07-19 23:00:21 +02:00
Admiral H. Curtiss b0b5faa793
Merge pull request #10874 from JosJuice/cmpr-layout
VideoCommon: Fix CMPR compute shader layout
2022-07-19 12:05:29 +02:00
Admiral H. Curtiss ec3cfc01c1
DiscIO/DirectoryBlob: Add callback to modify sys files before they're added to the disc. 2022-07-19 00:55:04 +02:00
Admiral H. Curtiss cc315cb7af
DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
Admiral H. Curtiss f5c132580c
DiscIO/DirectoryBlob: Add ContentSource that stores data locally in std::vector. 2022-07-19 00:55:03 +02:00
Admiral H. Curtiss 9e5bc98496
DiscIO/RiivolutionPatcher: Skip main.dol patches if no main.dol was given. 2022-07-19 00:55:03 +02:00
Admiral H. Curtiss fa30ba18f5
Merge pull request #10783 from JosJuice/frontend-controller-init
Require frontend to initialize controllers
2022-07-19 00:50:32 +02:00
Admiral H. Curtiss dd67d5fbc4
Merge pull request #10871 from shuffle2/logging
logging improvements
2022-07-18 19:05:08 +02:00
JosJuice 1a2bc2eff9 VideoCommon: Fix CMPR compute shader layout
Looks like a copy-paste gone wrong. The compute shaders for the other
formats use a group size of 8 * 8, whereas the CMPR compute shader
is supposed to use a flattened 64 * 1 as I understand it.
2022-07-18 18:56:50 +02:00
Shawn Hoffman 28828435bb Qt/LogWidget: remove extra space 2022-07-18 09:52:54 -07:00
Shawn Hoffman 0a15d2fcec cubeb: fix logged source file paths 2022-07-18 09:52:54 -07:00
Shawn Hoffman ad3e202af0 vs likes caps for guids in sln 2022-07-17 23:42:05 -07:00
TellowKrinkle 88c85ce471 VideoCommon: Fix IsDualSrc check for dst blend factors 2022-07-17 20:50:53 -05:00
Joon Park 319288de8e Fix OpenGL error on M1 Mac.
Followup to #10466. Resolves the following error:

ERROR: 0:85: '&' does not operate on 'uvec3' and 'int'
2022-07-17 08:54:39 -04:00
JosJuice dabad82219 Require frontend to initialize controllers
We currently have two different code paths for initializing controllers:
Either the frontend (DolphinQt) can do it, or if the frontend doesn't do
it, the core will do it automatically when booting. Having these two
paths has caused problems in the past due to only one frontend being
tested (see de7ef47548). I would like to get rid of the latter path to
avoid further problems like this.
2022-07-17 14:03:04 +02:00
JosJuice 2f3c0cdbc5 Split out controller initialization to UICommon 2022-07-17 14:02:03 +02:00
JosJuice 81a20a1d74 VolumeVerifier: Ignore case when looking for IOS on update partition
One of the Dragon Quest X expansions (S4SJGD) uses lowercase instead of
the usual uppercase for the IOS59 file on its update partition.
2022-07-17 09:20:12 +02:00
CasualPokePlayer 581fd2b1e3 Fix SYSCONF movie settings
The movie config layer is not active for recording, only playback. Thus, recording ends up stuck with default SYSCONF settings.
The fix is simply to add in the movie config layer when recording. The way it's done is a bit hacky, but seems to work.
2022-07-16 23:16:35 -07:00
JMC47 70b0b03c3c
Merge pull request #10747 from tellowkrinkle/LateUIDFixup
Add a post-cache shader UID fixup pass
2022-07-17 00:43:16 -04:00
JMC47 f1d23ff9a4
Merge pull request #10466 from Pokechu22/efb-copy-gamma
Accurately handle the copy filter and gamma for EFB and XFB copies
2022-07-17 00:07:50 -04:00
Admiral H. Curtiss 2ef069e0e8
Merge pull request #10833 from sepalani/BBA-log
NetworkCaptureLogger: Add GameCube BBA support
2022-07-16 21:44:08 +02:00
JosJuice c2b32916aa Android: Add subheadings to Wii config 2022-07-16 11:40:51 +02:00
OatmealDome 2eecfc8595 WiiPane: Adjust capitalization of conversion buttons and alert titles 2022-07-16 04:08:55 -04:00
OatmealDome 60aaa308bf WiiPane: Trim automatic SD sync checkbox string 2022-07-16 04:00:26 -04:00
Pokechu22 a6e06f38ad Add notes about precision of YUV->RGB conversion factors for XFB 2022-07-16 00:07:10 -07:00
Pokechu22 2f43889141 Software: Use hardware-verified numbers for RGB->YUV conversion 2022-07-16 00:07:10 -07:00
Pokechu22 e7339d63f1 Rework TextureConversionShader for hardware accuracy and simplicity 2022-07-16 00:07:10 -07:00
Pokechu22 b16ec5b6dc Rework TextureConverterShaderGen for hardware accuracy and simplicity 2022-07-16 00:07:10 -07:00
Pokechu22 791bd16b28 Restructure parameters to TetxureConverterShaderGen/TextureConversionShader
This will be used for later refactoring for increased accuracy.
2022-07-16 00:07:10 -07:00
TellowKrinkle 89ae060214 VideoCommon: Increase uniform stream buffer size to 64mb
Densha De Go uses 27mb per frame, and we want enough space for the CPU to be encoding one frame while the GPU is rendering the previous
2022-07-15 18:21:50 -05:00
TellowKrinkle fb5648541c VideoCommon: Remove dstalpha from BlendingState
It's not supported by any PC graphics API, and therefore completely unused
2022-07-15 15:31:47 -05:00
TellowKrinkle 991024173e VideoCommon: Always use fbfetch in ubershaders if available
Reduce the number of different pipelines needed.  Also works around drivers that break when you combine fbfetch with dual source blending
2022-07-15 15:31:47 -05:00
Pokechu22 d20094efa2 Add extra Low and High fields to CopyFilterCoefficients
This struct is the only one in BPMemory that uses u64 as its base.  These fields are to allow viewing it as two u32s instead.  It's not used by Dolphin right now, but it is used in the copy of BPMemory.h used by hwtests.
2022-07-15 12:29:40 -07:00
Pokechu22 bed278d3b7 Create dedicated enum for EFB/XFB gamma correction
This also changes the behavior for the invalid gamma value, which was confirmed to behave the same as 2.2.

Note that currently, the gamma value is only used for XFB copies, even though hardware testing indicates it also works for EFB copies.  This will be changed in a later commit.
2022-07-15 12:29:40 -07:00
Pokechu22 dd41a72378 Only use intensity formats if both intensity_fmt and auto_conv are set
auto_conv is normally always set for EFB copies, but hardware testing indicates that intensity_fmt does nothing if auto_conv is not set.
2022-07-15 12:29:40 -07:00
Pokechu22 cd2cc5fa22 Rename EFB copy bit 2 from yuv to unknown_bit
It was named yuv in 522746b2c2, but hardware testing indicates that that bit does nothing (the intensity format bit enables YUV conversion, instead).
2022-07-15 12:29:40 -07:00
Pokechu22 850e524514 Use fmt::to_string for texture format overlay
This required adding parentheses to the font used by that.
2022-07-15 12:29:40 -07:00
Pokechu22 290e62f179 Remove casts to integers for texture and EFB formats
The only remaining casts for these types that I know of are in TextureInfo (where format_name is set to the int version of the format, and since that affects filenames and probably would break resource packs, I'm not changing it) and in TextureDecoder_Common's TexDecoder_DrawOverlay, which will be handled separately.
2022-07-15 12:29:40 -07:00
Admiral H. Curtiss 89067e66f9
InputCommon: Get rid of static strings. 2022-07-15 19:53:10 +02:00
JosJuice 4e7b0f2129 Android: Add divider to landscape version of User Data activity 2022-07-15 19:32:03 +02:00
Admiral H. Curtiss 537fe33997
Merge pull request #10843 from Pokechu22/freelook-background-input
Free Look: Add background input setting (disabled by default)
2022-07-14 19:08:29 +02:00