summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-10-15 08:28:44 +0200
committerGitHub <noreply@github.com>2020-02-11 12:04:08 +0100
commitd10406a59aa6f1291fc19ceb8f302ad3f6640d1c (patch)
tree22d8ee248723be5d63543a01253b8aff57409411
parent2c67cc654f2a5080c16d6317f71dbb00e894aabd (diff)
parentd5df1b651c9f2c21a38ceb4fd00e8844e66ef01c (diff)
Merge pull request #32818 from bruvzg/vlk_fix_hidpi_and_resize
[Vulkan, macOS] Improve HiDPI handling, fix incorrect window viewport clipping.
-rw-r--r--drivers/vulkan/rendering_device_vulkan.cpp2
-rw-r--r--platform/osx/os_osx.mm6
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp
index b85641e48f..d74f77c328 100644
--- a/drivers/vulkan/rendering_device_vulkan.cpp
+++ b/drivers/vulkan/rendering_device_vulkan.cpp
@@ -5277,7 +5277,7 @@ RenderingDevice::DrawListID RenderingDeviceVulkan::draw_list_begin_for_screen(in
scissor.offset.x = 0;
scissor.offset.y = 0;
scissor.extent.width = size_x;
- scissor.extent.height = size_x;
+ scissor.extent.height = size_y;
vkCmdSetScissor(command_buffer, 0, 1, &scissor);
diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm
index 5d2bc5172f..5fd663e51e 100644
--- a/platform/osx/os_osx.mm
+++ b/platform/osx/os_osx.mm
@@ -345,6 +345,12 @@ static NSCursor *cursorFromSelector(SEL selector, SEL fallback = nil) {
OS_OSX::singleton->window_size.width = fbRect.size.width * newDisplayScale;
OS_OSX::singleton->window_size.height = fbRect.size.height * newDisplayScale;
+#if defined(VULKAN_ENABLED)
+ if (OS_OSX::singleton->video_driver_index == OS::VIDEO_DRIVER_VULKAN) {
+ CALayer* layer = [OS_OSX::singleton->window_view layer];
+ layer.contentsScale = OS_OSX::singleton->_display_scale();
+ }
+#endif
//Update context
if (OS_OSX::singleton->main_loop) {
//Force window resize event