ultra hack to propogate WSI extensions on replay

This commit is contained in:
baldurk
2016-02-07 18:38:11 +01:00
parent d99f32cd08
commit 406e06d943
2 changed files with 15 additions and 0 deletions
+4
View File
@@ -598,6 +598,10 @@ bool WrappedVulkan::Serialise_vkCreateDevice(
{
if(m_PhysicalReplayData[i].phys == physicalDevice)
{
// VKTODO super ultra mega hyper hack of great justice
void PopulateDeviceHooks(VkDevice d);
PopulateDeviceHooks(device);
m_PhysicalReplayData[i].dev = device;
// VKTODO: shouldn't be 0, 0
m_Real.vkGetDeviceQueue(device, 0, 0, &m_PhysicalReplayData[i].q);
@@ -241,6 +241,17 @@ class VulkanHook : LibraryHook
DefineHooks();
void PopulateDeviceHooks(VkDevice d)
{
#define HACK_WSI(func) VulkanHook::vkhooks.VK.func = (CONCAT(PFN_, func))VulkanHook::vkhooks.GPA_Device(d, STRINGIZE(func));
HACK_WSI(vkCreateSwapChainWSI)
HACK_WSI(vkDestroySwapChainWSI)
HACK_WSI(vkGetSwapChainInfoWSI)
HACK_WSI(vkAcquireNextImageWSI)
HACK_WSI(vkQueuePresentWSI)
#undef HACK_WSI
}
bool VulkanHook::SetupHooks(VulkanFunctions &VK)
{
bool success = true;