Commit Graph

34233 Commits

Author SHA1 Message Date
iwubcode 2dc24a9148 VideoCommon: move cached texture asset to 'CustomAsset' common code 2023-06-20 18:59:55 -05:00
Admiral H. Curtiss 5ad2d86cc7
Merge pull request #11979 from nicovank/master
Minor fix: Rename Symbol constructor parameter to prevent shadowing
2023-06-21 00:54:30 +02:00
Charles Lombardo deb37f0846
Merge pull request #11964 from JosJuice/android-hide-infinity
Android: Hide Infinity Base in MenuFragment when not relevant
2023-06-20 17:11:18 -04:00
Nicolas van Kempen 4ef2f2c710 Rename Symbol constructor parameter to prevent shadowing 2023-06-20 13:38:31 -04:00
Admiral H. Curtiss 00bf5f55de
WiimoteReal/IOWin: Don't try to print error message for non-errors. 2023-06-20 01:54:59 +02:00
JosJuice 27db8d4123
Merge pull request #11935 from nitanmarcel/patch-1
Use getCacheDir if getExternalCacheDir returns null.
2023-06-19 20:47:27 +02:00
JosJuice cff3e22f84
Merge pull request #11926 from JosJuice/android-host-check
Android: Re-add host thread check
2023-06-19 20:37:59 +02:00
Admiral H. Curtiss 5d7b5822c9
Merge pull request #11972 from Minty-Meeo/string-improvements-part-1c
Replace std::ostringstream usage with fmt::format
2023-06-19 02:18:30 +02:00
get ffabb6c57b Replace std::ostringstream usage with fmt::format 2023-06-18 18:37:32 -05:00
Filoppi daddf4cd9c Qt: add color correction and HDR Qt settings widgets 2023-06-19 01:34:42 +03:00
Filoppi a2702c6e27 Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted.
To further increase the accuracy of the post process phase, I've added (scRGB) HDR support, which is necessary
to fully display the PAL and NTSC-J color spaces, and also to improve the quality of post process texture samplings and
do them in linear space instead of gamma space (which is very important when playing at low resolutions).
For SDR, the quality is also slightly increased, at least if any post process runs, as the buffer is now
R10G10B10A2 (on Vulkan, DX11 and DX12) if supported; previously it was R8G8B8A8 but the alpha bits were wasted.

Gamma correction is arguably the most important thing as Dolphin on Windows outputted in "sRGB" (implicitly)
as that's what Windows expects by default, though sRGB gamma is very different from the gamma commonly used
by video standards dating to the pre HDR era (roughly gamma 2.35).

Additionally, the addition of HDR support (which is pretty straight forward and minimal), added support for
our own custom AutoHDR shaders, which would allow us to achieve decent looking HDR in Dolphin games without
having to use SpecialK or Windows 11 AutoHDR. Both of which don't necessarily play nice with older games
with strongly different and simpler lighting. HDR should also be supported in Linux.
Development of my own AutoHDR shader is almost complete and will come next.

This has been carefully tested and there should be no regression in any of the different features that Dolphin
offers, like multisampling, stereo rendering, other post processes, etc etc.

Fixes: https://bugs.dolphin-emu.org/issues/8941

