mirror of
https://github.com/cemu-project/Cemu.git
synced 2026-06-03 13:15:00 -06:00
Allow devices without logicop to still work
This commit is contained in:
parent
d68eb4712d
commit
fdc5460577
@ -614,12 +614,21 @@ VulkanRenderer::VulkanRenderer()
|
|||||||
std::set<int> uniqueQueueFamilies = { m_indices.graphicsFamily, m_indices.presentFamily };
|
std::set<int> uniqueQueueFamilies = { m_indices.graphicsFamily, m_indices.presentFamily };
|
||||||
std::vector<VkDeviceQueueCreateInfo> queueCreateInfos = CreateQueueCreateInfos(uniqueQueueFamilies);
|
std::vector<VkDeviceQueueCreateInfo> queueCreateInfos = CreateQueueCreateInfos(uniqueQueueFamilies);
|
||||||
VkPhysicalDeviceFeatures deviceFeatures = {};
|
VkPhysicalDeviceFeatures deviceFeatures = {};
|
||||||
|
VkPhysicalDeviceFeatures2 deviceFeatures2 = {};
|
||||||
|
deviceFeatures2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
|
||||||
|
vkGetPhysicalDeviceFeatures2(m_physicalDevice, &deviceFeatures2);
|
||||||
|
|
||||||
deviceFeatures.independentBlend = VK_TRUE;
|
deviceFeatures.independentBlend = VK_TRUE;
|
||||||
deviceFeatures.samplerAnisotropy = VK_TRUE;
|
deviceFeatures.samplerAnisotropy = VK_TRUE;
|
||||||
deviceFeatures.imageCubeArray = VK_TRUE;
|
deviceFeatures.imageCubeArray = VK_TRUE;
|
||||||
//moltenVK supports logicOp via private api
|
//moltenVK supports logicOp via private api
|
||||||
deviceFeatures.logicOp = VK_TRUE;
|
deviceFeatures.logicOp = deviceFeatures2.features.logicOp;
|
||||||
|
if (!deviceFeatures.logicOp) {
|
||||||
|
cemuLog_log(LogType::Force, "LogicOp not supported by the driver, some rendering issues might occur");
|
||||||
|
#if BOOST_OS_MACOS
|
||||||
|
cemuLog_log(LogType::Force, "Install the privateapi variant of MoltenVK to get logicOp support on macOS");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
#if !BOOST_OS_MACOS
|
#if !BOOST_OS_MACOS
|
||||||
deviceFeatures.geometryShader = VK_TRUE;
|
deviceFeatures.geometryShader = VK_TRUE;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user