OatmealDome
18b2f6953d
PixelShaderGen: Add shader logic ops support on OpenGL ES
...
To do this, I had to decouple framebuffer fetch from shader blending. We need to be able to access framebuffer fetch input when using shader logic ops.
2021-12-06 22:36:40 -05:00
OatmealDome
a77ae14d94
UberShaderPixel: Add shader logic ops support on Metal
2021-12-06 22:36:40 -05:00
OatmealDome
e0837cb847
PixelShaderGen: Add shader logic ops support on Metal
2021-12-06 22:36:40 -05:00
OatmealDome
426c68b5a0
ShaderCache: Don't turn on logic ops approximation if framebuffer fetch is supported
2021-12-06 22:36:40 -05:00
OatmealDome
f87f704f43
ShaderCompiler: Add helpers for Metal framebuffer fetch
2021-12-06 22:36:39 -05:00
OatmealDome
40eb071562
ShaderCompiler: Add new helper define for input attachment binding
2021-12-06 22:36:39 -05:00
OatmealDome
c12b9b013b
PixelShaderGen: Add logic ops to pixel_shader_uid_data
2021-12-06 22:36:34 -05:00
OatmealDome
04ec02c06b
ConstantManager: Add logic ops to PixelShaderConstants
2021-11-24 17:52:26 -05:00
OatmealDome
8e72136eeb
VulkanContext: Set Apple GPUs as supporting framebuffer fetch
2021-11-24 17:52:24 -05:00
OatmealDome
fad11e3532
MoltenVK: Add patch to turn on framebuffer fetch in SPIRV-Cross
2021-11-24 17:51:52 -05:00
Scott Mansell
676c500cdc
Merge pull request #10214 from OatmealDome/mvk-better-incremental
...
MoltenVK: Don't run fetchDependencies unnecessarily
2021-11-25 11:47:36 +13:00
OatmealDome
730df73cb3
MoltenVK: Don't run fetchDependencies unnecessarily
2021-11-24 16:56:33 -05:00
JMC47
55e331836d
Merge pull request #10243 from JosJuice/jitarm64-push-size
...
JitArm64: Fix incorrect push size calculation
2021-11-24 16:53:06 -05:00
JosJuice
83d2d55aab
JitArm64: Fix incorrect push size calculation
2021-11-24 22:39:54 +01:00
Léo Lam
aa5cb35c86
Merge pull request #10143 from Pokechu22/png-compression-level
...
Add option for setting the PNG zlib compression level
2021-11-23 16:40:34 +01:00
Léo Lam
e1e3db13ba
Merge pull request #10228 from Filoppi/fix_android_input_deadlock
...
ControllerInterface: fix UpdateReferences() deadlock
2021-11-23 16:27:03 +01:00
Léo Lam
ba62019eb5
Merge pull request #10235 from AdmiralCurtiss/netplay-save-sync-boot
...
Netplay: Fix possible Wii save restore race condition between Netplay and CPU threads on game shutdown by making the Wii Save Sync data part of the BootParameters.
2021-11-23 16:19:56 +01:00
Mai M
cc9a75a87b
Merge pull request #10230 from JMC47/redsteel2
...
Compatibility Settings for Red Steel 2
2021-11-21 21:07:33 -05:00
Mai M
15ff70baba
Merge pull request #10231 from JosJuice/android-dir-init-livedata
...
Android: Make DirectoryInitialization use LiveData
2021-11-21 21:07:17 -05:00
Admiral H. Curtiss
6350c93ae1
NetPlay: Pass Wii FS sync data directly to game boot logic instead of indirectly through globals.
2021-11-22 01:33:46 +01:00
Admiral H. Curtiss
894773f607
Core/Boot: Add Wii FS sync data (for temp NAND/netplay) to BootSessionData and handle it in the boot and shutdown logic.
2021-11-22 01:33:45 +01:00
Admiral H. Curtiss
7b776f3769
NetPlay: Refactor game boot code path to allow passing BootSessionData through it.
2021-11-22 00:52:15 +01:00
Admiral H. Curtiss
83ad84061e
Core/Boot: Refactor storage of boot-to-savestate data into a separate class.
2021-11-22 00:35:35 +01:00
Léo Lam
d5b917a6c2
Merge pull request #10237 from AdmiralCurtiss/netplay-server-crash
...
NetPlayServer: Clear remaining m_players when netplay thread ends so that their destructors can run while the ENetHost still exists.
2021-11-21 22:04:12 +01:00
JMC47
37247a51a7
Merge pull request #10240 from AdmiralCurtiss/mgba-save-import-export
...
GBA: Add import and export save options to context menu.
2021-11-21 15:55:55 -05:00
Admiral H. Curtiss
8488ff6884
GBA: Add import and export save options to context menu.
2021-11-21 18:08:23 +01:00
Mai M
05ecff199f
Merge pull request #10232 from JosJuice/android-minify
...
Android: Enable R8 code shrinking
2021-11-21 04:50:03 -05:00
Mai M
138847f98e
Merge pull request #10239 from JosJuice/android-mmu
...
Android: Add MMU setting to GUI
2021-11-21 04:49:07 -05:00
JosJuice
77aa2cd04e
Android: Add MMU setting to GUI
...
Now that we have fast MMU emulation on AArch64, there's no
reason to keep excluding this from the GUI like we've been doing.
2021-11-21 09:38:56 +01:00
JMC47
e716349426
Merge pull request #10238 from PatrickFerry/add-mmu-games
...
Gameini: Enable MMU for some games
2021-11-21 01:35:15 -05:00
Patrick Ferry
f8ea167b1f
GameSettings: Enable MMU for We Love Golf!
2021-11-21 05:20:30 +00:00
Patrick Ferry
715a80ef57
GameSettings: Enable MMU and Set Texture Cache Accuracy to "Medium" for 007: From Russia with Love
2021-11-21 05:19:18 +00:00
JMC47
d2ca1037d9
Merge pull request #10162 from JosJuice/jitarm64-memcheck
...
JitArm64: Implement memcheck
2021-11-20 23:36:43 -05:00
Admiral H. Curtiss
e2c4cf49e2
NetPlayServer: Clear remaining m_players when netplay thread ends so that their destructors can run while the ENetHost still exists.
2021-11-21 00:18:44 +01:00
JosJuice
5490797867
JitArm64: Implement memcheck for psq_lXX/psq_stXX with update
2021-11-20 23:39:27 +01:00
JosJuice
61c73061e9
JitArm64: Implement memcheck for psq_lXX/psq_stXX without update
2021-11-20 23:39:27 +01:00
JosJuice
9e43796912
JitArm64: Allow passing temp FPR to EmitMemcheck
...
Small optimization. If the caller already has an FPR that
it isn't using, might as well pass it on to fpr.Flush.
2021-11-20 23:39:27 +01:00
JosJuice
89301b1f91
JitArm64: Implement memcheck for lfXX/stfXX with update
2021-11-20 23:39:27 +01:00
JosJuice
8c96e60cd1
JitArm64: Implement memcheck for lfXX/stfXX without update
2021-11-20 23:39:27 +01:00
JosJuice
1c8ddcdda1
JitArm64: Implement memcheck for dcbz
2021-11-20 23:39:27 +01:00
JosJuice
4fe15e788f
JitArm64: Implement memcheck for lmw/stmw
2021-11-20 23:39:27 +01:00
JosJuice
b4ffdce800
JitArm64: Implement memcheck for lXX/stX with update
2021-11-20 23:39:27 +01:00
JosJuice
662ae570a0
JitArm64: Make EmitBackpatchRoutine support saving W0
...
Being able to preserve the address register is useful for the
next commit, and W0 is the address register used for loads. Saving
the address register used for stores, W1, was already supported.
2021-11-20 23:39:27 +01:00
JosJuice
e316d0e94f
JitArm64: Don't update dest reg when load triggers exception, part 2
...
If a host register has been newly allocated for the destination
guest register, and the load triggers an exception, we must make
sure to not write the old value in the host register into ppcState.
This commit achieves this by not marking the register as dirty
until after the load is done.
2021-11-20 23:39:26 +01:00
JosJuice
96190887ce
JitArm64: Don't update dest reg when load triggers exception
...
Fixes a problem introduced in the previous commit.
2021-11-20 23:39:26 +01:00
JosJuice
ab1ceee16f
JitArm64: Implement memcheck for lXX/stX without update
2021-11-20 23:39:26 +01:00
JosJuice
8c905e152a
JitArm64: Make WriteConditionalExceptionExit more flexible
...
You can now specify an already allocated register for it to use as a
temporary register, and it also supports being called while in farcode.
2021-11-20 23:37:02 +01:00
JMC47
e5a4a86672
Merge pull request #10055 from JosJuice/jitarm64-reuse-memory
...
JitArm64: Codegen space reuse
2021-11-20 17:35:24 -05:00
Filoppi
1badceb455
ControllerInterface: fix UpdateReferences() deadlock
...
Removed useless locks to DeviceContainer::m_devices_mutex, as they were all already protected by m_devices_population_mutex.
We have no interest in blocking other threads that were potentially reading devices at the same time so this seems fine.
This simplifies the code, and I've adjusted a few comments which mentioned possible deadlock that should now be totally gone.
The deadlock could have happen if a thread directly called EmulatedController::UpdateReferences(), while another another thread also reached EmulatedController::UpdateReferences() within a call to ControllerInterface::UpdateDevices(), as the mentioned function locked both the DeviceContainer::m_devices_mutex and s_get_state_mutex at the same time.
The deadlock was frequent on game emulation startup on Android, due to the UpdateReferences() call in InputConfig::LoadConfig() and the UI thread triggering calls to ControllerInterface::UpdateDevices().
It could also have happened on Desktop if a user pressed "Refresh Devices" manually in the UI while the input config was loading.
Also brought some UpdateReferences() comments and thread safety fixes from https://github.com/dolphin-emu/dolphin/pull/9489
2021-11-20 16:54:36 +02:00
JMC47
6ca2897d20
Merge pull request #10233 from AdmiralCurtiss/riivolution-case-sensitive
...
RiivolutionPatcher: Use case-insensitive filename comparison when searching for files in a folder patch.
2021-11-19 21:42:27 -05:00