Provisional light culling

This commit is contained in:
Dynamitos
2021-05-10 23:57:55 +02:00
parent 0cf13bcff5
commit e00b382d4a
41 changed files with 1072 additions and 330 deletions
@@ -1093,6 +1093,83 @@ Seele::Gfx::SeFormat Seele::Vulkan::cast(const VkFormat &format)
return SE_FORMAT_MAX_ENUM;
}
}
VkImageLayout Seele::Vulkan::cast(const Gfx::SeImageLayout &imageLayout)
{
switch (imageLayout)
{
case SE_IMAGE_LAYOUT_UNDEFINED:
return VK_IMAGE_LAYOUT_UNDEFINED;
case SE_IMAGE_LAYOUT_GENERAL:
return VK_IMAGE_LAYOUT_GENERAL;
case SE_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:
return VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
case SE_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:
return VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
case SE_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:
return VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL;
case SE_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
return VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
case SE_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
return VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
case SE_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:
return VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
case SE_IMAGE_LAYOUT_PREINITIALIZED:
return VK_IMAGE_LAYOUT_PREINITIALIZED;
case SE_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL:
return VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL;
case SE_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL:
return VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL;
case SE_IMAGE_LAYOUT_PRESENT_SRC_KHR:
return VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
case SE_IMAGE_LAYOUT_SHARED_PRESENT_KHR:
return VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR;
case SE_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV:
return VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV;
case SE_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT:
return VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT;
default:
return VK_IMAGE_LAYOUT_MAX_ENUM;
}
}
Gfx::SeImageLayout Seele::Vulkan::cast(const VkImageLayout &imageLayout)
{
switch (imageLayout)
{
case VK_IMAGE_LAYOUT_UNDEFINED:
return SE_IMAGE_LAYOUT_UNDEFINED;
case VK_IMAGE_LAYOUT_GENERAL:
return SE_IMAGE_LAYOUT_GENERAL;
case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:
return SE_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:
return SE_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:
return SE_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL;
case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
return SE_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
return SE_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:
return SE_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
case VK_IMAGE_LAYOUT_PREINITIALIZED:
return SE_IMAGE_LAYOUT_PREINITIALIZED;
case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL:
return SE_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL;
case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL:
return SE_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL;
case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR:
return SE_IMAGE_LAYOUT_PRESENT_SRC_KHR;
case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR:
return SE_IMAGE_LAYOUT_SHARED_PRESENT_KHR;
case VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV:
return SE_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV;
case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT:
return SE_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT;
default:
return SE_IMAGE_LAYOUT_MAX_ENUM;
}
}
VkAttachmentStoreOp Seele::Vulkan::cast(const Gfx::SeAttachmentStoreOp &storeOp)
{
switch (storeOp)