Commit graph

38230 commits

Author SHA1 Message Date
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
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
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
8209f96a4f Add Force Progressive Patch for Egg Mania
This patch substitutes field rendering with full frame rendering in the
NTSC and NTSC-J versions of Eggmania.  This allows Dolphin's
"Force Progressive" hack to work with this title.

Codes originally from Swiss, written by Extrems.
2022-10-27 20:07:35 -04: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
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
Admiral H. Curtiss
060d928d49
Merge pull request #11206 from JMC47/deepakini
Add Safe Texture Cache for Deepak Chopra's Leela
2022-10-25 10:35:12 +02: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
JMC47
5c24d7bd8d Add Safe Texture Cache for Deepak Chopra's Leela
Fixes missing text issues.
2022-10-24 19:19:32 -04: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
JMC47
4ab47231bc
Merge pull request #11200 from Pokechu22/lego-indiana-jones-missing-color-value-is-a-hack
GameSettings: Properly set MissingColorValue for Lego Indiana Jones 1
2022-10-23 20:33:47 -04:00
Pokechu22
e4a02f3229 GameSettings: Properly set MissingColorValue for Lego Indiana Jones 1
In 3465b2af27 (#10937) I incorrectly put it under [Video_Settings] instead of [Video_Hacks], so it didn't work. https://bugs.dolphin-emu.org/issues/12987 should now properly be fixed.
2022-10-23 17:01:58 -07: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
JosJuice
a988b6ab34 Translation resources sync with Transifex 2022-10-23 22:12:53 +02: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