更新XCBWindow支持新的结构

This commit is contained in:
hyzboy 2019-04-10 23:31:24 +08:00
parent b4ce1b6b50
commit ef52f5e7b8
3 changed files with 16 additions and 15 deletions

View File

@ -1,4 +1,4 @@
#include"RenderSurface.h"
#include"RenderSurface.h"
VK_NAMESPACE_BEGIN
RenderSurface::RenderSurface(Window *w,VkInstance inst,VkPhysicalDevice pd)
@ -179,8 +179,9 @@ bool RenderSurface::CreateDevice()
create_info.pEnabledFeatures=nullptr;
VkResult res=vkCreateDevice(physical_device,&create_info,nullptr,&device);
if(res!=VK_SUCCESS)
return(nullptr);
return(false);
CreateCommandPool();
return(true);

View File

@ -71,7 +71,7 @@ RenderSurface *Instance::CreateRenderSurface(int pd_index)
VkPhysicalDevice pd;
if(!physical_devices.Get(pd_index,pd))
return(false);
return(nullptr);
return(new RenderSurface(win,inst,pd));
}

View File

@ -111,23 +111,23 @@ namespace hgl
void Show()override{}
void Hide()override{}
vulkan::Surface* CreateVulkanSurface(VkInstance vk_inst)const override
{
VkSurfaceKHR CreateSurface(VkInstance vk_inst)const override
{
VkXcbSurfaceCreateInfoKHR createInfo = {};
createInfo.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
createInfo.pNext = nullptr;
createInfo.connection = connection;
createInfo.window = window;
VkSurfaceKHR surface;
VkSurfaceKHR surface;
VkResult res = vkCreateXcbSurfaceKHR(info.inst, &createInfo, nullptr, &info.surface);
VkResult res = vkCreateXcbSurfaceKHR(vk_inst, &createInfo, nullptr, &surface);
if (res != VK_SUCCESS)
return(nullptr);
if (res != VK_SUCCESS)
return(nullptr);
return(new vulkan::Surface(vk_inst,surface));
}
return(surface);
}
};//class XCBWindow:public Window
Window *CreateRenderWindow(const UTF8String &win_name)