Orochi
SPIRV-Cross
Our great sponsors
Orochi | SPIRV-Cross | |
---|---|---|
5 | 10 | |
140 | 1,676 | |
0.7% | 1.4% | |
6.2 | 8.7 | |
15 days ago | 7 days ago | |
C++ | GLSL | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Orochi
-
Blender 3.6 (huge AMD gains with HIP RT) reaches Beta Phase 3
While you're waiting for the HIP SDK to release, check out Orochi as an alternative https://github.com/GPUOpen-LibrariesAndSDKs/Orochi
-
First time in 2 years I was able to get Blender running with an AMD GPU on Linux!
You can't run CUDA binaries directly. But you can use a wrapper library like Orochi to run both CUDA and HIP using a single binary that dynamically links with CUDA/HIP libraries at runtime https://github.com/GPUOpen-LibrariesAndSDKs/Orochi
-
How are Vulkan, CUDA, Triton and all other things connected?
I stumbled across orochi from AMD while looking for their FSR2.0 implementation, which basically boils down to being a wrapper over Cuda and HIP. I don't know if it is still maintained or functional, but heres the link if anyone is interested: https://github.com/GPUOpen-LibrariesAndSDKs/Orochi
SPIRV-Cross
-
Why aren't there constantly more shading languages popping up all the time like other languages?
There also exists something like SPIRV-Cross which promises to be able to generate code from the SPIRV intermediate representation into Metal and all versions of GLSL and HLSL. I am not sure really how good it is at this point, but going forward we might start to see more high-level shader languages, that compile to SPRIV and then from there to the myriad of different shader formats different platforms expect.
-
The trouble with SPIR-V, 2022 edition
If you have shaders, I believe you can use SPIRV-Cross to generate GLSL, which you can probably get to pass as OpenCL C with just a bunch of macro tweaks, or at worst some small changes to spv-cross.
-
Need guidance on SPIRV reflection
Regarding reflection, here is a guide: https://github.com/KhronosGroup/SPIRV-Cross/wiki/Reflection-API-user-guide
-
What are your (dynamic) shader workflows when targeting multiple backends (Vulkan and Metal)?
I am working on an engine that targets Vulkan and Metal. I'm at the point now where I want to be able to dynamically update my shader at runtime to suit the type of data being sent in for drawing. I am currently using offline compilation for my GLSL (for Vulkan) and MSL (for Metal) shaders. What are your workflows for situations like this? For those using tools like SPIR-V Cross and shaderc, what has your experience been with these tools keeping up to date with the latest features in the specs?
-
How are Vulkan, CUDA, Triton and all other things connected?
For cross-platform support look at WebGPU and Vulkan (e.g,: [0] [1]. Essentially, you would need to write the func in WGSL or GLSL, HLSL or MSL. Each of these can be cross-compiled to SPIR-V (what Vulkan needs) with cross-compilers such as spirv-cross and naga.
-
Is it possible to get set number from uniform block reflection in glslang?
Just for reference, the library I'm using (both for compiling the shaders and for reflection), is SPIRV-Cross by the Khronos Group and here you have the docs for the reflection API. I wanted to check out `glslang` but honestly this one so far has worked like a charm.
-
Reflection on shaders to determine uniforms, samplers, attributes, etc.
Aside from SPIRV-Reflect, if you're using SPIRV-cross to cross compile your shaders, there is also a --reflect arg you can pass which spits out reflection info in JSON format. We already need to cross compile from spirv, so it just removes a tool in the chain to depend on.
- Finally managed to make my own shading language working! (need some opinion about the lang)
What are some alternatives?
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
naga - Universal shader translation in Rust
shaderc - A collection of tools, libraries, and tests for Vulkan shader compilation.
glslang - Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
rivi-loader - Vulkan Compute program loader in Rust
SPIRV-Reflect - SPIRV-Reflect is a lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode in Vulkan applications.
vulkan-guide - Introductory guide to vulkan.
wgpu - Safe and portable GPU abstraction in Rust, implementing WebGPU API.
anydsl - Meta project to quickly build dependencies
kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.
glassful - Rust-like syntax for OpenGL Shading Language
NazaraEngine - Nazara Engine is a cross-platform framework aimed at (but not limited to) real-time applications requiring audio, 2D and 3D real-time rendering, network and more.