簡體   English   中英

如何禁用 Visual Studio 2019 的內置 HLSL 編譯器

[英]How to disable built-in HLSL compiler for Visual Studio 2019

該主題聽起來像是一個重復的問題,但我的問題是我的項目中沒有包含任何 HLSL 文件。 因此,我無法手動禁用/更改 dxc 編譯器。 不過,我添加了一個預構建命令,使用 CMake 從 HLSL 文件生成 SPIR-V。 編譯項目時出現以下錯誤:

dxc 失敗:SPIR-V CodeGen 不可用。 請使用 -DENABLE_SPIRV_CODEGEN=ON 重新編譯。

這意味着 Visual Studio 使用不支持 SPIR-V CodeGen 的內置 dxc。 如何使用 CMake 明確告知要使用哪個 dxc 版本?

明確指定 dxc 路徑以使用 VulkanSDK 的版本解決了這個問題

add_custom_command(
    TARGET ${target}
    PRE_BUILD
    COMMAND $ENV{VULKAN_SDK}/bin/dxc.exe -spirv -fvk-invert-y -T vs_6_0 -E ${vertexEntry} ${file} -Fo ${CMAKE_SOURCE_DIR}/Assets/${vertexEntry}.spv
    COMMAND $ENV{VULKAN_SDK}/bin/dxc.exe -spirv -T ps_6_0 -E ${fragmentEntry} ${file} -Fo ${CMAKE_SOURCE_DIR}/Assets/${fragmentEntry}.spv
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM