[Fix] (MG_Backend/DirectVulkan): Properly handle front face state. save VkDevice as static member

This commit is contained in:
2026-03-04 15:08:23 +08:00
parent 592a69b1c4
commit 09f96e5ba5
6 changed files with 33 additions and 33 deletions
@@ -31,12 +31,12 @@ namespace MobileGL {
}
}
VkCullModeFlags ConvertCullFaceModeToVkEnum(CullFaceMode v) {
VkCullModeFlags ConvertCullFaceModeToVkEnum(CullFaceMode v, Bool invertClockwise) {
switch (v) {
case CullFaceMode::Front:
return VK_CULL_MODE_FRONT_BIT;
return invertClockwise ? VK_CULL_MODE_BACK_BIT : VK_CULL_MODE_FRONT_BIT;
case CullFaceMode::Back:
return VK_CULL_MODE_BACK_BIT;
return invertClockwise ? VK_CULL_MODE_FRONT_BIT : VK_CULL_MODE_BACK_BIT;
case CullFaceMode::FrontAndBack:
return VK_CULL_MODE_FRONT_AND_BACK;
case CullFaceMode::Unknown:
@@ -13,7 +13,7 @@
namespace MobileGL {
namespace MG_Util {
VkPrimitiveTopology ConvertPrimitiveModeToVkEnum(GLenum mode);
VkCullModeFlags ConvertCullFaceModeToVkEnum(CullFaceMode value);
VkCullModeFlags ConvertCullFaceModeToVkEnum(CullFaceMode value, Bool invertClockwise = false);
VkCompareOp ConvertDepthTestFuncToVkEnum(DepthTestFunc value);
VkBlendFactor ConvertBlendFactorToVkEnum(BlendFactor value);
} // namespace MG_Util