「DirectX Shader Compiler」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
22行目: | 22行目: | ||
{| class="wikitable" | {| 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, | + | | [[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, | + | | [[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, | + | | [[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, | + | | [[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, | + | | [[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, | + | | [[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, | + | | [[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, | + | | [[Amplification Shader]] || as_6_5, as_6_6, |
|- | |- | ||
− | | Mesh Shader || ms_6_5, ms_6_6, | + | | [[Mesh Shader]] || ms_6_5, ms_6_6, |
|} | |} | ||
2020年5月18日 (月) 08:58時点における版
DirectX Shader Compiler(通称:dxc)とは、マイクロソフトが中心となりオープンソースのもとで開発が行われているLLVM/Clangの技術をベースとしたHLSLの新しいコンパイラである。
概要
dxcはDirectX 12から登場した新しいHLSL向けのコンパイラである。 WindowsだけでなくMacOSやLinuxでも動くという特徴がある。
dxcを使うとHLSL(ソースコード)を中間コード(DXIL)にコンパイルできる。 これは従来のfxc.exeで作られる中間コード(DXBC)とは別物である。 移行期間なのかDirectX12ではdxcとfxcの両方が搭載されている。
また、途中からGoogleも開発に参加してきてVulkanで動かすための中間コード(SPIR-V)も吐けるようになった。こいつAndroidでも使えるぞ!
dxcで使用できるプロファイル
表向きはvs_6_0以降ということになっている。 しかしvs_4_0以降ならコンパイルが通る。 なお、vs_3_0より古いのは駄目だ。
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, |
関連項目
- MacでDirectX Shader Compilerをビルドする
- DirectX Shader CompilerでSPIR-Vを出力する
- SPIR-VからGLSLを生成する
- SPIR-VからHLSLを生成する
- MacにMoltenVKを入れてVulkanを使ってみる