Skip to content
View antono2's full-sized avatar

Block or report antono2

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
antono2/README.md

Open-source GPU tooling for V: Vulkan Video and OpenCL

I build low-level libraries and applications in the V programming language. The projects span reproducible Khronos API generation, opt-in typed ownership helpers, hardware-accelerated H.264 playback, and OpenCL/Vulkan interoperability.

Vulkan Video stack

Layer Project Purpose
Application v_vulkan_video Hardware-accelerated H.264/MP4 playback and Vulkan presentation
Video formats h264 · minimp4 Bitstream parsing, picture ordering, and MP4 container access
UI and windowing imgui · glfw Dear ImGui/ImPlot and focused GLFW bindings
Resource management vulkan_memory_allocator Explicit Vulkan buffer and image allocations
Vulkan API vulkan Generated Vulkan and Vulkan Video bindings with an opt-in ergonomic API
Generation v_vulkan_bindings Reproducible generation from Khronos vk.xml

The current vulkan release is v1.7.0, generated from Vulkan registry v1.4.362. It supports V 0.5.2 across GCC, TinyCC, Clang, and MSVC, and adds typed lifecycle, device, queue, memory, buffer, and command-pool helpers without hiding the complete generated API.

OpenCL stack

Layer Project Purpose
Module opencl Generated OpenCL 1.0–3.0 API plus typed buffers, images, SVM, events, and kernels
Generation v_opencl_bindings Registry-driven generator, validation pipeline, and canonical source
Interop example opencl/examples/vulkan_particles OpenCL compute with Vulkan presentation, shared memory, and semaphore synchronization

The current opencl release is v0.4.1. The Vulkan particle example uses zero-copy external-memory interoperability on UUID-matched devices when the required extensions are available, with a portable host-staged fallback.

Examples and build health

Vulkan bindings Vulkan generator Vulkan Video ImGui OpenCL

Each project README documents its supported scope, native dependencies, and the shortest path to a working build.

Support the work

The software and its documentation remain freely available. If you would like to support continued work on bindings, portable builds, examples, and documentation, visit oreskin.de/support.

Pinned Loading

  1. v_vulkan_video v_vulkan_video Public

    Hardware-accelerated H.264/MP4 video player in V using Vulkan Video, with metadata rotation, frame pacing, resizing, and looping.

    C

  2. vulkan vulkan Public

    Generated Vulkan and Vulkan Video bindings for the V programming language.

    V 11

  3. opencl opencl Public

    Generated OpenCL 1.0–3.0 bindings for V, including external-memory and semaphore interoperability.

    V

  4. imgui imgui Public

    Generated Dear ImGui and ImPlot bindings for V, with GLFW/Vulkan backends and reproducible native builds.

    C++ 3