Adding interface for renderpass layout transitions
This commit is contained in:
@@ -1552,4 +1552,245 @@ Gfx::SeSamplerMipmapMode Seele::Vulkan::cast(const VkSamplerMipmapMode &filter)
|
||||
default:
|
||||
return SE_SAMPLER_MIPMAP_MODE_MAX_ENUM;
|
||||
}
|
||||
}
|
||||
VkAccessFlagBits Seele::Vulkan::cast(const Gfx::SeAccessFlagBits &flags)
|
||||
{
|
||||
switch(flags)
|
||||
{
|
||||
case SE_ACCESS_INDIRECT_COMMAND_READ_BIT:
|
||||
return VK_ACCESS_INDIRECT_COMMAND_READ_BIT;
|
||||
case SE_ACCESS_INDEX_READ_BIT:
|
||||
return VK_ACCESS_INDEX_READ_BIT;
|
||||
case SE_ACCESS_VERTEX_ATTRIBUTE_READ_BIT:
|
||||
return VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT;
|
||||
case SE_ACCESS_UNIFORM_READ_BIT:
|
||||
return VK_ACCESS_UNIFORM_READ_BIT;
|
||||
case SE_ACCESS_INPUT_ATTACHMENT_READ_BIT:
|
||||
return VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
|
||||
case SE_ACCESS_SHADER_READ_BIT:
|
||||
return VK_ACCESS_SHADER_READ_BIT;
|
||||
case SE_ACCESS_SHADER_WRITE_BIT:
|
||||
return VK_ACCESS_SHADER_WRITE_BIT;
|
||||
case SE_ACCESS_COLOR_ATTACHMENT_READ_BIT:
|
||||
return VK_ACCESS_COLOR_ATTACHMENT_READ_BIT;
|
||||
case SE_ACCESS_COLOR_ATTACHMENT_WRITE_BIT:
|
||||
return VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
|
||||
case SE_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT:
|
||||
return VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
|
||||
case SE_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT:
|
||||
return VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
|
||||
case SE_ACCESS_TRANSFER_READ_BIT:
|
||||
return VK_ACCESS_TRANSFER_READ_BIT;
|
||||
case SE_ACCESS_TRANSFER_WRITE_BIT:
|
||||
return VK_ACCESS_TRANSFER_WRITE_BIT;
|
||||
case SE_ACCESS_HOST_READ_BIT:
|
||||
return VK_ACCESS_HOST_READ_BIT;
|
||||
case SE_ACCESS_HOST_WRITE_BIT:
|
||||
return VK_ACCESS_HOST_WRITE_BIT;
|
||||
case SE_ACCESS_MEMORY_READ_BIT:
|
||||
return VK_ACCESS_MEMORY_READ_BIT;
|
||||
case SE_ACCESS_MEMORY_WRITE_BIT:
|
||||
return VK_ACCESS_MEMORY_WRITE_BIT;
|
||||
case SE_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT:
|
||||
return VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT;
|
||||
case SE_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT:
|
||||
return VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT;
|
||||
case SE_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT:
|
||||
return VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT;
|
||||
case SE_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT:
|
||||
return VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT;
|
||||
case SE_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT:
|
||||
return VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT;
|
||||
case SE_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT:
|
||||
return VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT;
|
||||
case SE_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV:
|
||||
return VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV;
|
||||
case SE_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV:
|
||||
return VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV;
|
||||
default:
|
||||
return VK_ACCESS_FLAG_BITS_MAX_ENUM;
|
||||
}
|
||||
}
|
||||
|
||||
Gfx::SeAccessFlagBits Seele::Vulkan::cast(const VkAccessFlagBits &flags)
|
||||
{
|
||||
switch(flags)
|
||||
{
|
||||
case VK_ACCESS_INDIRECT_COMMAND_READ_BIT:
|
||||
return SE_ACCESS_INDIRECT_COMMAND_READ_BIT;
|
||||
case VK_ACCESS_INDEX_READ_BIT:
|
||||
return SE_ACCESS_INDEX_READ_BIT;
|
||||
case VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT:
|
||||
return SE_ACCESS_VERTEX_ATTRIBUTE_READ_BIT;
|
||||
case VK_ACCESS_UNIFORM_READ_BIT:
|
||||
return SE_ACCESS_UNIFORM_READ_BIT;
|
||||
case VK_ACCESS_INPUT_ATTACHMENT_READ_BIT:
|
||||
return SE_ACCESS_INPUT_ATTACHMENT_READ_BIT;
|
||||
case VK_ACCESS_SHADER_READ_BIT:
|
||||
return SE_ACCESS_SHADER_READ_BIT;
|
||||
case VK_ACCESS_SHADER_WRITE_BIT:
|
||||
return SE_ACCESS_SHADER_WRITE_BIT;
|
||||
case VK_ACCESS_COLOR_ATTACHMENT_READ_BIT:
|
||||
return SE_ACCESS_COLOR_ATTACHMENT_READ_BIT;
|
||||
case VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT:
|
||||
return SE_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
|
||||
case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT:
|
||||
return SE_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
|
||||
case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT:
|
||||
return SE_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
|
||||
case VK_ACCESS_TRANSFER_READ_BIT:
|
||||
return SE_ACCESS_TRANSFER_READ_BIT;
|
||||
case VK_ACCESS_TRANSFER_WRITE_BIT:
|
||||
return SE_ACCESS_TRANSFER_WRITE_BIT;
|
||||
case VK_ACCESS_HOST_READ_BIT:
|
||||
return SE_ACCESS_HOST_READ_BIT;
|
||||
case VK_ACCESS_HOST_WRITE_BIT:
|
||||
return SE_ACCESS_HOST_WRITE_BIT;
|
||||
case VK_ACCESS_MEMORY_READ_BIT:
|
||||
return SE_ACCESS_MEMORY_READ_BIT;
|
||||
case VK_ACCESS_MEMORY_WRITE_BIT:
|
||||
return SE_ACCESS_MEMORY_WRITE_BIT;
|
||||
case VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT:
|
||||
return SE_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT;
|
||||
case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT:
|
||||
return SE_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT;
|
||||
case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT:
|
||||
return SE_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT;
|
||||
case VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT:
|
||||
return SE_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT;
|
||||
case VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT:
|
||||
return SE_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT;
|
||||
case VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT:
|
||||
return SE_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT;
|
||||
case VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV:
|
||||
return SE_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV;
|
||||
case VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV:
|
||||
return SE_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV;
|
||||
default:
|
||||
return SE_ACCESS_FLAG_BITS_MAX_ENUM;
|
||||
}
|
||||
}
|
||||
VkPipelineStageFlagBits Seele::Vulkan::cast(const Gfx::SePipelineStageFlagBits &flags)
|
||||
{
|
||||
switch(flags)
|
||||
{
|
||||
case SE_PIPELINE_STAGE_TOP_OF_PIPE_BIT:
|
||||
return VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
|
||||
case SE_PIPELINE_STAGE_DRAW_INDIRECT_BIT:
|
||||
return VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT;
|
||||
case SE_PIPELINE_STAGE_VERTEX_INPUT_BIT:
|
||||
return VK_PIPELINE_STAGE_VERTEX_INPUT_BIT;
|
||||
case SE_PIPELINE_STAGE_VERTEX_SHADER_BIT:
|
||||
return VK_PIPELINE_STAGE_VERTEX_SHADER_BIT;
|
||||
case SE_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT:
|
||||
return VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT;
|
||||
case SE_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT:
|
||||
return VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT;
|
||||
case SE_PIPELINE_STAGE_GEOMETRY_SHADER_BIT:
|
||||
return VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT;
|
||||
case SE_PIPELINE_STAGE_FRAGMENT_SHADER_BIT:
|
||||
return VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
|
||||
case SE_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT:
|
||||
return VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT;
|
||||
case SE_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT:
|
||||
return VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
|
||||
case SE_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT:
|
||||
return VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
case SE_PIPELINE_STAGE_COMPUTE_SHADER_BIT:
|
||||
return VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
|
||||
case SE_PIPELINE_STAGE_TRANSFER_BIT:
|
||||
return VK_PIPELINE_STAGE_TRANSFER_BIT;
|
||||
case SE_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT:
|
||||
return VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
|
||||
case SE_PIPELINE_STAGE_HOST_BIT:
|
||||
return VK_PIPELINE_STAGE_HOST_BIT;
|
||||
case SE_PIPELINE_STAGE_ALL_GRAPHICS_BIT:
|
||||
return VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT;
|
||||
case SE_PIPELINE_STAGE_ALL_COMMANDS_BIT:
|
||||
return VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
|
||||
case SE_PIPELINE_STAGE_NONE:
|
||||
return VK_PIPELINE_STAGE_NONE;
|
||||
case SE_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT:
|
||||
return VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT;
|
||||
case SE_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT:
|
||||
return VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT;
|
||||
case SE_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR:
|
||||
return VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR;
|
||||
case SE_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR:
|
||||
return VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR;
|
||||
case SE_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT:
|
||||
return VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT;
|
||||
case SE_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
|
||||
return VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR;
|
||||
case SE_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV:
|
||||
return VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV;
|
||||
case SE_PIPELINE_STAGE_TASK_SHADER_BIT_EXT:
|
||||
return VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT;
|
||||
case SE_PIPELINE_STAGE_MESH_SHADER_BIT_EXT:
|
||||
return VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT;
|
||||
default:
|
||||
return VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM;
|
||||
}
|
||||
}
|
||||
Gfx::SePipelineStageFlagBits Seele::Vulkan::cast(const VkPipelineStageFlagBits &flags)
|
||||
{
|
||||
switch(flags)
|
||||
{
|
||||
case VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT:
|
||||
return SE_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
|
||||
case VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT:
|
||||
return SE_PIPELINE_STAGE_DRAW_INDIRECT_BIT;
|
||||
case VK_PIPELINE_STAGE_VERTEX_INPUT_BIT:
|
||||
return SE_PIPELINE_STAGE_VERTEX_INPUT_BIT;
|
||||
case VK_PIPELINE_STAGE_VERTEX_SHADER_BIT:
|
||||
return SE_PIPELINE_STAGE_VERTEX_SHADER_BIT;
|
||||
case VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT:
|
||||
return SE_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT;
|
||||
case VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT:
|
||||
return SE_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT;
|
||||
case VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT:
|
||||
return SE_PIPELINE_STAGE_GEOMETRY_SHADER_BIT;
|
||||
case VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT:
|
||||
return SE_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
|
||||
case VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT:
|
||||
return SE_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT;
|
||||
case VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT:
|
||||
return SE_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
|
||||
case VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT:
|
||||
return SE_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
case VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT:
|
||||
return SE_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
|
||||
case VK_PIPELINE_STAGE_TRANSFER_BIT:
|
||||
return SE_PIPELINE_STAGE_TRANSFER_BIT;
|
||||
case VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT:
|
||||
return SE_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
|
||||
case VK_PIPELINE_STAGE_HOST_BIT:
|
||||
return SE_PIPELINE_STAGE_HOST_BIT;
|
||||
case VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT:
|
||||
return SE_PIPELINE_STAGE_ALL_GRAPHICS_BIT;
|
||||
case VK_PIPELINE_STAGE_ALL_COMMANDS_BIT:
|
||||
return SE_PIPELINE_STAGE_ALL_COMMANDS_BIT;
|
||||
case VK_PIPELINE_STAGE_NONE:
|
||||
return SE_PIPELINE_STAGE_NONE;
|
||||
case VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT:
|
||||
return SE_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT;
|
||||
case VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT:
|
||||
return SE_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT;
|
||||
case VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR:
|
||||
return SE_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR;
|
||||
case VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR:
|
||||
return SE_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR;
|
||||
case VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT:
|
||||
return SE_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT;
|
||||
case VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
|
||||
return SE_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR;
|
||||
case VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV:
|
||||
return SE_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV;
|
||||
case VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT:
|
||||
return SE_PIPELINE_STAGE_TASK_SHADER_BIT_EXT;
|
||||
case VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT:
|
||||
return SE_PIPELINE_STAGE_MESH_SHADER_BIT_EXT;
|
||||
default:
|
||||
return SE_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user