diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp index e044649d82..2a7030802f 100644 --- a/rpcs3/Emu/RSX/VK/VKGSRender.cpp +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -472,6 +472,7 @@ VKGSRender::VKGSRender(utils::serial* ar) noexcept : GSRender(ar) m_device = const_cast(&m_swapchain->get_device()); vk::set_current_renderer(m_swapchain->get_device()); + vk::init(); m_swapchain_dims.width = m_frame->client_width(); m_swapchain_dims.height = m_frame->client_height(); diff --git a/rpcs3/Emu/RSX/VK/VKProcTable.h b/rpcs3/Emu/RSX/VK/VKProcTable.h index 3caea96dc3..91a9951ce5 100644 --- a/rpcs3/Emu/RSX/VK/VKProcTable.h +++ b/rpcs3/Emu/RSX/VK/VKProcTable.h @@ -34,6 +34,9 @@ VK_FUNC(vkGetDeviceFaultInfoEXT); VK_FUNC(vkCmdDrawMultiEXT); VK_FUNC(vkCmdDrawMultiIndexedEXT); +// EXT_external_memory_host +VK_FUNC(vkGetMemoryHostPointerPropertiesEXT); + #undef VK_FUNC #undef DECLARE_VK_FUNCTION_HEADER #undef DECLARE_VK_FUNCTION_BODY diff --git a/rpcs3/Emu/RSX/VK/vkutils/buffer_object.cpp b/rpcs3/Emu/RSX/VK/vkutils/buffer_object.cpp index efcc08794f..4d7c5237cc 100644 --- a/rpcs3/Emu/RSX/VK/vkutils/buffer_object.cpp +++ b/rpcs3/Emu/RSX/VK/vkutils/buffer_object.cpp @@ -82,11 +82,11 @@ namespace vk CHECK_RESULT(vkCreateBuffer(m_device, &info, nullptr, &value)); auto& memory_map = dev.get_memory_mapping(); - ensure(memory_map._vkGetMemoryHostPointerPropertiesEXT); + ensure(_vkGetMemoryHostPointerPropertiesEXT); VkMemoryHostPointerPropertiesEXT memory_properties{}; memory_properties.sType = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT; - CHECK_RESULT(memory_map._vkGetMemoryHostPointerPropertiesEXT(dev, VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, host_pointer, &memory_properties)); + CHECK_RESULT(_vkGetMemoryHostPointerPropertiesEXT(dev, VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, host_pointer, &memory_properties)); VkMemoryRequirements memory_reqs; vkGetBufferMemoryRequirements(m_device, value, &memory_reqs); diff --git a/rpcs3/Emu/RSX/VK/vkutils/device.h b/rpcs3/Emu/RSX/VK/vkutils/device.h index 9f14a3ef4a..badff435ff 100644 --- a/rpcs3/Emu/RSX/VK/vkutils/device.h +++ b/rpcs3/Emu/RSX/VK/vkutils/device.h @@ -37,8 +37,6 @@ namespace vk u64 device_local_total_bytes; u64 host_visible_total_bytes; u64 device_bar_total_bytes; - - PFN_vkGetMemoryHostPointerPropertiesEXT _vkGetMemoryHostPointerPropertiesEXT; }; struct descriptor_indexing_features diff --git a/rpcs3/VKGSRender.vcxproj b/rpcs3/VKGSRender.vcxproj index 95d9377296..8826c318d9 100644 --- a/rpcs3/VKGSRender.vcxproj +++ b/rpcs3/VKGSRender.vcxproj @@ -29,6 +29,7 @@ + diff --git a/rpcs3/VKGSRender.vcxproj.filters b/rpcs3/VKGSRender.vcxproj.filters index 6a804298d5..0d4db62e53 100644 --- a/rpcs3/VKGSRender.vcxproj.filters +++ b/rpcs3/VKGSRender.vcxproj.filters @@ -199,6 +199,7 @@ vkutils +