|
@@ -494,7 +494,9 @@ private:
|
|
|
|
|
|
|
|
if (transaction == TransactionId::Connect) {
|
|
if (transaction == TransactionId::Connect) {
|
|
|
IGBPConnectRequestParcel request{ctx.ReadBuffer()};
|
|
IGBPConnectRequestParcel request{ctx.ReadBuffer()};
|
|
|
- IGBPConnectResponseParcel response{1280, 720};
|
|
|
|
|
|
|
+ IGBPConnectResponseParcel response{
|
|
|
|
|
+ static_cast<u32>(1280 * Settings::values.resolution_factor),
|
|
|
|
|
+ static_cast<u32>(720 * Settings::values.resolution_factor)};
|
|
|
ctx.WriteBuffer(response.Serialize());
|
|
ctx.WriteBuffer(response.Serialize());
|
|
|
} else if (transaction == TransactionId::SetPreallocatedBuffer) {
|
|
} else if (transaction == TransactionId::SetPreallocatedBuffer) {
|
|
|
IGBPSetPreallocatedBufferRequestParcel request{ctx.ReadBuffer()};
|
|
IGBPSetPreallocatedBufferRequestParcel request{ctx.ReadBuffer()};
|
|
@@ -670,11 +672,15 @@ private:
|
|
|
rb.Push(RESULT_SUCCESS);
|
|
rb.Push(RESULT_SUCCESS);
|
|
|
|
|
|
|
|
if (Settings::values.use_docked_mode) {
|
|
if (Settings::values.use_docked_mode) {
|
|
|
- rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedWidth));
|
|
|
|
|
- rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedHeight));
|
|
|
|
|
|
|
+ rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedWidth) *
|
|
|
|
|
+ static_cast<u32>(Settings::values.resolution_factor));
|
|
|
|
|
+ rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedHeight) *
|
|
|
|
|
+ static_cast<u32>(Settings::values.resolution_factor));
|
|
|
} else {
|
|
} else {
|
|
|
- rb.Push(static_cast<u32>(Service::VI::DisplayResolution::UndockedWidth));
|
|
|
|
|
- rb.Push(static_cast<u32>(Service::VI::DisplayResolution::UndockedHeight));
|
|
|
|
|
|
|
+ rb.Push(static_cast<u32>(Service::VI::DisplayResolution::UndockedWidth) *
|
|
|
|
|
+ static_cast<u32>(Settings::values.resolution_factor));
|
|
|
|
|
+ rb.Push(static_cast<u32>(Service::VI::DisplayResolution::UndockedHeight) *
|
|
|
|
|
+ static_cast<u32>(Settings::values.resolution_factor));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
rb.PushRaw<float>(60.0f);
|
|
rb.PushRaw<float>(60.0f);
|
|
@@ -879,11 +885,15 @@ private:
|
|
|
rb.Push(RESULT_SUCCESS);
|
|
rb.Push(RESULT_SUCCESS);
|
|
|
|
|
|
|
|
if (Settings::values.use_docked_mode) {
|
|
if (Settings::values.use_docked_mode) {
|
|
|
- rb.Push(static_cast<u64>(DisplayResolution::DockedWidth));
|
|
|
|
|
- rb.Push(static_cast<u64>(DisplayResolution::DockedHeight));
|
|
|
|
|
|
|
+ rb.Push(static_cast<u64>(DisplayResolution::DockedWidth) *
|
|
|
|
|
+ static_cast<u32>(Settings::values.resolution_factor));
|
|
|
|
|
+ rb.Push(static_cast<u64>(DisplayResolution::DockedHeight) *
|
|
|
|
|
+ static_cast<u32>(Settings::values.resolution_factor));
|
|
|
} else {
|
|
} else {
|
|
|
- rb.Push(static_cast<u64>(DisplayResolution::UndockedWidth));
|
|
|
|
|
- rb.Push(static_cast<u64>(DisplayResolution::UndockedHeight));
|
|
|
|
|
|
|
+ rb.Push(static_cast<u64>(DisplayResolution::UndockedWidth) *
|
|
|
|
|
+ static_cast<u32>(Settings::values.resolution_factor));
|
|
|
|
|
+ rb.Push(static_cast<u64>(DisplayResolution::UndockedHeight) *
|
|
|
|
|
+ static_cast<u32>(Settings::values.resolution_factor));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -900,6 +910,8 @@ private:
|
|
|
void ListDisplays(Kernel::HLERequestContext& ctx) {
|
|
void ListDisplays(Kernel::HLERequestContext& ctx) {
|
|
|
IPC::RequestParser rp{ctx};
|
|
IPC::RequestParser rp{ctx};
|
|
|
DisplayInfo display_info;
|
|
DisplayInfo display_info;
|
|
|
|
|
+ display_info.width *= static_cast<u64>(Settings::values.resolution_factor);
|
|
|
|
|
+ display_info.height *= static_cast<u64>(Settings::values.resolution_factor);
|
|
|
ctx.WriteBuffer(&display_info, sizeof(DisplayInfo));
|
|
ctx.WriteBuffer(&display_info, sizeof(DisplayInfo));
|
|
|
IPC::ResponseBuilder rb{ctx, 4};
|
|
IPC::ResponseBuilder rb{ctx, 4};
|
|
|
rb.Push(RESULT_SUCCESS);
|
|
rb.Push(RESULT_SUCCESS);
|