Co-authored-by: EndlesslyFlowering <EndlesslyFlowering@protonmail.com>
Co-authored-by: Dogway <lin_ares@hotmail.com>
2023-06-19 01:34:42 +03:00
Admiral H. Curtiss 9e06b6964b
Merge pull request #11963 from iwubcode/d3d12_fix
VideoBackends: fix d3d12 error when validation layers enabled
2023-06-19 00:33:40 +02:00
Admiral H. Curtiss 8039d10994
Merge pull request #11966 from Dentomologist/convert_xemitter_prefetchlevel_to_enum_class
xEmitter: Convert PrefetchLevel to enum class
2023-06-18 15:17:02 +02:00
Admiral H. Curtiss 2d18c9e079
Merge pull request #11976 from JosJuice/emitter-nodiscard
Arm64Emitter/x64Emitter: Use nodiscard for FixupBranch
2023-06-18 15:16:42 +02:00
Filoppi 0584f8ae2a Video: fix Vulkan RGBA10_2 format to the actual most common one (used as swapchain format) 2023-06-18 12:58:40 +03:00
JosJuice 39a8219767 Arm64Emitter/x64Emitter: Use nodiscard for FixupBranch
This should prevent future occurrences of the type of problem that was
fixed in b713042.
2023-06-18 09:10:20 +02:00
get 80575c4489 DITConfiguration: Use File::ReadFileToString 2023-06-17 19:38:15 -05:00
Dentomologist 04fcf68176 xEmitter: Convert PrefetchLevel to enum class 2023-06-17 16:41:32 -07:00
Admiral H. Curtiss b71304230c
Jit64: Fix trampolines after #11834. 2023-06-18 01:31:44 +02:00
Admiral H. Curtiss 93d9e90798
Merge pull request #11962 from Minty-Meeo/to-underlying
EnumUtils: Add Common::ToUnderlying
2023-06-17 20:04:25 +02:00
Lioncash 696087cae0 Qt/NetworkWidget: Get rid of some trivial sign conversions
In all instances, these variables should be signed rather than unsigned.
2023-06-17 10:48:49 -04:00
get 7523a62105 Change unnamed enum in NativeVertexFormat.h to u32 2023-06-17 08:13:57 -05:00
Admiral H. Curtiss 79d5850e6a
Merge pull request #11960 from Minty-Meeo/dolphin-tool-code-review-4
DolphinTool: Use {fmt} library
2023-06-17 14:18:21 +02:00
get 07ad75f34f EnumUtils: Add Common::ToUnderlying
Mirrors the C++23 <utility> function, std::to_underlying
2023-06-17 07:15:33 -05:00
JosJuice f16381adc5 Android: Hide Infinity Base in MenuFragment when not relevant 2023-06-17 11:57:53 +02:00
iwubcode ba74902bca VideoBackends: fix d3d12 validation layer error introduced by multi-output texture breaking logic ops support 2023-06-17 01:48:59 -05:00
get e67c196d2a DolphinTool: Less string copies 2023-06-16 21:51:06 -05:00
get 410c4ffe75 DolphinTool: Use {fmt} library 2023-06-16 21:45:59 -05:00
Admiral H. Curtiss 5029924ba1
Merge pull request #11954 from Minty-Meeo/dolphin-tool-code-review-3
DolphinTool: Use EXIT_SUCCESS and EXIT_FAILURE
2023-06-17 04:44:09 +02:00
Admiral H. Curtiss 1aef85a985
Merge pull request #11918 from TellowKrinkle/DPIScale
Improved DPI change handling
2023-06-17 04:07:13 +02:00
Admiral H. Curtiss 089d433996
Merge pull request #11956 from JosJuice/jitarm64-12-bit-asm
JitArm64: Micro-optimizations in fres routine
2023-06-17 04:00:22 +02:00
get 969eeb4b52 DolphinTool: Use EXIT_SUCCESS and EXIT_FAILURE 2023-06-16 21:00:10 -05:00
get 25c020cbe2 DolphinTool: Ditch OOP design 2023-06-16 20:39:16 -05:00
Admiral H. Curtiss 98b5d72ef1
Merge pull request #11951 from Minty-Meeo/dolphin-tool-code-review-1
DolphinTool: Sensible changes
2023-06-17 03:03:26 +02:00
get 31e78c40a1 DolphinTool: Sensible changes 2023-06-16 18:28:03 -05:00
Admiral H. Curtiss cbcf5bfac1
Merge pull request #11889 from Filoppi/patch-18
Fix video output having small black borders all the times
2023-06-16 17:59:51 +02:00
Admiral H. Curtiss 50301bf1d1
Merge pull request #11957 from lioncash/resource
UICommon/ResourcePack: Allow priority helpers to take arguments by const reference
2023-06-16 17:01:19 +02:00
Lioncash 653d6d059f UICommon/ResourcePack: Allow priority helpers to take arguments by const reference
There's nothing going on with behavior here that would prevent these
from being const qualified.

Also better communicates that this function isn't intended to modify the
given resource pack.
2023-06-16 10:20:50 -04:00
Admiral H. Curtiss f5eea4a957
Merge pull request #11834 from Dentomologist/xemitter_use_pseudonamed_parameter_force5bytes
XEmitter: Add enum class Force5Bytes
2023-06-16 15:46:36 +02:00
JosJuice 9c13436e2b JitArm64: Improve instruction scheduling in fres routine
We want to have a low number of instructions between the LDP and the
MADD so that the MADD can start immediately after the LDP finishes
even if we're on a lower-end in-order CPU.
2023-06-15 22:02:39 +02:00
JMC47 f0f8225ff8
Merge pull request #11424 from Pokechu22/jit-imm-loadstore-update
Jit64: Attempt to fix updating stores with an immediate value
2023-06-15 11:32:30 -04:00
TellowKrinkle 5b10a80401 CMake: Use targets for all optionally-external dependencies 2023-06-15 01:41:41 -05:00
JosJuice 5b5124d9ff JitArm64: Use immediates more in fres routine
Not sure why I didn't do this to begin with. Maybe I was under the
impression that the most significant bit of a 12-bit immediate was a
sign bit.
2023-06-14 23:27:58 +02:00
Admiral H. Curtiss bd125733f0
Merge pull request #11946 from Dentomologist/convert_fromwhichroot_to_enum_class
Common: Convert FromWhichRoot to enum class
2023-06-14 13:29:07 +02:00
Admiral H. Curtiss 88ff00a05c
Merge pull request #11942 from Dentomologist/convert_controlleremu_translatability_to_enum_class
ControllerEmu: Convert Translatability to enum class
2023-06-14 13:27:47 +02:00
Admiral H. Curtiss 79073c1a40
Merge pull request #11944 from lioncash/casts
PPCCache: Remove redundant reinterpret_casts
2023-06-14 13:25:48 +02:00
Dentomologist 7ff7c9e84f Common: Convert FromWhichRoot to enum class 2023-06-13 13:25:22 -07:00
Marcel Alexandru Nitan cff7a4bfd2 Use getCacheDir if getExternalCacheDir returns null. 2023-06-13 18:44:27 +00:00
JosJuice ae4d52c838 Android: Fix overlay d-pad not working until finger moves
A switch case fallthrough was overlooked when translating from Java to
Kotlin.
2023-06-13 20:37:59 +02:00
JosJuice c961c6c35a Android: Fix pressing up on overlay d-pad 2023-06-13 20:37:59 +02:00
Lioncash 708c986693 PPCCache: Remove redundant reinterpret_casts
The pointer is being passed to functions that take arguments as void*,
so we don't need to cast here.
2023-06-13 08:25:26 -04:00
Admiral H. Curtiss 6d16a09707
Merge pull request #11941 from Dentomologist/convert_blockingloop_stopmode_to_enum_class
Common: Convert BlockingLoop::StopMode to enum class
2023-06-13 11:47:20 +02:00
Admiral H. Curtiss 74c0519c54
Merge pull request #11930 from iwubcode/game_texture_validation
VideoCommon: don't reject game textures which have the wrong size
2023-06-13 11:43:35 +02:00
iwubcode 3e27fc7c0b VideoCommon: don't treat incorrect aspect ratio or sizes that aren't a multiple of native textures as an error 2023-06-12 21:19:29 -05:00
Dentomologist 527f8e783c ControllerEmu: Convert Translatability to enum class 2023-06-12 18:11:04 -07:00
Dentomologist 3c80f821c0 Common: Convert BlockingLoop::StopMode to enum class 2023-06-12 17:12:25 -07:00
Admiral H. Curtiss 63090d411d
Merge pull request #11940 from lioncash/debugiface
Common: Move DebugInterface.h into Core
2023-06-13 01:59:33 +02:00
JosJuice f11175d117 Revert "Android: Temporarily disable host thread check"
This reverts commit 361171fce0.
2023-06-12 23:39:42 +02:00
JosJuice 03f2f57edf Android: Add HostThreadLock where necessary 2023-06-12 23:39:42 +02:00
JosJuice 3519a7070d Android: And Lock and Unlock wrappers to HostThreadLock
This way we can ensure DeclareAsHostThread and UndeclareAsHostThread
are called when locking and unlocking.
2023-06-12 23:39:42 +02:00
JosJuice 5524042922 Android: Move host thread lock to a separate file 2023-06-12 23:39:42 +02:00
Dentomologist 4c2759f541 XEmitter: Add enum class Jump
Replace the bool parameter force5bytes in J, JMP, and J_CC with an enum
class Jump::Short/Near. Many callers set that parameter to the literal
'true', which was unclear if you didn't already know what it did.
2023-06-12 13:04:18 -07:00
JMC47 c8559a7933
Merge pull request #11863 from Minty-Meeo/nkit-extract
Remove NKit data when extracting a GCN/Wii disc volume
2023-06-12 15:37:02 -04:00
Admiral H. Curtiss 635bce2e7b
Merge pull request #11939 from lioncash/condition
BreakpointDialog: Mark breakpoint help text as translatable
2023-06-12 20:13:07 +02:00
Admiral H. Curtiss b4d161ff29
Merge pull request #11938 from lioncash/inits
ParallelProgressDialog: Initialize all data members
2023-06-12 20:07:57 +02:00
Admiral H. Curtiss b3f4006bb7
Merge pull request #11937 from lioncash/sky
SkylanderPortalWindow: Detranslate unnecessary strings
2023-06-12 20:07:37 +02:00
Lioncash 41df38cb7c Common: Move DebugInterface.h into Core
The base DebugInterface now depends on the Core's CPUThreadGuard, and
utilities in Common shouldn't be depending on Core facilities. So, we
can move this into the core library instead.
2023-06-12 10:35:31 -04:00
Lioncash 6e9afd9a73 BreakpointDialog: Mark breakpoint help text as translatable
We already mark the title of the dialog box as translatable, so it
would be a bit odd to not mark the containing text as translatable too.
2023-06-12 09:50:17 -04:00
Lioncash 9c0cd5c81a ParallelProgressDialog: Mark WasCanceled() as const
This doesn't alter any class state.
2023-06-12 09:38:10 -04:00
Lioncash b70894b950 ParallelProgressDialog: Initialize all data members
Ensures we always have a deterministic state.
2023-06-12 09:36:51 -04:00
Lioncash 001fe6ff61 SkylanderPortalWindow: Detranslate unnecessary strings
This doesn't need to be handled by translators, since they're not
user-displayed text or just don't need to be translated.

