D3D12_ROOT_SIGNATURE_FLAGS列舉 (d3d12.h)
指定根簽章配置的選項。
Syntax
typedef enum D3D12_ROOT_SIGNATURE_FLAGS {
D3D12_ROOT_SIGNATURE_FLAG_NONE = 0,
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800
} ;
常數
D3D12_ROOT_SIGNATURE_FLAG_NONE 值: 0 表示預設行為。 |
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT 值: 0x1 應用程式選擇使用輸入組合器 (需要定義一組頂點緩衝區系結的輸入配置) 。 省略此旗標可能會導致一個根引數空間儲存在某些硬體上。 如果不需要輸入組合器,但優化是次要的,請省略此旗標。 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS 值: 0x2 拒絕頂點著色器對根簽章的存取。 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS 值: 0x4 拒絕殼層著色器對根簽章的存取。 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS 值: 0x8 拒絕網域著色器對根簽章的存取。 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS 值: 0x10 拒絕對根簽章的幾何著色器存取。 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS 值: 0x20 拒絕圖元著色器對根簽章的存取。 |
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT 值: 0x40 應用程式選擇使用串流輸出。 省略此旗標可能會導致一個根引數空間儲存在某些硬體上。 如果不需要 Stream 輸出,但優化是次要的,請省略此旗標。 |
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE 值: 0x80 根簽章會與光線追蹤著色器搭配使用,以定義從著色器資料表中著色器記錄來源的資源系結。 此旗標無法與任何其他根簽章旗標結合,這些旗標與圖形管線所有相關。 缺少 旗標表示根簽章可以搭配圖形或計算使用,其中計算版本也會與 raytracing 的全域根簽章共用。 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS 值: 0x100 拒絕對根簽章的放大著色器存取。 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS 值: 0x200 拒絕網格著色器對根簽章的存取。 |
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED 值: 0x400 著色器可以使用 ResourceDescriptorHeap 內建變數,直接為 CBV/SRV/UAV 描述元堆積編制索引。 |
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED 值: 0x800 著色器可以使用 SamplerDescriptorHeap 內建變數,直接為取樣器描述元堆積編制索引。 |
備註
此列舉用於 D3D12_ROOT_SIGNATURE_DESC 結構。
拒絕存取著色器階段的值是某些硬體上的次要優化。 例如,如果 D3D12_SHADER_VISIBILITY_ALL 旗標已設定為將所有著色器階段廣播根簽章,則拒絕存取可能會覆寫此專案,並儲存硬體一些工作。 或者,如果著色器很簡單,不需要根簽章資源,則您也可以在這裡使用拒絕存取。
需求
標頭 | d3d12.h |