improved font rendering

This commit is contained in:
2026-05-26 01:29:26 +03:00
parent f127ac3801
commit 5fdb17b773
21 changed files with 217 additions and 158 deletions

View File

@@ -21,17 +21,26 @@ VkAccessFlags2 VulkanGetAccessFlags( EDependencyMode eMode )
case DEPENDENCY_MODE_JUST_CREATED: return VK_ACCESS_2_NONE;
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_IMAGE: return VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR;
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_DEPTH_IMAGE: return VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
case DEPENDENCY_MODE_DRAWCALL_MIXED_IMAGE: return VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR | 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;
case DEPENDENCY_MODE_SHADER_BUFFER_READ: return VK_ACCESS_2_SHADER_READ_BIT;
case DEPENDENCY_MODE_SHADER_BUFFER_WRITE: return VK_ACCESS_2_SHADER_READ_BIT;
case DEPENDENCY_MODE_SHADER_BUFFER_READ_WRITE: return VK_ACCESS_2_SHADER_READ_BIT | VK_ACCESS_2_SHADER_WRITE_BIT;
case DEPENDENCY_MODE_SHADER_IMAGE_READ: return VK_ACCESS_2_SHADER_READ_BIT;
case DEPENDENCY_MODE_SHADER_IMAGE_WRITE: return VK_ACCESS_2_SHADER_READ_BIT;
case DEPENDENCY_MODE_SHADER_IMAGE_READ_WRITE: return VK_ACCESS_2_SHADER_READ_BIT | VK_ACCESS_2_SHADER_WRITE_BIT;
case DEPENDENCY_MODE_BLIT_IMAGE_SOURCE:
case DEPENDENCY_MODE_IMAGE_SOURCE:
case DEPENDENCY_MODE_BUFFER_SOURCE:
case DEPENDENCY_MODE_IMAGE_RESOLVE_SOURCE:
return VK_ACCESS_2_TRANSFER_READ_BIT;
case DEPENDENCY_MODE_IMAGE_DESTINATION:
case DEPENDENCY_MODE_BLIT_IMAGE_DESTINATION:
case DEPENDENCY_MODE_BUFFER_DESTINATION:
case DEPENDENCY_MODE_IMAGE_RESOLVE_DESTINATION:
return VK_ACCESS_2_TRANSFER_WRITE_BIT;
default:
@@ -46,19 +55,24 @@ VkPipelineStageFlags2 VulkanGetStageFlags( EDependencyMode eMode )
case DEPENDENCY_MODE_JUST_CREATED: return VK_PIPELINE_STAGE_2_NONE;
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_IMAGE: return VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT;
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_DEPTH_IMAGE: return VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT;
case DEPENDENCY_MODE_DRAWCALL_MIXED_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;
case DEPENDENCY_MODE_BLIT_IMAGE_DESTINATION:
case DEPENDENCY_MODE_BLIT_IMAGE_SOURCE:
case DEPENDENCY_MODE_BLIT_IMAGE_DESTINATION:
return VK_PIPELINE_STAGE_2_BLIT_BIT;
case DEPENDENCY_MODE_BUFFER_SOURCE:
case DEPENDENCY_MODE_BUFFER_DESTINATION:
case DEPENDENCY_MODE_IMAGE_SOURCE:
case DEPENDENCY_MODE_BUFFER_DESTINATION:
case DEPENDENCY_MODE_IMAGE_DESTINATION:
return VK_PIPELINE_STAGE_2_COPY_BIT;
case DEPENDENCY_MODE_IMAGE_RESOLVE_SOURCE:
case DEPENDENCY_MODE_IMAGE_RESOLVE_DESTINATION:
return VK_PIPELINE_STAGE_2_RESOLVE_BIT;
default:
return VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT;
}
@@ -71,16 +85,25 @@ VkImageLayout VulkanGetImageLayout( EDependencyMode eMode )
case DEPENDENCY_MODE_JUST_CREATED: return VK_IMAGE_LAYOUT_UNDEFINED;
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_IMAGE: return VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
case DEPENDENCY_MODE_DRAWCALL_OUTPUT_DEPTH_IMAGE: return VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL;
case DEPENDENCY_MODE_DRAWCALL_MIXED_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;
case DEPENDENCY_MODE_BLIT_IMAGE_SOURCE:
case DEPENDENCY_MODE_IMAGE_SOURCE:
case DEPENDENCY_MODE_BUFFER_SOURCE:
case DEPENDENCY_MODE_IMAGE_RESOLVE_SOURCE:
return VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
case DEPENDENCY_MODE_BLIT_IMAGE_DESTINATION:
case DEPENDENCY_MODE_IMAGE_DESTINATION:
case DEPENDENCY_MODE_BUFFER_DESTINATION:
case DEPENDENCY_MODE_IMAGE_RESOLVE_DESTINATION:
return VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
case DEPENDENCY_MODE_SHADER_IMAGE_READ:
case DEPENDENCY_MODE_SHADER_IMAGE_WRITE:
case DEPENDENCY_MODE_SHADER_IMAGE_READ_WRITE:
return VK_IMAGE_LAYOUT_GENERAL;
default:
return VK_IMAGE_LAYOUT_UNDEFINED;
}