diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2023-12-21 00:22:16 -0600 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2023-12-21 00:36:44 -0600 |
| commit | 79648e1c24eac81f54365bbcb6dbc49ad6b16b1c (patch) | |
| tree | 3bfa26c32725b5116ecaa32cd0218ed0e10b73c0 /Source/Core/VideoCommon/GraphicsModSystem | |
| parent | 70b7a59456164606833ebe45e7d790b8f03aab7a (diff) | |
VideoCommon: revert max pixel shader samplers back to 8 for Android devices.
It was reported that some games (Zelda Wind Waker and Zelda Twilight Princess but others may also exhibit the issue) have graphical issues with the max pixel samplers set to 16 on some Android devices (ex: Pixel6); since this was increased for a performance heavy feature (custom shaders) just disable it for now. In the future, this could be handled more elegantly
Diffstat (limited to 'Source/Core/VideoCommon/GraphicsModSystem')
| -rw-r--r-- | Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionFactory.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionFactory.cpp b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionFactory.cpp index 6ff64aa038..57f7e2f313 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionFactory.cpp +++ b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionFactory.cpp @@ -3,6 +3,9 @@ #include "VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionFactory.h" +#include "Common/Logging/Log.h" + +#include "VideoCommon/Constants.h" #include "VideoCommon/GraphicsModSystem/Runtime/Actions/CustomPipelineAction.h" #include "VideoCommon/GraphicsModSystem/Runtime/Actions/MoveAction.h" #include "VideoCommon/GraphicsModSystem/Runtime/Actions/PrintAction.h" @@ -32,7 +35,16 @@ std::unique_ptr<GraphicsModAction> Create(std::string_view name, const picojson: } else if (name == "custom_pipeline") { +#ifdef ANDROID + // Custom shaders currently need more than 8 pixel samplers + // to be used with textures, rather than make things complicated + // just disable the feature for Android which has issues + ERROR_LOG_FMT(VIDEO, "Android needs more than 8 pixel samplers to function, {} provided", + VideoCommon::MAX_PIXEL_SHADER_SAMPLERS); + return nullptr; +#else return CustomPipelineAction::Create(json_data, std::move(library)); +#endif } return nullptr; |
