renderdoc
DirectXShaderCompiler
renderdoc | DirectXShaderCompiler | |
---|---|---|
13 | 33 | |
8,408 | 2,916 | |
- | 0.9% | |
9.8 | 0.0 | |
7 days ago | 5 days ago | |
C++ | C++ | |
MIT License | GNU General Public License v3.0 or later |
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.
renderdoc
- Building the DirectX shader compiler better than Microsoft?
-
RenderDoc is a free MIT licensed stand-alone graphics debugger
heh https://github.com/baldurk/renderdoc#readme is all "RenderDoc is intended for debugging your own programs only. Any discussion of capturing programs that you did not create will not be allowed in any official public RenderDoc setting, including the issue tracker, discord, or via email" but the 3 of the 4 screenshots are of dota2 :-D
Still, that looks handy for sure
- Descriptor Buffers with RenderDoc
-
Need help: capture Hogwarts Legacy in RenderDoc?
He's pretty clear about it every time it's asked. Tracing copyrighted games is legally questionable, and tools like RenderDoc are often abused by people to do illegal asset ripping/reselling.
-
Are bindless textures niche or weird?
Baldur explains why he won't implement bindless texture support in this issue: https://github.com/baldurk/renderdoc/issues/850
-
How to debug a non-working ray generation shader?
Unfortunately the main developer for Renderdoc is against adding ray tracing support : https://github.com/baldurk/renderdoc/issues/2317
-
Help implementing support for RenderDoc.
RenderDoc bug report: https://github.com/baldurk/renderdoc/issues/2800
- RenderDoc v1.23 is now available
-
Renderdoc Crashing On glfwCreateWindow()
Remember that Renderdoc is open source: https://github.com/baldurk/renderdoc/. This means you can build it with symbols and attach a debugger.
-
Renderdoc's GPU Selection on a laptop
Renderdoc works by inserting itself as a Vulkan layer, which means it can change the output of functions if it so chooses. As you can see in the RenderDoc version of vkEnumeratePhysicalDevices it changes how devices are returned, and this likely is the reason the order changes.
DirectXShaderCompiler
-
Building the DirectX shader compiler better than Microsoft?
> We may support DXBC generation in Clang in the future (we mentioned that in the original proposal to LLVM). That work is unlikely to begin for a few years as our focus will be on supporting DXIL and SPIR-V generation first.
I appreciate this quote[0] from the microsoft camp. Setting clear expectations that something will not be done is a nice bit of fresh air.
[0] https://github.com/microsoft/DirectXShaderCompiler/issues/57...
-
Vcc โ The Vulkan Clang Compiler
There's no need for transpilers these days, you can just compile HLSL to SPIR-V bytecode with dxc.
https://github.com/microsoft/DirectXShaderCompiler
-
Shader Compilation
Use DXC and only HLSL for your main shader editing.
-
Apple's Game Porting Toolkit seems to have a D3DMetal.framework with full implementations of DirectX 12 to 9 on Metal
You can see libdxilconv in there, DXIL is the DirectX Intermediate Representation, documented in the open source shader compiler from Microsoft.
-
Proper way to access a read-only texture that has no sampler from an hlsl compute shader?
BTW, this problem can be reproduced as described below: - clone https://github.com/SaschaWillems/Vulkan.git - build the project and run it with arguments : -v - s hlsl to enable the validation layer and to use hlsl code - run ComputeShader project. The following validation error "Type mismatch on descriptor slot ..." will be shown in the console. - to fix it, as suggested above, you can replace the 3rd line of emboss.comp, sharpen.comp, and edgedetect.comp from: Texture2D inputImage : register(t0); //Creates validation errors to RWTexture2D inputImage : register(u0); //no validation errors (you'll then need to recompile the shaders to spv with a proper hlsl compiler such as Microsoft dxc)
-
Start project on Metal, port to DX11?
EDIT: There is also naga but it does not take HLSL as input: https://github.com/gfx-rs/naga but you can use DirectXShaderCompiler to compile to SpirV, then use naga to compile to Metal.
-
Using WebGPU as a graphics API for native C++ applications
๐คจ For a "refusal to acknowledge it", they do appear to have a rather sizeable document mapping between HLSL and SPIR-V? https://github.com/microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst
- What amazing things do you guys do with LLVM?
-
Is SPIRV-Cross a valid option to target Metal from HSSL?
I am starting work on a compute-driven rendering engine, and it seems that the best way to go around it will be to write code in HSSL, and then use DirectXShaderCompiler to generate SPIR-V, and SPIRV-Cross to then generate MSL. And while DXSC's repo has a page on incompatibilities, no such resource seems to exist for SPIRV-Cross targeting Metal.
-
Learning DirectX 12 in 2023
DirectX Shader Compiler
What are some alternatives?
apitrace - Tools for tracing OpenGL, Direct3D, and other graphics APIs
shaderc - A collection of tools, libraries, and tests for Vulkan shader compilation.
reshade - A generic post-processing injector for games and video software.
glslang - Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
dgVoodoo2 - Glide/DirectX implementation on D3D11/12
rust-gpu - ๐ Making Rust a first-class language and ecosystem for GPU shaders ๐ง
DiligentEngine - A modern cross-platform low-level graphics library and rendering framework
macOS_Wine_builds - Official Winehq macOS Packages
vulkan-renderer - Game engine written with C++ and Vulkan.
ShaderConductor - ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
Vulkan-Samples - One stop solution for all Vulkan samples
SPIRV-Cross - SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.