diff --git a/src/engine/idk/res/ResourceManager.inl b/src/engine/idk/res/ResourceManager.inl index 05acbfc..87f141e 100644 --- a/src/engine/idk/res/ResourceManager.inl +++ b/src/engine/idk/res/ResourceManager.inl @@ -21,8 +21,11 @@ namespace idk inline Res& ResourceManager::Get(const RscHandle& handle) { auto& table = GetTable(); - const auto itr = table.find(handle.guid); - if (itr == table.end()) + auto itr = table.find(handle.guid); + if (itr == table.end() && handle.guid.Data1 == 0 && handle.guid.Data2 == 0) { + itr = table.begin(); + } + if (itr == table.end()) return GetDefaultRes(); else { diff --git a/src/engine/vkn/VulkanState.cpp b/src/engine/vkn/VulkanState.cpp index 094a459..da24c8f 100644 --- a/src/engine/vkn/VulkanState.cpp +++ b/src/engine/vkn/VulkanState.cpp @@ -310,7 +310,7 @@ namespace idk::vkn { result.present_family = static_cast(i); } - if (family.queueFlags & vk::QueueFlagBits::eGraphics && family.queueCount>2) + if (family.queueFlags & vk::QueueFlagBits::eGraphics) { result.graphics_family = static_cast(i); } @@ -406,7 +406,7 @@ namespace idk::vkn { QueueFamilyIndices indices = findQueueFamilies(pdevice); m_queue_family = indices; - constexpr uint32_t num_queues = 2;//this be hack + constexpr uint32_t num_queues = 1;//this be hack float queuePriority[num_queues] = {}; int num = 1; for (auto& queuePri : queuePriority) @@ -455,7 +455,7 @@ namespace idk::vkn //m_device.~UniqueHandle(); m_device = vk::UniqueDevice{ pdevice.createDevice(createInfo, nullptr, dispatcher) }; m_graphics_queue = m_device->getQueue(*m_queue_family.graphics_family, 0, dispatcher); - m_graphics_tex_queue = m_device->getQueue(*m_queue_family.graphics_family, 1, dispatcher); + m_graphics_tex_queue = m_graphics_queue; m_present_queue = m_device->getQueue(*m_queue_family.present_family, 0, dispatcher); //m_transfer_queue = m_device->getQueue(*m_queue_family.transfer_family, 0, dispatcher); }