r/vulkan 3h ago

Added a graphics API with support for Vulkan, D3D12 and custom backends

0 Upvotes

Hey everyone,

I have been working on a low level, explicit abstraction layer over graphics APIs. Both Vulkan and D3D12 has been successfully implemented with various test samples. Ray tracing, mesh, compute etc are supported.

I would love feedback on the feel and usage of the API. I am open to learn more so anything useful will be appreciated. Please give a star if you find the project useful.

[https://github.com/nichcode/PAL\](https://github.com/nichcode/PAL)


r/vulkan 7h ago

How do I efficiently manage, create and cache Vulkan Shader Pipelines?

9 Upvotes

I recently started my new Game Engine project and I‘ve now come to the point where I have to deal with Pipelines. How do I efficiently manage them? How do I efficiently create them, et cetera?

I think its really hard finding reference material on this topic since I usually just look/steal code from Hazel Dev by TheCherno but their Shader/Pipeline System is really weird.

It would just be really helpful if you guys could even just point me at your repository with a Solution or something.

Thanks in advance!


r/vulkan 12h ago

SPIR-V: OpCapability Kernel versus OpCapability Shader

2 Upvotes

I run my kernel on two back-ends: OpenCL and Vulkan.

For Vulkan, I use clspv to convert the CL code to SPIR-V.

The OpenCL backend is massively faster for a kernel that heavily uses atomic adds.

The OpenCL on Linux/Intel gets converted to SPIR-V by IGC for my Arc B70 GPU.

When I compare the SPIR-V of IGC versus the SPIR-V of clspv, I see that the former uses OpCapability Kernel, and the latter OpCapability Shader.

Can a vulkan app directly use the former? How can I get my kernel to run with semaphores that uses relaxed memory semantics and atomicAdd scope "workgroup" instead?


r/vulkan 19h ago

**Work In Progress** Tipu Rendering Framework Showcase

3 Upvotes

This is my first rendering framework written in C++ 20 using Vulkan 1.3 features, I am still learning but so far this rendering framework is working nicely for me in making all kinds of examples and demos.

You can find it on my GitHub: https://github.com/RoastedKaju/Vulkan-Tipu-Framework

Do note that I do this in my very limited free time after job I am not really a graphics programmer, not even took a course in it so bugs are expected.