Commit Graph

38198 Commits

Author SHA1 Message Date
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
JMC47 5488d3b125
Merge pull request #11239 from Tilka/ogl
OGL: fix compute shader labels
2022-11-01 02:18:37 -04:00
Tilka 12b204d92a
Merge pull request #11241 from shuffle2/revert-11234-updater
Revert "MacUpdater: test that os version check is working"
2022-11-01 02:04:41 +00: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
Admiral H. Curtiss 4955af5e27
Merge pull request #11238 from K0bin/zero-descriptor-size
VideoBackends:Vulkan: Fix 0 size descriptor pools
2022-11-01 00:19:47 +01: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
JosJuice d3718b1b81 Translation resources sync with Transifex 2022-10-30 22:39:29 +01: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 2f80928be3
Merge pull request #11216 from JMC47/OwlsofGaINI
Disable "Force Texture Filtering" in Owls of Ga'Hoole
2022-10-30 13:36:46 -04: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
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
Tilka a1e41f305e
Merge pull request #11229 from Tilka/verifier
VolumeVerifier: fix bogus "serial/version missing" error
2022-10-29 21:45:52 +01: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
Admiral H. Curtiss 0716fa3c52
Merge pull request #11224 from iwubcode/d3d12_subresource
VideoBackends: fix d3d12 subresource calculation
2022-10-29 05:09:22 +02: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
Admiral H. Curtiss c624629dfd
Merge pull request #11223 from JMC47/dkcrfiltering
Disable Force Texture Filtering in DKCR
2022-10-28 18:47:04 +02:00
JMC47 1049ae629e Disable Force Texture Filtering in DKCR
This enhancement causes a rather distracting outline around the main characters.
2022-10-28 01:13:27 -04:00
Admiral H. Curtiss 904551fdb9
Merge pull request #11218 from JMC47/pxdmmu
Enable MMU in Pokemon XD
2022-10-28 04:24:44 +02:00
JMC47 8080ebcd76 Enable MMU in Pokemon XD
Fixes invalid read spam during normal battles and Pokemon Bingo.
2022-10-27 16:29:53 -04:00
JosJuice 5ee7a55588
Merge pull request #11217 from JMC47/nsmbwvertexrounding
Disable Vertex Rounding in New Super Mario Bros. Wii
2022-10-27 20:48:27 +02:00
JosJuice 59c8358e40
Merge pull request #11215 from JMC47/wiiplayvertexrounding
Disable Vertex Rounding in Wii Play
2022-10-27 20:32:05 +02:00
JMC47 895e5ca3e3 Disable Vertex Rounding in New Super Mario Bros. Wii
Vertex Rounding causes severe animation issues on 3D models,
so let's disable it.  Also correct the game title to match the wiki.
2022-10-27 14:17:42 -04:00
JMC47 1158fab3b7 Disable Vertex Rounding in Wii Play
Prevents severe graphical issues in "Tanks" Minigame.
2022-10-27 14:13:45 -04:00
JMC47 76ce7da022 Disable "Force Texture Filtering" in Owls of Ga'Hoole
Fixes broken FMV visuals.
2022-10-27 00:56:06 -04:00
JoshuaMK e2f4400f49 Make SetPatch responsible for overwriting old patches 2022-10-26 22:46:49 -05:00
Pokechu22 1d86a48db6
Merge pull request #11214 from Pokechu22/GraphicsSettings-unused-FreelookControlType
GraphicsSettings: Remove unused FreelookControlType enum forward declaration
2022-10-26 16:43:05 -07:00
Pokechu22 2f3805e1b4 GraphicsSettings: Remove unused FreelookControlType enum forward declaration 2022-10-26 16:23:13 -07:00
Tilka d367b3ec3b
Merge pull request #11160 from Pokechu22/vertexloader-no-initializer-workaround-functions
VertexLoader: Remove "too many initializer values" workaround functions
2022-10-26 06:30:23 +01:00
Jordan Woyak 4fc05dd025 DolphinQt: Fix window focus from unpausing after a manual pause. 2022-10-25 19:39:41 -05:00