text: /*
   * Copyright (C) 2021 Patrick Mours. All rights reserved.
   * License: https://github.com/crosire/reshade#license
   */
  
  #pragma once
  
  namespace reshade::vulkan
  {
  	auto convert_format(api::format format) -> VkFormat;
  	auto convert_format(VkFormat vk_format) -> api::format;
  
  	auto convert_usage_to_access(api::resource_usage state) -> VkAccessFlags;
  	auto convert_usage_to_image_layout(api::resource_usage state) -> VkImageLayout;
  	auto convert_usage_to_pipeline_stage(api::resource_usage state, bool src_stage, const VkPhysicalDeviceFeatures &enabled_features) -> VkPipelineStageFlags;
  
  	void convert_usage_to_image_usage_flags(api::resource_usage usage, VkImageUsageFlags &image_flags);
  	void convert_usage_to_buffer_usage_flags(api::resource_usage usage, VkBufferUsageFlags &buffer_flags);
  
  	void convert_sampler_desc(const api::sampler_desc &desc, VkSamplerCreateInfo &create_info);
  	api::sampler_desc convert_sampler_desc(const VkSamplerCreateInfo &create_info);
  
  	void convert_resource_desc(const api::resource_desc &desc, VkImageCreateInfo &create_info);
  	void convert_resource_desc(const api::resource_desc &desc, VkBufferCreateInfo &create_info);
  	api::resource_desc convert_resource_desc(const VkImageCreateInfo &create_info);
  	api::resource_desc convert_resource_desc(const VkBufferCreateInfo &create_info);
  
  	void convert_resource_view_desc(const api::resource_view_desc &desc, VkImageViewCreateInfo &create_info);
  	void convert_resource_view_desc(const api::resource_view_desc &desc, VkBufferViewCreateInfo &create_info);
  	api::resource_view_desc convert_resource_view_desc(const VkImageViewCreateInfo &create_info);
  	api::resource_view_desc convert_resource_view_desc(const VkBufferViewCreateInfo &create_info);
  
  	auto convert_blend_op(api::blend_op value) -> VkBlendOp;
  	auto convert_blend_factor(api::blend_factor value) -> VkBlendFactor;
  	auto convert_fill_mode(api::fill_mode value) -> VkPolygonMode;
  	auto convert_cull_mode(api::cull_mode value) -> VkCullModeFlags;
  	auto convert_compare_op(VkCompareOp value) -> api::compare_op;
  	auto convert_compare_op(api::compare_op value) -> VkCompareOp;
  	auto convert_stencil_op(api::stencil_op value) -> VkStencilOp;
  	auto convert_primitive_topology(api::primitive_topology value) -> VkPrimitiveTopology;
  	auto convert_query_type(api::query_type value) -> VkQueryType;
  }
  