diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2020-07-26 18:59:04 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2020-08-02 19:21:38 +0000 |
| commit | 2a37e90153caf4aaa1c9d4aa9f082678feb29756 (patch) | |
| tree | aac1b2ce61d7814a18180f60f6a52e69fb69daac /Graphics/GraphicsEngineVulkan | |
| parent | Added static asserts for Attachment Load/Store enums (diff) | |
| download | DiligentCore-2a37e90153caf4aaa1c9d4aa9f082678feb29756.tar.gz DiligentCore-2a37e90153caf4aaa1c9d4aa9f082678feb29756.zip | |
Added PIPELINE_STAGE_FLAGS and ACCESS_FLAGS
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/include/VulkanTypeConversions.hpp | 3 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp | 61 |
2 files changed, 64 insertions, 0 deletions
diff --git a/Graphics/GraphicsEngineVulkan/include/VulkanTypeConversions.hpp b/Graphics/GraphicsEngineVulkan/include/VulkanTypeConversions.hpp index c680c22d..741ced4f 100644 --- a/Graphics/GraphicsEngineVulkan/include/VulkanTypeConversions.hpp +++ b/Graphics/GraphicsEngineVulkan/include/VulkanTypeConversions.hpp @@ -79,4 +79,7 @@ ATTACHMENT_LOAD_OP VkAttachmentLoadOpToAttachmentLoadOp(VkAttachmentLoadOp VkLoa VkAttachmentStoreOp AttachmentStoreOpToVkAttachmentStoreOp(ATTACHMENT_STORE_OP StoreOp); ATTACHMENT_STORE_OP VkAttachmentStoreOpToAttachmentStoreOp(VkAttachmentStoreOp VkStoreOp); +VkPipelineStageFlags PipelineStageFlagsToVkPipelineStageFlags(PIPELINE_STAGE_FLAGS PipelineStageFlags); +VkAccessFlags AccessFlagsToVkAccessFlags(ACCESS_FLAGS AccessFlags); + } // namespace Diligent diff --git a/Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp b/Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp index 3d34813f..939c8e9d 100644 --- a/Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp +++ b/Graphics/GraphicsEngineVulkan/src/VulkanTypeConversions.cpp @@ -1445,4 +1445,65 @@ ATTACHMENT_STORE_OP VkAttachmentStoreOpToAttachmentStoreOp(VkAttachmentStoreOp V return static_cast<ATTACHMENT_STORE_OP>(VkStoreOp); } + +// clang-format off +static_assert(PIPELINE_STAGE_FLAG_TOP_OF_PIPE == VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "PIPELINE_STAGE_FLAG_TOP_OF_PIPE != VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"); +static_assert(PIPELINE_STAGE_FLAG_DRAW_INDIRECT == VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, "PIPELINE_STAGE_FLAG_DRAW_INDIRECT != VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"); +static_assert(PIPELINE_STAGE_FLAG_VERTEX_INPUT == VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, "PIPELINE_STAGE_FLAG_VERTEX_INPUT != VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"); +static_assert(PIPELINE_STAGE_FLAG_VERTEX_SHADER == VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, "PIPELINE_STAGE_FLAG_VERTEX_SHADER != VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"); +static_assert(PIPELINE_STAGE_FLAG_HULL_SHADER == VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, "PIPELINE_STAGE_FLAG_HULL_SHADER != VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"); +static_assert(PIPELINE_STAGE_FLAG_DOMAIN_SHADER == VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, "PIPELINE_STAGE_FLAG_DOMAIN_SHADER != VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"); +static_assert(PIPELINE_STAGE_FLAG_GEOMETRY_SHADER == VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, "PIPELINE_STAGE_FLAG_GEOMETRY_SHADER != VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"); +static_assert(PIPELINE_STAGE_FLAG_FRAGMENT_SHADER == VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, "PIPELINE_STAGE_FLAG_FRAGMENT_SHADER != VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"); +static_assert(PIPELINE_STAGE_FLAG_EARLY_FRAGMENT_TESTS == VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, "PIPELINE_STAGE_FLAG_EARLY_FRAGMENT_TESTS != VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"); +static_assert(PIPELINE_STAGE_FLAG_LATE_FRAGMENT_TESTS == VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, "PIPELINE_STAGE_FLAG_LATE_FRAGMENT_TESTS != VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"); +static_assert(PIPELINE_STAGE_FLAG_RENDER_TARGET == VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, "PIPELINE_STAGE_FLAG_RENDER_TARGET != VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"); +static_assert(PIPELINE_STAGE_FLAG_COMPUTE_SHADER == VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, "PIPELINE_STAGE_FLAG_COMPUTE_SHADER != VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"); +static_assert(PIPELINE_STAGE_FLAG_TRANSFER == VK_PIPELINE_STAGE_TRANSFER_BIT, "PIPELINE_STAGE_FLAG_TRANSFER != VK_PIPELINE_STAGE_TRANSFER_BIT"); +static_assert(PIPELINE_STAGE_FLAG_BOTTOM_OF_PIPE == VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, "PIPELINE_STAGE_FLAG_BOTTOM_OF_PIPE != VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"); +static_assert(PIPELINE_STAGE_FLAG_HOST == VK_PIPELINE_STAGE_HOST_BIT, "PIPELINE_STAGE_FLAG_HOST != VK_PIPELINE_STAGE_HOST_BIT"); +static_assert(PIPELINE_STAGE_FLAG_CONDITIONAL_RENDERING == VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT, "PIPELINE_STAGE_FLAG_CONDITIONAL_RENDERING != VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT"); +static_assert(PIPELINE_STAGE_FLAG_SHADING_RATE_TEXTURE == VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV, "PIPELINE_STAGE_FLAG_SHADING_RATE_IMAGE != VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV"); +static_assert(PIPELINE_STAGE_FLAG_RAY_TRACING_SHADER == VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV, "PIPELINE_STAGE_FLAG_RAY_TRACING_SHADER != VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV"); +static_assert(PIPELINE_STAGE_FLAG_ACCELERATION_STRUCTURE_BUILD == VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV, "PIPELINE_STAGE_FLAG_ACCELERATION_STRUCTURE_BUILD != VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV"); +static_assert(PIPELINE_STAGE_FLAG_TASK_SHADER == VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV, "PIPELINE_STAGE_FLAG_TASK_SHADER != VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV"); +static_assert(PIPELINE_STAGE_FLAG_MESH_SHADER == VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV, "PIPELINE_STAGE_FLAG_MESH_SHADER != VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV"); +static_assert(PIPELINE_STAGE_FLAG_FRAGMENT_DENSITY_PROCESS == VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT, "PIPELINE_STAGE_FLAG_FRAGMENT_DENSITY_PROCESS != VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT"); +// clang-format on +VkPipelineStageFlags PipelineStageFlagsToVkPipelineStageFlags(PIPELINE_STAGE_FLAGS PipelineStageFlags) +{ + return static_cast<VkPipelineStageFlags>(PipelineStageFlags); +} + + +// clang-format off +static_assert(ACCESS_FLAG_NONE == 0, ""); +static_assert(ACCESS_FLAG_INDIRECT_COMMAND_READ == VK_ACCESS_INDIRECT_COMMAND_READ_BIT, "ACCESS_FLAG_INDIRECT_COMMAND_READ != VK_ACCESS_INDIRECT_COMMAND_READ_BIT"); +static_assert(ACCESS_FLAG_INDEX_READ == VK_ACCESS_INDEX_READ_BIT, "ACCESS_FLAG_INDEX_READ != VK_ACCESS_INDEX_READ_BIT"); +static_assert(ACCESS_FLAG_VERTEX_READ == VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, "ACCESS_FLAG_VERTEX_READ != VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"); +static_assert(ACCESS_FLAG_UNIFORM_READ == VK_ACCESS_UNIFORM_READ_BIT, "ACCESS_FLAG_UNIFORM_READ != VK_ACCESS_UNIFORM_READ_BIT"); +static_assert(ACCESS_FLAG_INPUT_ATTACHMENT_READ == VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, "ACCESS_FLAG_INPUT_ATTACHMENT_READ != VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"); +static_assert(ACCESS_FLAG_SHADER_READ == VK_ACCESS_SHADER_READ_BIT, "ACCESS_FLAG_SHADER_READ != VK_ACCESS_SHADER_READ_BIT"); +static_assert(ACCESS_FLAG_SHADER_WRITE == VK_ACCESS_SHADER_WRITE_BIT, "ACCESS_FLAG_SHADER_WRITE != VK_ACCESS_SHADER_WRITE_BIT"); +static_assert(ACCESS_FLAG_RENDER_TARGET_READ == VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, "ACCESS_FLAG_RENDER_TARGET_READ != VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"); +static_assert(ACCESS_FLAG_RENDER_TARGET_WRITE == VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "ACCESS_FLAG_RENDER_TARGET_WRITE != VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"); +static_assert(ACCESS_FLAG_DEPTH_STENCIL_READ == VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, "ACCESS_FLAG_DEPTH_STENCIL_READ != VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"); +static_assert(ACCESS_FLAG_DEPTH_STENCIL_WRITE == VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, "ACCESS_FLAG_DEPTH_STENCIL_WRITE != VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"); +static_assert(ACCESS_FLAG_COPY_SRC == VK_ACCESS_TRANSFER_READ_BIT, "ACCESS_FLAG_COPY_SRC != VK_ACCESS_TRANSFER_READ_BIT"); +static_assert(ACCESS_FLAG_COPY_DST == VK_ACCESS_TRANSFER_WRITE_BIT, "ACCESS_FLAG_COPY_DST != VK_ACCESS_TRANSFER_WRITE_BIT"); +static_assert(ACCESS_FLAG_HOST_READ == VK_ACCESS_HOST_READ_BIT, "ACCESS_FLAG_HOST_READ != VK_ACCESS_HOST_READ_BIT"); +static_assert(ACCESS_FLAG_HOST_WRITE == VK_ACCESS_HOST_WRITE_BIT, "ACCESS_FLAG_HOST_WRITE != VK_ACCESS_HOST_WRITE_BIT"); +static_assert(ACCESS_FLAG_MEMORY_READ == VK_ACCESS_MEMORY_READ_BIT, "ACCESS_FLAG_MEMORY_READ != VK_ACCESS_MEMORY_READ_BIT"); +static_assert(ACCESS_FLAG_MEMORY_WRITE == VK_ACCESS_MEMORY_WRITE_BIT, "ACCESS_FLAG_MEMORY_WRITE != VK_ACCESS_MEMORY_WRITE_BIT"); +static_assert(ACCESS_FLAG_CONDITIONAL_RENDERING_READ == VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT, "ACCESS_FLAG_CONDITIONAL_RENDERING_READ != VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"); +static_assert(ACCESS_FLAG_SHADING_RATE_TEXTURE_READ == VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV, "ACCESS_FLAG_SHADING_RATE_TEXTURE_READ != VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV"); +static_assert(ACCESS_FLAG_ACCELERATION_STRUCTURE_READ == VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV, "ACCESS_FLAG_ACCELERATION_STRUCTURE_READ != VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV"); +static_assert(ACCESS_FLAG_ACCELERATION_STRUCTURE_WRITE == VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV, "ACCESS_FLAG_ACCELERATION_STRUCTURE_WRITE != VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV"); +static_assert(ACCESS_FLAG_FRAGMENT_DENSITY_MAP_READ == VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT, "ACCESS_FLAG_FRAGMENT_DENSITY_MAP_READ != VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"); +// clang-format on +VkAccessFlags AccessFlagsToVkAccessFlags(ACCESS_FLAGS AccessFlags) +{ + return static_cast<VkAccessFlags>(AccessFlags); +} + } // namespace Diligent |
