upgraded codes and then it can run.

This commit is contained in:
2023-07-28 20:17:46 +08:00
parent df80b1af3b
commit 7967150722
35 changed files with 247 additions and 48 deletions

View File

@@ -38,7 +38,7 @@ void DebugMaker::Begin(VkCommandBuffer cmdbuffer, const char * pMarkerName, cons
VkDebugMarkerMarkerInfoEXT markerInfo = {};
markerInfo.sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
memcpy(markerInfo.color, &color, sizeof(float) * 4);
memcpy(markerInfo.stop_color, &color, sizeof(float) * 4);
markerInfo.pMarkerName = pMarkerName;
dmf.Begin(cmdbuffer, &markerInfo);
@@ -51,7 +51,7 @@ void DebugMaker::Insert(VkCommandBuffer cmdbuffer, const char *markerName, const
VkDebugMarkerMarkerInfoEXT markerInfo = {};
markerInfo.sType = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
memcpy(markerInfo.color, &color, sizeof(float) * 4);
memcpy(markerInfo.stop_color, &color, sizeof(float) * 4);
markerInfo.pMarkerName = markerName;
dmf.Insert(cmdbuffer, &markerInfo);

View File

@@ -40,10 +40,10 @@ struct DebugUtilsLabel:public VkDebugUtilsLabelEXT
sType=VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
pNext=nullptr;
pLabelName=n;
color[0]=c.r;
color[1]=c.g;
color[2]=c.b;
color[3]=c.a;
stop_color[0]=c.r;
stop_color[1]=c.g;
stop_color[2]=c.b;
stop_color[3]=c.a;
}
};//struct DebugUtilsLabel

View File

@@ -0,0 +1,29 @@
#include<hgl/platform/Vulkan.h>
#include"AndroidWindow.h"
#include<vulkan/vulkan_android.h>
namespace hgl
{
VkSurfaceKHR CreateVulkanSurface(VkInstance vk_inst,Window *w)
{
if(vk_inst==VK_NULL_HANDLE)return(VK_NULL_HANDLE);
if(!w)return(VK_NULL_HANDLE);
AndroidWindow *win=(Android *)w;
VkAndroidSurfaceCreateInfoKHR createInfo;
createInfo.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
createInfo.pNext = nullptr;
createInfo.flags = 0;
createInfo.window = win->GetWindow();
VkSurfaceKHR surface;
VkResult res=CreateAndroidSurfaceKHR(vk_inst,&createInfo,nullptr,&surface);
if(res!=VK_SUCCESS)
return(VK_NULL_HANDLE);
return(surface);
}
}//namespace hgl

View File

@@ -0,0 +1,29 @@
#include<hgl/platform/Vulkan.h>
#include"MacWindow.h"
#include<vulkan/vulkan_macos.h>
namespace hgl
{
VkSurfaceKHR CreateVulkanSurface(VkInstance vk_inst,Window *w)
{
if(vk_inst==VK_NULL_HANDLE)return(VK_NULL_HANDLE);
if(!w)return(VK_NULL_HANDLE);
MacWindow *win=(MacWindow *)w;
VkMacOSSurfaceCreateInfoMVK createInfo;
createInfo.sType = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
createInfo.pNext = nullptr;
createInfo.flags = 0;
createInfo.pView = win->GetView();
VkSurfaceKHR surface;
VkResult res = vkCreateMacOSSurfaceMVK(vk_inst, &createInfo, nullptr, &surface);
if (res != VK_SUCCESS)
return(VK_NULL_HANDLE);
return(surface);
}
}//namespace hgl

View File

@@ -0,0 +1,30 @@
#include<hgl/platform/Vulkan.h>
#include"WaylandWindow.h"
#include<vulkan/vulkan_wayland.h>
namespace hgl
{
VkSurfaceKHR CreateVulkanSurface(VkInstance vk_inst,Window *w)
{
if(vk_inst==VK_NULL_HANDLE)return(VK_NULL_HANDLE);
if(!w)return(VK_NULL_HANDLE);
WaylandWindow *win=(WaylandWindow *)w;
VkWaylandSurfaceCreateInfoKHR createInfo;
createInfo.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
createInfo.pNext = nullptr;
createInfo.flags = 0;
createInfo.display = win->GetDisplay();
createInfo.surface = win->GetSurface();
VkSurfaceKHR surface;
VkResult res = vkCreateWaylandSurfaceKHR(vk_inst, &createInfo, nullptr, &surface);
if (res != VK_SUCCESS)
return(VK_NULL_HANDLE);
return(surface);
}
}//namespace hgl

View File

