メインメニューを開く

差分

DirectX Shader Compiler

1,135 バイト追加, 2020年5月19日 (火) 03:01
編集の要約なし
'''DirectX Shader Compiler'''(通称:dxc)とは、[[マイクロソフト]]が中心となり[[オープンソース]]のもとで開発が行われている[[LLVM]]/[[Clang]]の技術をベースとした[[HLSL]]の新しい[[コンパイラーコンパイラ]]である。
==概要==
DirectX12から登場したHLSL向けの新しいコンパイラである。dxcは[[DirectX 12]]から登場した[[HLSL]]の新しい[[コンパイラ]]である。dxcは[[Windows]]だけでなく[[MacOS]]や[[Linux]]でも動くという特徴がある。
*https://github.com/microsoft/DirectXShaderCompiler
dxcを使うとdxcは[[HLSLLLVM]]/[[ソースコードClang]])をDXIL([[中間コード]])に[[コンパイル]]できる。従来のfxc.exeで作られるDXBC(中間コード)とは別物である。移行期間なのかDirectX12ではdxcとfxcの両方が搭載されている。の技術をベースとしている。
途中からdxcを使うと[[GoogleHLSL]]も開発に参加してきてから[[Vulkan中間コード]]で動かすための(DXIL)を出力できる。これは従来のfxc.exeで作られる中間コード(DXBC)とはまったくの別物である。ちなみに[[SPIR-VDirectX12]](中間コード)も吐けるようになった。こいつ[[Android]]でも使えるぞ!にはdxcとfxcの両方が搭載されている。
最近では[[Google]]もdxcの開発に加わり、[[Android]]の[[Vulkan]]で使用できる中間コード([[SPIR-V]])も出力できるようになった。 *https://github[[DirectX Shader CompilerでSPIR-Vを出力する]] == dxcで使用できるプロファイル ==表向きは[[Shader Model]] 6.com/google/DirectXShaderCompiler0以降ということになっている。しかしShader Model 4.0以降であればコンパイルは通るようだ。なお、Shader Model 3.0より古いバージョンはは駄目なようだ。 {| class="wikitable"|-| [[Vertex Shader]] || vs_6_0, vs_6_1, vs_6_2, vs_6_3, vs_6_4, vs_6_5, vs_6_6, |-| [[Geometry Shader]] || gs_6_0, gs_6_1, gs_6_2, gs_6_3, gs_6_4, gs_6_5, gs_6_6, |-| [[Pixel Shader]] || ps_6_0, ps_6_1, ps_6_2, ps_6_3, ps_6_4, ps_6_5, ps_6_6, |-| [[Hull Shader]] || hs_6_0, hs_6_1, hs_6_2, hs_6_3, hs_6_4, hs_6_5, hs_6_6, |-| [[Domain Shader]] || ds_6_0, ds_6_1, ds_6_2, ds_6_3, ds_6_4, ds_6_5, ds_6_6,|-| [[Library]] || lib_6_1, lib_6_2, lib_6_3, lib_6_4, lib_6_5, lib_6_6, |-| [[Compute Shader]] || cs_6_0, cs_6_1, cs_6_2, cs_6_3, cs_6_4, cs_6_5, cs_6_6, |-| [[Amplification Shader]] || as_6_5, as_6_6, |-| [[Mesh Shader]] || ms_6_5, ms_6_6, |}
==関連項目==