该报错是D3D12中通过`ID3D12InfoQueue1::RegisterMessageCallback`注册的错误信息回调输出的,出现在创建PSO过程,由于无法识别Shader,后续流程无法继续,属于阻断性报错。 我是用的是微软的DirectX Shader Compiler(DXC)库,因为该库能将hlsl编译为Spirv或dxil,同时支持SM6.0+。 同样的Shader代码,在Vulkan下编译和运行一切...
问题描述 DXC(DirectXShaderCompiler)是微软出的Shader编译库,可以编译DX所需的HLSL,也可以将hlsl编译成Vulkan所需的spirv. 上周在自己的引擎中尝试用Shader头文件实现代码复用,在需要编译的.hlsl中Include了一个.hlsli: #include "shadowCommon.hlsli" struct VSOutput{ float4 Position: SV_POSITION; float2 UV: T...
DXC(DirectXShaderCompiler)是微软出的Shader编译库,可以编译DX所需的HLSL,也可以将hlsl编译成Vulkan所需的spirv. 上周在自己的引擎中尝试用Shader头文件实现代码复用,在需要编译的.hlsl中Include了一个.hlsli: 然后调用IDxcCompiler3::Compile编译这个hlsl文件,结果第一行就报错了: .hlsl文件和.hlsli文件位于同一目录,...
Hi, I'm using IDxcCompiler3::Compile to compile HLSL. Without "-spirv", I'm able to simply query a DXC_OUT_PDB and get a good PDB blob using IDxcResult::GetOutput. With "-spirv", however, there's no such output, and I can't seem to get m...
const String languages[] = { "hlsl", "glsl", "glsl410", "glsl300es", "metal", "spirv", "dxil" }; // Map languages to nodes std::map<String, const ConfigNode*> langToNode; @@ -78,7 +78,11 @@ void MaterialImporter::loadPass(MaterialDefinition& material, const ConfigNode& if...
带有Microsoft DirectX 着色器编译器 (dxil 和 spirv) 的 Docker 映像docker-dxc带有 Microsoft DirectX 着色器编译器的 Docker 映像中心https://hub.docker.com/r/gwihlidal/dxc/用法$ docker run --rm gwihlidal/dxc -help$ docker run --rm -v $(pwd):$(pwd) -w $(pwd) gwihlidal/dxc -T-E示例...
DXC(DirectXShaderCompiler)是微软出的Shader编译库,可以编译DX所需的HLSL,也可以将hlsl编译成Vulkan所需的spirv. 上周在自己的引擎中尝试用Shader头文件实现代码复用,在需要编译的.hlsl中Include了一个.hlsli: 然后调用IDxcCompiler3::Compile编译这个hlsl文件,结果第一行就报错了: .hlsl文件和.hlsli文件位于同一目录...