@@ -0,0 +1,30 @@
#include<hgl/platform/Vulkan.h>
#include<hgl/platform/WinWindow.h>
#include<vulkan/vulkan_win32.h>
namespace hgl
{
VkSurfaceKHR CreateVulkanSurface(VkInstance vk_inst,Window *w)
{
if(vk_inst==VK_NULL_HANDLE)return(VK_NULL_HANDLE);
if(!w)return(VK_NULL_HANDLE);
WinWindow *win=(WinWindow *)w;
VkWin32SurfaceCreateInfoKHR createInfo;
createInfo.sType =VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
createInfo.pNext =nullptr;
createInfo.flags =0;
createInfo.hinstance=win->GetInstance();
createInfo.hwnd =win->GetWnd();
VkSurfaceKHR surface;
VkResult res=vkCreateWin32SurfaceKHR(vk_inst,&createInfo,nullptr,&surface);
if(res!=VK_SUCCESS)
return(VK_NULL_HANDLE);
return(surface);
}
}//namespace hgl

View File

@@ -0,0 +1,30 @@
#include<hgl/platform/Vulkan.h>
#include"XCBWindow.h"
#include<vulkan/vulkan_xcb.h>
namespace hgl
{
VkSurfaceKHR CreateVulkanSurface(VkInstance vk_inst,Window *w)
{
if(vk_inst==VK_NULL_HANDLE)return(VK_NULL_HANDLE);
if(!w)return(VK_NULL_HANDLE);
XCBWindow *win=(XCBWindow *)w;
VkXcbSurfaceCreateInfoKHR createInfo;
createInfo.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
createInfo.pNext = nullptr;
createInfo.flags = 0;
createInfo.connection = win->GetConnection();
createInfo.window = win->GetWindow();
VkSurfaceKHR surface;
VkResult res = vkCreateXcbSurfaceKHR(vk_inst, &createInfo, nullptr, &surface);
if (res != VK_SUCCESS)
return(VK_NULL_HANDLE);
return(surface);
}
}//namespace hgl

View File

@@ -0,0 +1,29 @@
#include<hgl/platform/Vulkan.h>
#include"iOSWindow.h"
#include<vulkan/vulkan_ios.h>
namespace hgl
{
VkSurfaceKHR CreateVulkanSurface(VkInstance vk_inst,Window *w)
{
if(vk_inst==VK_NULL_HANDLE)return(VK_NULL_HANDLE);
if(!w)return(VK_NULL_HANDLE);
iOSWindow *win=(iOSWindow *)w;
VkIOSSurfaceCreateInfoMVK createInfo;
createInfo.sType = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
createInfo.pNext = nullptr;
createInfo.flags = 0;
createInfo.pView = win->GetView();
VkSurfaceKHR surface;
VkResult res = vkCreateIOSSurfaceMVK(vk_inst, &createInfo, nullptr, &surface);
if (res != VK_SUCCESS)
return(VK_NULL_HANDLE);
return(surface);
}
}//namespace hgl

View File

@@ -2,6 +2,7 @@
#include<hgl/graph/VKIndexBuffer.h>
#include<hgl/graph/VKVertexAttribBuffer.h>
#include<hgl/graph/VKPhysicalDevice.h>
#include<iostream>
VK_NAMESPACE_BEGIN
const VkDeviceSize GPUDevice::GetUBOAlign (){return attr->physical_device->GetUBOAlign();}

View File

@@ -9,6 +9,7 @@
#include<hgl/graph/VKDevice.h>
#include<hgl/graph/VKDebugMaker.h>
#include<iostream>
#include<iomanip>
VK_NAMESPACE_BEGIN

View File

@@ -6,6 +6,7 @@
#include<hgl/graph/VKShaderModuleMap.h>
#include<hgl/graph/VKVertexInputLayout.h>
#include"VKPipelineLayoutData.h"
#include<hgl/log/LogInfo.h>
VK_NAMESPACE_BEGIN

View File

@@ -1,6 +1,7 @@
#include<hgl/graph/VKDevice.h>
#include<hgl/graph/VKDeviceAttribute.h>
#include<hgl/graph/VKPhysicalDevice.h>
#include<iostream>
VK_NAMESPACE_BEGIN
namespace

View File

@@ -3,6 +3,7 @@
#include<hgl/graph/VKMaterialParameters.h>
#include<hgl/graph/VKMaterial.h>
#include<hgl/graph/VKVertexAttribBuffer.h>
#include<hgl/log/LogInfo.h>
VK_NAMESPACE_BEGIN
VertexInputData::VertexInputData(const uint32_t c,const uint32_t vc,const IndexBufferData *ibd)