While we're at it, we don't need to copy each entry of the resulting
list.
2023-06-12 09:26:16 -04:00
Lioncash cbd2a720bb InfinityBaseWindow: Remove unnecessary system instance accessor
GetFigureList() is a static member function, so we can just call it
directly instead of going through the system instance.
2023-06-12 09:02:20 -04:00
Charles Lombardo 9a7e1652f3 Android: Target Java 17 2023-06-11 23:44:44 -04:00
Charles Lombardo 7822e662f5 Android: Update Kotlin to 1.8.21
Additionally updates the serialization plugin to match
2023-06-11 23:44:44 -04:00
Charles Lombardo 4934b6e30b Android: Update dependencies 2023-06-11 23:44:44 -04:00
Charles Lombardo 7c2c558646 Android: Upgrade to AGP 8.0.2 2023-06-11 23:44:44 -04:00
Charles Lombardo 4e4705e983
Merge pull request #11931 from t895/build-flag-fix
Android: Fix use of deprecated JVM flag
2023-06-11 23:37:53 -04:00
OatmealDome 1a0a1e8f12
Merge pull request #10976 from TellowKrinkle/StackFrames
Improve stack frames for profilers
2023-06-12 05:00:08 +02:00
Charles Lombardo 78f7463363 Android: Fix use of deprecated JVM flag 2023-06-11 22:54:31 -04:00
TellowKrinkle fc53dca7bd Qt: Send SizeChanged on DPI changes 2023-06-11 20:05:27 -05:00
TellowKrinkle d3110b9521 VideoCommon: Update imgui scale when dpi changes 2023-06-11 20:05:27 -05:00
Charles Lombardo 157deb5864
Merge pull request #11928 from K0bin/adrenotools-release-build-fix
Android: Fix Adrenotools in release builds
2023-06-11 17:02:36 -04:00
Charles Lombardo 8db5775a1b
Merge pull request #11927 from JosJuice/android-custom-file-extension-locale
Android: Check file name extensions locale-independently
2023-06-11 16:52:50 -04:00
Robin Kertels 6f55b26751
Android: Fix Adrenotools in release builds 2023-06-11 22:44:48 +02:00
JMC47 5c0581e990
Merge pull request #11867 from K0bin/adrenotools
Implement loading custom drivers on Android
2023-06-11 14:17:39 -04:00
JosJuice fee86e8536 Android: Check file name extensions locale-independently
A very minor bug that became more obvious when this code was translated
to Kotlin.
2023-06-11 19:03:49 +02:00
Robin Kertels 2da7d16b7c
Android: Implement a UI for Adrenotools 2023-06-11 13:53:31 +02:00
Robin Kertels 23bebc5270
VideoBackends:Vulkan: Allow loading custom drivers on Android
... using libadrenotools
2023-06-11 13:52:34 +02:00
Charles Lombardo 28785c5fad Android: Convert SaveLoadStateFragment to Kotlin 2023-06-11 00:53:26 -04:00
Charles Lombardo d26eddd4e2 Android: Convert MenuFragment to Kotlin 2023-06-11 00:53:26 -04:00
Charles Lombardo afb6719a1a Android: Convert EmulationFragment to Kotlin 2023-06-11 00:53:26 -04:00
Charles Lombardo 7e7cd6ff76 Android: Convert CustomFilePickerFragment to Kotlin 2023-06-11 00:53:26 -04:00
TellowKrinkle 28ed1f8be1 Common:AGL: Support making temporary contexts from the main thread
- Don't crash when making contexts from the main thread
- Don't focus the window when making a context
2023-06-10 14:25:45 -05:00
OatmealDome 7752e247f7
Merge pull request #11911 from TellowKrinkle/MTLParallelCompilation
VideoBackends:Metal: Enable shouldMaximizeConcurrentCompilation when available
2023-06-10 19:39:24 +02:00
Filoppi 03ec86f248
Qt: Add float config tooltip slider 2023-06-09 22:07:12 +02:00
JosJuice 061ec365a8 PPCAnalyst: Reduce number of iterations in ReorderInstructionsCore
We can utilize the fact that if swapping two instructions causes another
swap to become possible, that swap involves one of the two instructions
we just swapped. There's need to search for new swap opportunities as
far back as the beginning of the block; we can just go one step back.
2023-06-09 19:45:51 +02:00
Admiral H. Curtiss 8f51a9d2d8
Merge pull request #11699 from Pokechu22/gl-check-maximum-samples
OpenGL: Check the list of supported AA modes instead of hardcoding
2023-06-09 15:07:07 +02:00
Admiral H. Curtiss 092773ad0c
Merge pull request #11859 from iwubcode/backend-multi-output
VideoBackends: add support to allow rendering to multiple output targets
2023-06-09 13:40:21 +02:00
Pokechu22 ac48b2eea4 EnhancementsWidget: Handle gaps in AA mode list
Mesa (llvmpipe) only reports 4x MSAA, and doesn't report 2x (or 1x, but we implicitly add that). The old logic did not handle this correctly, causing selecting 4x to fail and fall back to None.

This also removes VideoUtils::GetAvailableAntialiasingModes, and thus VideoUtils entirely, as its only other function was removed in 1f74653501.
2023-06-08 22:07:41 -07:00
Pokechu22 b246a634d4 OpenGL: Check the list of supported AA modes instead of hardcoding 2023-06-08 22:07:41 -07:00