mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 13:48:30 +09:00
[Fix] (MG_Backend/DirectVulkan): support Voxy rendering
Implemented: - Advertise Voxy-required DirectVulkan extensions without raising the reported OpenGL version. - Add DirectVulkan compute, indirect draw count, DSA, readback, and buffer state paths needed by Voxy. Fixed: - Enable Vulkan shaderInt64 and drawIndirectFirstInstance so Voxy baseInstance-driven LOD draws address the correct section data. - Fix DirectVulkan synchronization, framebuffer, texture readback, and shader interface handling used by Voxy and Minecraft screenshots. Tests: - Add MG_Test coverage for DirectVulkan extension advertising, DSA buffer/texture/framebuffer/vertex-array behavior, persistent mapped readback, and shader/program paths.
This commit is contained in:
@@ -38,6 +38,8 @@ namespace MobileGL {
|
||||
return "DispatchIndirect";
|
||||
case BufferTarget::DrawIndirect:
|
||||
return "DrawIndirect";
|
||||
case BufferTarget::Parameter:
|
||||
return "Parameter";
|
||||
case BufferTarget::ShaderStorage:
|
||||
return "ShaderStorage";
|
||||
case BufferTarget::Unknown:
|
||||
@@ -87,4 +89,4 @@ namespace MobileGL {
|
||||
return result.empty() ? "[]" : result;
|
||||
}
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
} // namespace MobileGL
|
||||
|
||||
@@ -131,6 +131,17 @@ namespace MobileGL {
|
||||
}
|
||||
}
|
||||
|
||||
String ConvertProvokingVertexModeToString(ProvokingVertexMode v) {
|
||||
switch (v) {
|
||||
case ProvokingVertexMode::FirstVertex:
|
||||
return "FirstVertex";
|
||||
case ProvokingVertexMode::LastVertex:
|
||||
return "LastVertex";
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
String ConvertCapabilityInputToString(CapabilityInput v) {
|
||||
switch (v) {
|
||||
case CapabilityInput::Blend:
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace MobileGL {
|
||||
String ConvertPixelStoreParamToString(PixelStoreParam value);
|
||||
String ConvertCullFaceModeToString(CullFaceMode value);
|
||||
String ConvertFrontFaceModeToString(FrontFaceMode value);
|
||||
String ConvertProvokingVertexModeToString(ProvokingVertexMode value);
|
||||
String ConvertCapabilityInputToString(CapabilityInput value);
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
|
||||
Reference in New Issue
Block a user