Updated DiscordRPC, fixed TTYD and fixed Android compiling
This commit is contained in:
parent
4ce69bc41f
commit
f627a085d3
|
@ -1 +1 @@
|
||||||
Subproject commit 90542a476c8ef3288039e2443a775e48db279173
|
Subproject commit 326d8b43e365352ba3ccadf388d989082fe0f2a6
|
|
@ -1 +1 @@
|
||||||
Subproject commit 9c0f5d3ecb06d2c93c2b59becb9b3b763213e74e
|
Subproject commit 80477f635345e8f13efc512d84b01b94cad92cd9
|
|
@ -186,7 +186,7 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.create<Delete>("ktlintReset") {
|
tasks.create<Delete>("ktlintReset") {
|
||||||
delete(File(buildDir.path + File.separator + "intermediates/ktLint"))
|
delete(File(layout.buildDirectory.toString() + File.separator + "intermediates/ktLint"))
|
||||||
}
|
}
|
||||||
|
|
||||||
val showFormatHelp = {
|
val showFormatHelp = {
|
||||||
|
@ -203,13 +203,6 @@ ktlint {
|
||||||
version.set("0.47.1")
|
version.set("0.47.1")
|
||||||
android.set(true)
|
android.set(true)
|
||||||
ignoreFailures.set(false)
|
ignoreFailures.set(false)
|
||||||
disabledRules.set(
|
|
||||||
setOf(
|
|
||||||
"no-wildcard-imports",
|
|
||||||
"package-name",
|
|
||||||
"import-ordering"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
reporters {
|
reporters {
|
||||||
reporter(ReporterType.CHECKSTYLE)
|
reporter(ReporterType.CHECKSTYLE)
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,8 @@ SystemSettings DefaultSystemSettings() {
|
||||||
settings.version = 0x140000;
|
settings.version = 0x140000;
|
||||||
settings.flags = 7;
|
settings.flags = 7;
|
||||||
|
|
||||||
settings.rebootless_system_version = {.version = 38, .reserved = 1, .display_version = 38};
|
settings.rebootless_system_version =
|
||||||
|
RebootlessSystemUpdateVersion{.version = 38, .reserved = {1}, .display_version = {38}};
|
||||||
|
|
||||||
settings.mii_author_id = Common::UUID::MakeDefault();
|
settings.mii_author_id = Common::UUID::MakeDefault();
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,8 @@ SystemSettings DefaultSystemSettings() {
|
||||||
settings.version = 0x140000;
|
settings.version = 0x140000;
|
||||||
settings.flags = 7;
|
settings.flags = 7;
|
||||||
|
|
||||||
settings.rebootless_system_version = {.version = 38, .reserved = 1, .display_version = 38};
|
settings.rebootless_system_version =
|
||||||
|
RebootlessSystemUpdateVersion{.version = 38, .reserved = {1}, .display_version = {38}};
|
||||||
|
|
||||||
settings.color_set_id = ColorSet::BasicWhite;
|
settings.color_set_id = ColorSet::BasicWhite;
|
||||||
|
|
||||||
|
|
|
@ -38,10 +38,7 @@ enum class IoMode : u32 {
|
||||||
};
|
};
|
||||||
|
|
||||||
// This is nn::ssl::sf::OptionType
|
// This is nn::ssl::sf::OptionType
|
||||||
enum class OptionType : u32 {
|
enum class OptionType : u32 { DoNotCloseSocket = 0, GetServerCertChain = 1, EnableAlpn = 3 };
|
||||||
DoNotCloseSocket = 0,
|
|
||||||
GetServerCertChain = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
// This is nn::ssl::sf::SslVersion
|
// This is nn::ssl::sf::SslVersion
|
||||||
struct SslVersion {
|
struct SslVersion {
|
||||||
|
@ -96,8 +93,8 @@ public:
|
||||||
{23, nullptr, "GetOption"},
|
{23, nullptr, "GetOption"},
|
||||||
{24, nullptr, "GetVerifyCertErrors"},
|
{24, nullptr, "GetVerifyCertErrors"},
|
||||||
{25, nullptr, "GetCipherInfo"},
|
{25, nullptr, "GetCipherInfo"},
|
||||||
{26, nullptr, "SetNextAlpnProto"},
|
{26, &ISslConnection::SetNextAlpnProto, "SetNextAlpnProto"},
|
||||||
{27, nullptr, "GetNextAlpnProto"},
|
{27, &ISslConnection::GetNextAlpnProto, "GetNextAlpnProto"},
|
||||||
{28, nullptr, "SetDtlsSocketDescriptor"},
|
{28, nullptr, "SetDtlsSocketDescriptor"},
|
||||||
{29, nullptr, "GetDtlsHandshakeTimeout"},
|
{29, nullptr, "GetDtlsHandshakeTimeout"},
|
||||||
{30, nullptr, "SetPrivateOption"},
|
{30, nullptr, "SetPrivateOption"},
|
||||||
|
@ -142,6 +139,7 @@ private:
|
||||||
bool get_server_cert_chain = false;
|
bool get_server_cert_chain = false;
|
||||||
std::shared_ptr<Network::SocketBase> socket;
|
std::shared_ptr<Network::SocketBase> socket;
|
||||||
bool did_handshake = false;
|
bool did_handshake = false;
|
||||||
|
bool enable_alpn = false;
|
||||||
|
|
||||||
Result SetSocketDescriptorImpl(s32* out_fd, s32 fd) {
|
Result SetSocketDescriptorImpl(s32* out_fd, s32 fd) {
|
||||||
LOG_DEBUG(Service_SSL, "called, fd={}", fd);
|
LOG_DEBUG(Service_SSL, "called, fd={}", fd);
|
||||||
|
@ -381,6 +379,10 @@ private:
|
||||||
case OptionType::GetServerCertChain:
|
case OptionType::GetServerCertChain:
|
||||||
get_server_cert_chain = static_cast<bool>(parameters.value);
|
get_server_cert_chain = static_cast<bool>(parameters.value);
|
||||||
break;
|
break;
|
||||||
|
case OptionType::EnableAlpn:
|
||||||
|
LOG_ERROR(Service_SSL, "(STUBBED) called.");
|
||||||
|
enable_alpn = static_cast<bool>(parameters.value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_WARNING(Service_SSL, "Unknown option={}, value={}", parameters.option,
|
LOG_WARNING(Service_SSL, "Unknown option={}, value={}", parameters.option,
|
||||||
parameters.value);
|
parameters.value);
|
||||||
|
@ -389,6 +391,20 @@ private:
|
||||||
IPC::ResponseBuilder rb{ctx, 2};
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
rb.Push(ResultSuccess);
|
rb.Push(ResultSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetNextAlpnProto(HLERequestContext& ctx) {
|
||||||
|
LOG_ERROR(Service_SSL, "(STUBBED) called.");
|
||||||
|
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(ResultSuccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GetNextAlpnProto(HLERequestContext& ctx) {
|
||||||
|
LOG_ERROR(Service_SSL, "(STUBBED) called.");
|
||||||
|
|
||||||
|
IPC::ResponseBuilder rb{ctx, 3};
|
||||||
|
rb.Push(ResultSuccess);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class ISslContext final : public ServiceFramework<ISslContext> {
|
class ISslContext final : public ServiceFramework<ISslContext> {
|
||||||
|
|
|
@ -24,7 +24,7 @@ DiscordImpl::DiscordImpl(Core::System& system_) : system{system_} {
|
||||||
DiscordEventHandlers handlers{};
|
DiscordEventHandlers handlers{};
|
||||||
// The number is the client ID for sudachi, it's used for images and the
|
// The number is the client ID for sudachi, it's used for images and the
|
||||||
// application name
|
// application name
|
||||||
Discord_Initialize("712465656758665259", &handlers, 1, nullptr);
|
Discord_Initialize("1223291656732934377", &handlers, 1, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
DiscordImpl::~DiscordImpl() {
|
DiscordImpl::~DiscordImpl() {
|
||||||
|
|
|
@ -1197,6 +1197,10 @@ void RasterizerOpenGL::SyncBlendState() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RasterizerOpenGL::IsAnyFloat(Tegra::Engines::Maxwell3D::Regs::VertexAttribute attribute) {
|
||||||
|
return attribute.type == Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type::Float;
|
||||||
|
};
|
||||||
|
|
||||||
void RasterizerOpenGL::SyncLogicOpState() {
|
void RasterizerOpenGL::SyncLogicOpState() {
|
||||||
auto& flags = maxwell3d->dirty.flags;
|
auto& flags = maxwell3d->dirty.flags;
|
||||||
if (!flags[Dirty::LogicOp]) {
|
if (!flags[Dirty::LogicOp]) {
|
||||||
|
@ -1205,7 +1209,16 @@ void RasterizerOpenGL::SyncLogicOpState() {
|
||||||
flags[Dirty::LogicOp] = false;
|
flags[Dirty::LogicOp] = false;
|
||||||
|
|
||||||
const auto& regs = maxwell3d->regs;
|
const auto& regs = maxwell3d->regs;
|
||||||
if (regs.logic_op.enable) {
|
|
||||||
|
bool has_float = false;
|
||||||
|
|
||||||
|
if (std::any_of(regs.vertex_attrib_format.begin(), regs.vertex_attrib_format.end(),
|
||||||
|
[&](Tegra::Engines::Maxwell3D::Regs::VertexAttribute attribute) {
|
||||||
|
return IsAnyFloat(attribute);
|
||||||
|
}))
|
||||||
|
has_float = true;
|
||||||
|
|
||||||
|
if (regs.logic_op.enable && !has_float) {
|
||||||
glEnable(GL_COLOR_LOGIC_OP);
|
glEnable(GL_COLOR_LOGIC_OP);
|
||||||
glLogicOp(MaxwellToGL::LogicOp(regs.logic_op.op));
|
glLogicOp(MaxwellToGL::LogicOp(regs.logic_op.op));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -236,6 +236,8 @@ private:
|
||||||
void QueryFallback(GPUVAddr gpu_addr, VideoCommon::QueryType type,
|
void QueryFallback(GPUVAddr gpu_addr, VideoCommon::QueryType type,
|
||||||
VideoCommon::QueryPropertiesFlags flags, u32 payload, u32 subreport);
|
VideoCommon::QueryPropertiesFlags flags, u32 payload, u32 subreport);
|
||||||
|
|
||||||
|
bool IsAnyFloat(Tegra::Engines::Maxwell3D::Regs::VertexAttribute attribute);
|
||||||
|
|
||||||
Tegra::GPU& gpu;
|
Tegra::GPU& gpu;
|
||||||
Tegra::MaxwellDeviceMemoryManager& device_memory;
|
Tegra::MaxwellDeviceMemoryManager& device_memory;
|
||||||
|
|
||||||
|
|
|
@ -1310,12 +1310,25 @@ void RasterizerVulkan::UpdateDepthBiasEnable(Tegra::Engines::Maxwell3D::Regs& re
|
||||||
[enable](vk::CommandBuffer cmdbuf) { cmdbuf.SetDepthBiasEnableEXT(enable != 0); });
|
[enable](vk::CommandBuffer cmdbuf) { cmdbuf.SetDepthBiasEnableEXT(enable != 0); });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RasterizerVulkan::IsAnyFloat(Tegra::Engines::Maxwell3D::Regs::VertexAttribute attribute) {
|
||||||
|
return attribute.type == Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type::Float;
|
||||||
|
};
|
||||||
|
|
||||||
void RasterizerVulkan::UpdateLogicOpEnable(Tegra::Engines::Maxwell3D::Regs& regs) {
|
void RasterizerVulkan::UpdateLogicOpEnable(Tegra::Engines::Maxwell3D::Regs& regs) {
|
||||||
if (!state_tracker.TouchLogicOpEnable()) {
|
if (!state_tracker.TouchLogicOpEnable()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
scheduler.Record([enable = regs.logic_op.enable](vk::CommandBuffer cmdbuf) {
|
|
||||||
cmdbuf.SetLogicOpEnableEXT(enable != 0);
|
scheduler.Record([&, regs](vk::CommandBuffer cmdbuf) {
|
||||||
|
bool has_float = false;
|
||||||
|
|
||||||
|
if (std::any_of(regs.vertex_attrib_format.begin(), regs.vertex_attrib_format.end(),
|
||||||
|
[&](Tegra::Engines::Maxwell3D::Regs::VertexAttribute attribute) {
|
||||||
|
return IsAnyFloat(attribute);
|
||||||
|
}))
|
||||||
|
has_float = true;
|
||||||
|
|
||||||
|
cmdbuf.SetLogicOpEnableEXT((regs.logic_op.enable != 0 && !has_float) ? true : false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -180,6 +180,8 @@ private:
|
||||||
|
|
||||||
void UpdateVertexInput(Tegra::Engines::Maxwell3D::Regs& regs);
|
void UpdateVertexInput(Tegra::Engines::Maxwell3D::Regs& regs);
|
||||||
|
|
||||||
|
bool IsAnyFloat(Tegra::Engines::Maxwell3D::Regs::VertexAttribute attribute);
|
||||||
|
|
||||||
Tegra::GPU& gpu;
|
Tegra::GPU& gpu;
|
||||||
Tegra::MaxwellDeviceMemoryManager& device_memory;
|
Tegra::MaxwellDeviceMemoryManager& device_memory;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue