GeniusVentures / GeniusVentures/SGProcessingManager

Execute RENDER passes through the existing SuperGenius Vulkan pipeline

Open
#7 0 comments 0 reactions 1 assignee View on GitHub

@itsafuu is already working on this.

Since Jul 28, 2026.

Dominant language
C++
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Problem

PassType::RENDER exists in the processing schema and passes validation, but SGProcessingManager does not execute it. The current Process() path still loads one model and one input, chooses an MNN processor from the input data type, and runs that processor.

SuperGenius already provides the cross-platform Vulkan stack, including MoltenVK on Apple platforms and the existing SPIR-V/Vulkan execution route. This issue must use that infrastructure. Do not add another GPU backend or duplicate platform setup.

Scope

Implement PassType::RENDER in SGProcessingManager by connecting it to the existing SuperGenius Vulkan execution path.

Required behavior:

  • Dispatch RENDER by pass type rather than treating it as MNN inference.
  • Support ordered compute-driven render stages within a render pass.
  • Resolve typed buffers, textures, matrices, camera data, geometry data, depth targets, and image outputs from declared pass bindings.
  • Preserve intermediate GPU resources between render stages.
  • Apply the required Vulkan synchronization barriers and resource transitions between stages.
  • Support frame or tile subdivision through the existing subtask model.
  • Save, hash, and report declared image and auxiliary outputs.
  • Report render-stage progress and clear failures.
  • Use existing Vulkan raster paths where already supported, while allowing compute-shader rasterization for GPU-driven rendering.

Acceptance criteria

  • A valid RENDER pass no longer enters the MNN processor path.
  • A test render job executes through the existing Vulkan stack on native Vulkan and the existing MoltenVK path without separate render implementations.
  • Multi-stage render resources and outputs are bound by declared names rather than positional guesses.
  • Unsupported pass requirements fail during validation with a useful error.
  • Tests cover output hashing, persistence, progress, failure handling, and subtask subdivision.

Base implementation and review work on the branch consumed by SuperGenius/develop.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.