Hardware-native image editor for the AMD 7800X3D + NVIDIA RTX 5070 Ti combination.
Every hardware block has a dedicated role. CPU-side image ops run as AVX-512 branchless kernels through the 96 MB V-Cache tile buffer; GPU-side heavy lifting runs on the RTX 5070 Ti's OMMA.SF.16864 tensor cores (sm_120a) and NVENC Gen 5 hardware encoder.
| Hardware | Role | Advantage |
|---|---|---|
| 7800X3D V-Cache (96 MB) | Tile buffer + undo stack | 12 ns L3 latency vs ~80 ns DDR5 |
| 7800X3D AVX-512 | Blend modes, curves, brushes, color ops | 16 pixels/instruction, branchless |
| RTX 5070 Ti OMMA.SF.16864 | Convolution, color matrix, sharpening | ~140 TFLOPS tensor ops |
| RTX 5070 Ti NVENC Gen 5 | Real-time preview, H.265 export | ~2 ms 4K60 encode |
This repository is a Phase 0-4 implementation scaffold — the initial architecture and core header libraries are in place, but it is not yet a finished, production-ready application.
- Single initial commit (
bbb1cc7) onmain. - Core libraries are written and header-based (~10.5 K lines): an AVX-512 tile buffer with 28 blend modes, a non-destructive layer system, OMMA convolution kernels, an NVENC preview pipeline, selection masks, and raw/.den export.
- Integration is incomplete: the Dear ImGui dependency referenced by
CMakeLists.txtis not yet vendored intoden_image/external/, so the application does not yet build out-of-the-box. tests/andtools/are scaffolded but empty — no test suite or CLI tooling has been committed yet.
The per-hardware partitioning is the core design idea and it is sound; treat the codebase as work-in-progress until the build is green end-to-end.
cd C:\Den\den-image
cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release -j8Required dependencies:
- MSVC 2022 (Visual Studio 17 2022, C++
/arch:AVX512) - Vulkan SDK (
glslcfor SPIR-V shader compilation) - GLFW (window + input)
- Dear ImGui (docking branch, vendored — not yet committed)
- CUDA 13.3 targeting
sm_120afor the OMMA.SF.16864 kernels (CUDA 13.3 is mandatory — the 4X OMMA path does not compile on older toolchains)
den_image/
├── main.cpp # Application entry: Vulkan + GLFW + Dear ImGui
├── den_tile_avx512.h # AVX-512 128x128 RGBA32 tile buffer + 28 branchless blend modes
├── den_omma_image.cuh # OMMA.SF.16864 convolution/color kernels (inline PTX, sm_120a)
├── den_image_io.h # PNG/JPEG/HDR load & save via stb_image (public domain)
├── den_curves_avx.h # Curves, levels, HSV, color balance (AVX-512)
├── den_layer_system.h # Non-destructive layer system + filter stack
├── den_selection.h # Per-pixel selection masks + feathering
├── den_export_pipeline.h # Unified export dispatch (NVENC H.265, PNG, JPEG, HDR, RAW, .den)
├── den_nvenc_preview.h # NVENC Gen 5 real-time preview + DXGI display
├── den_raw_export.h # Tiled RAW float32 interchange format
├── den_image_container.h # .den image container (DEN_ARCH_IMAGE = 7)
├── den_dreya_bridge.h # Optional cognitive canvas-awareness bridge
├── den_format.h # DEN native format specification (SM120-aligned, slot-based)
├── shaders/
│ ├── canvas.vert # Canvas quad vertex shader
│ └── canvas.frag # Canvas texture fragment shader
└── CMakeLists.txt # MSVC 2022 + CUDA 13.3 build
Honest, phased plan. Nothing below is delivered yet.
- Phase 1 — Build green: vendor Dear ImGui, resolve the CMake + CUDA 13.3
integration, and get
den-image.exelaunching with a renderable canvas. - Phase 2 — Editing core: tile buffer → layer system → blend modes → curves/levels, all through the AVX-512 path; undo stack in V-Cache.
- Phase 3 — GPU acceleration: wire the OMMA.SF.16864 convolution and color matrix kernels (CUDA 13.3, sm_120a) into the filter stack; SASS audit before optimization.
- Phase 4 — NVENC pipeline: real-time 4K60 preview, H.265 lossless export, unified export dispatch.
- Phase 5 — Hardening: test suite in
tests/, CLI tooling intools/, and benchmarks against the 12 ns / 16 px / 140 TFLOPS / 2 ms hardware targets.
TBD — no license file is present in the repository yet.