「DirectX Shader Compiler」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の7版が非表示)
1行目: 1行目:
'''DirectX Shader Compiler'''(通称:dxc)とは、[[マイクロソフト]]が中心となり[[オープンソース]]のもとで開発が行われている[[LLVM]]/[[Clang]]の技術をベースとした[[HLSL]][[コンパイラー]]である。
+
'''DirectX Shader Compiler'''(通称:dxc)とは、[[マイクロソフト]]が中心となり[[オープンソース]]のもとで開発が行われている[[HLSL]]の新しい[[コンパイラ]]である。
  
 
==概要==
 
==概要==
DirectX12から登場したHLSL向けの新しいコンパイラである。
+
dxcは[[DirectX 12]]から登場した[[HLSL]]の新しい[[コンパイラ]]である。
 +
dxcは[[Windows]]だけでなく[[MacOS]]や[[Linux]]でも動くという特徴がある。
  
 
* https://github.com/microsoft/DirectXShaderCompiler
 
* https://github.com/microsoft/DirectXShaderCompiler
  
dxcを使うと[[HLSL]][[ソースコード]])をDXIL([[中間コード]])に[[コンパイル]]できる。
+
dxcは[[LLVM]]/[[Clang]]の技術をベースとしている。
従来のfxc.exeで作られるDXBC(中間コード)とは別物である。
 
移行期間なのかDirectX12ではdxcとfxcの両方が搭載されている。
 
  
途中から[[Google]]も開発に参加してきて[[Vulkan]]で動かすための[[SPIR-V]](中間コード)も吐けるようになった。こいつ[[Android]]でも使えるぞ!
+
dxcを使うと[[HLSL]]から[[中間コード]](DXIL)を出力できる。
 +
これは従来のfxc.exeで作られる中間コード(DXBC)とはまったくの別物である。
 +
ちなみに[[DirectX12]]にはdxcとfxcの両方が搭載されている。
 +
 
 +
最近では[[Google]]もdxcの開発に加わり、[[Android]]の[[Vulkan]]で使用できる中間コード([[SPIR-V]])も出力できるようになった。
  
 
* [[DirectX Shader CompilerでSPIR-Vを出力する]]
 
* [[DirectX Shader CompilerでSPIR-Vを出力する]]
 +
 +
== dxcで使用できるプロファイル ==
 +
表向きは[[Shader Model]] 6.0以降ということになっている。
 +
しかし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,
 +
|}
  
 
==関連項目==
 
==関連項目==

2020年5月19日 (火) 03:01時点における最新版

DirectX Shader Compiler(通称:dxc)とは、マイクロソフトが中心となりオープンソースのもとで開発が行われているHLSLの新しいコンパイラである。

概要[編集 | ソースを編集]

dxcはDirectX 12から登場したHLSLの新しいコンパイラである。 dxcはWindowsだけでなくMacOSLinuxでも動くという特徴がある。

dxcはLLVM/Clangの技術をベースとしている。

dxcを使うとHLSLから中間コード(DXIL)を出力できる。 これは従来のfxc.exeで作られる中間コード(DXBC)とはまったくの別物である。 ちなみにDirectX12にはdxcとfxcの両方が搭載されている。

最近ではGoogleもdxcの開発に加わり、AndroidVulkanで使用できる中間コード(SPIR-V)も出力できるようになった。

dxcで使用できるプロファイル[編集 | ソースを編集]

表向きはShader Model 6.0以降ということになっている。 しかしShader Model 4.0以降であればコンパイルは通るようだ。 なお、Shader Model 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,

関連項目[編集 | ソースを編集]

類似ツール[編集 | ソースを編集]