Fixes for macOS

This commit is contained in:
Diewa
2022-02-24 21:42:00 +01:00
parent 58de04ccd6
commit d2c252879e
4 changed files with 10 additions and 3 deletions

View File

@@ -366,7 +366,7 @@ void GPUDeviceVulkan::GetInstanceLayersAndExtensions(Array<const char*>& outInst
} }
#if VK_EXT_debug_utils #if VK_EXT_debug_utils
if (!vkTrace && outDebugUtils && FindLayerExtension(globalLayerExtensions, VK_EXT_DEBUG_UTILS_EXTENSION_NAME)) if (!vkTrace && FindLayerExtension(globalLayerExtensions, VK_EXT_DEBUG_UTILS_EXTENSION_NAME))
{ {
outInstanceExtensions.Add(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); outInstanceExtensions.Add(VK_EXT_DEBUG_UTILS_EXTENSION_NAME);
} }

View File

@@ -270,6 +270,11 @@ bool GPUTextureVulkan::OnInit()
imageInfo.usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; imageInfo.usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
if (useUAV) if (useUAV)
imageInfo.usage |= VK_IMAGE_USAGE_STORAGE_BIT; imageInfo.usage |= VK_IMAGE_USAGE_STORAGE_BIT;
#if PLATFORM_MAC
// MoltenVK: VK_ERROR_FEATURE_NOT_PRESENT: vkCreateImageView(): 2D views on 3D images can only be used as color attachments.
if (IsVolume() && _desc.HasPerSliceViews())
imageInfo.usage &= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
#endif
imageInfo.tiling = optimalTiling ? VK_IMAGE_TILING_OPTIMAL : VK_IMAGE_TILING_LINEAR; imageInfo.tiling = optimalTiling ? VK_IMAGE_TILING_OPTIMAL : VK_IMAGE_TILING_LINEAR;
imageInfo.samples = (VkSampleCountFlagBits)MultiSampleLevel(); imageInfo.samples = (VkSampleCountFlagBits)MultiSampleLevel();
// TODO: set initialLayout to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL for IsRegularTexture() ??? // TODO: set initialLayout to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL for IsRegularTexture() ???

View File

@@ -8,6 +8,7 @@
void MacVulkanPlatform::GetInstanceExtensions(Array<const char*>& extensions, Array<const char*>& layers) void MacVulkanPlatform::GetInstanceExtensions(Array<const char*>& extensions, Array<const char*>& layers)
{ {
extensions.Add(VK_KHR_SURFACE_EXTENSION_NAME);
extensions.Add(VK_MVK_MACOS_SURFACE_EXTENSION_NAME); extensions.Add(VK_MVK_MACOS_SURFACE_EXTENSION_NAME);
} }

View File

@@ -837,8 +837,8 @@ DragDropEffect MacWindow::DoDragDrop(const StringView& data)
void MacWindow::SetCursor(CursorType type) void MacWindow::SetCursor(CursorType type)
{ {
WindowBase::SetCursor(type); WindowBase::SetCursor(type);
if (!_isMouseOver) //if (!_isMouseOver)
return; // return;
NSCursor* cursor = nullptr; NSCursor* cursor = nullptr;
switch (type) switch (type)
{ {
@@ -875,6 +875,7 @@ void MacWindow::SetCursor(CursorType type)
if (cursor) if (cursor)
{ {
[cursor set]; [cursor set];
[NSCursor unhide];
} }
} }