ユーザ用ツール

サイト用ツール


d3d:d3d12:descriptor

文書の過去の版を表示しています。


RootSignature と Descriptor

RootSignature と API

Shader にパラメータを渡す方法のまとめ。

Type Descriptor Heap 設定 API 描画時に設定する内容 Reg 設定個数 消費Cost
CBV CBV_SRV_UAV Descriptor Table CommandList::SetGraphicsRootDescriptorTable() 先頭の GPU Descriptor Handle b 複数 1
CBV - Root Descriptor CommandList::SetGraphicsRootConstantBufferView() Resource GPU Address b 1 2
CBV - Root Constants CommandList::SetGraphicsRoot32BitConstants() Constant Value b 1 1x個数
SRV CBV_SRV_UAV Descriptor Table CommandList::SetGraphicsRootDescriptorTable() 先頭の GPU Descriptor Handle t 複数 1
SRV - Root Descriptor CommandList::SetGraphicsRootShaderResourceView() Resource GPU Address t 1 2 Raw/Structured のみ
UAV CBV_SRV_UAV Descriptor Table CommandList::SetGraphicsRootDescriptorTable() 先頭の GPU Descriptor Handle u 複数 1
UAV - Root Descriptor CommandList::SetGraphicsRootUnorderedAccessView() Resource GPU ADdress u 1 2 Raw/Structured のみ
Sampler SAMPLER Descriptor Table CommandList::SetGraphicsRootDescriptorTable() 先頭の GPU Descriptor Handle s 複数 1
Sampler - Static Sampler Device::CreateRootSignature() s 複数 - 動的に変更できない
RTV RTV Descriptor Table CommandList::OMSetRenderTargets() CPU Descriptor Handle 複数 -
DSV DSV Descriptor Table CommandList::OMSetRenderTargets() CPU Descriptor Handle 1 -
  • CBV, SRV, UAV, Sampler いずれも Descriptor Table を使う方法、使わない方法両方用意されています。
    • ただし SRV, UAV は Descriptor Table 以外は機能制限があります。
  • CBV は、DescriptorTable を使う場合、直接 Root Descriptor に設定する場合、値を RootSignature に直接格納する場合の 3通りの方法があります。
Core i7-4790K Jaguar N3150
Intel GCN 1.0 Kepler Maxwell1Maxwell2 GCN1.1 Gen8
const32bit 18.33 9.88 11.26 8.25 13.35 14.80 36.61
root desc 18.24 14.39 10.00 7.48 13.40 17.45 36.74
global handle 18.44 11.70 9.00 8.06 12.80 15.48 33.74
buf shared 18.25 11.69 9.90 7.44 13.31 14.72 35.53
cached 10.76 11.70 13.50 12.60 12.51 10.48 21.20
Dynamic Heap 25.66 35.54 15.96 15.00 15.18 133.73 79.77
Shared RS 17.45 11.72 14.88 14.87 14.88 13.08 33.14
Separate RS 18.25 11.70 10.25 9.50 12.20 13.25 33.66
Bundle const32bit 18.67 9.00 8.75 9.87 35.50
Bundle root desc 20.55 9.66 9.66 9.90 36.96
Bundle copy 42.62 34.47 17.11 15.00 67.93
Bundle cached 20.35 8.23 8.41 9.90 35.22
Bundle2 21.26 28.28 15.36 15.28 15.50 90.24 66.38
d3d/d3d12/descriptor.1442733073.txt.gz · 最終更新: 2015/09/20 16:11 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki