added barriers, started working on libraries
This commit is contained in:
50
materialsystem/vulkan/utils.cpp
Normal file
50
materialsystem/vulkan/utils.cpp
Normal file
@@ -0,0 +1,50 @@
|
||||
#include "vulkan_state.h"
|
||||
|
||||
IRenderingObject *VulkanGetObject( VkFrameObject_t stObject, int iIndex )
|
||||
{
|
||||
switch (stObject.m_eObjectType)
|
||||
{
|
||||
case FRAME_OBJECT_TYPE_SINGLE:
|
||||
return stObject.m_pSingle;
|
||||
case FRAME_OBJECT_TYPE_SWAPPED:
|
||||
return stObject.m_ppSwapped[iIndex];
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
VkAccessFlags2 VulkanGetAccessFlags( EDependencyMode eMode )
|
||||
{
|
||||
switch (eMode)
|
||||
{
|
||||
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_IMAGE: return VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR;
|
||||
case DEPENDENCY_MODE_COLOR_CLEAR_DESTINATION: return VK_ACCESS_2_TRANSFER_WRITE_BIT;
|
||||
case DEPENDENCY_MODE_IMAGE_PRESENT: return VK_ACCESS_2_NONE;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
VkPipelineStageFlags2 VulkanGetStageFlags( EDependencyMode eMode )
|
||||
{
|
||||
switch (eMode)
|
||||
{
|
||||
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_IMAGE: return VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
case DEPENDENCY_MODE_COLOR_CLEAR_DESTINATION: return VK_PIPELINE_STAGE_2_TRANSFER_BIT;
|
||||
case DEPENDENCY_MODE_IMAGE_PRESENT: return VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
default:
|
||||
return VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT;
|
||||
}
|
||||
}
|
||||
|
||||
VkImageLayout VulkanGetImageLayout( EDependencyMode eMode )
|
||||
{
|
||||
switch (eMode)
|
||||
{
|
||||
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_IMAGE: return VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
|
||||
case DEPENDENCY_MODE_COLOR_CLEAR_DESTINATION: return VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
|
||||
case DEPENDENCY_MODE_IMAGE_PRESENT: return VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
|
||||
default:
|
||||
return VK_IMAGE_LAYOUT_UNDEFINED;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user