D3D12_RESOURCE_FLAGS列舉 (d3d12.h)
定義常數,指定使用資源的選項。
Syntax
typedef enum D3D12_RESOURCE_FLAGS {
D3D12_RESOURCE_FLAG_NONE = 0,
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
} ;
常數
D3D12_RESOURCE_FLAG_NONE 值: 0 未指定任何選項。 |
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET 值: 0x1 允許為資源建立轉譯目標檢視;和也可讓資源轉換成 D3D12_RESOURCE_STATE_RENDER_TARGET的狀態。 有些配接器架構會為此旗標的紋理配置額外的記憶體,以減少一般轉譯期間的有效頻寬。 這個特性對於從未轉譯成的紋理可能沒有説明,也不適用於使用 BC 格式壓縮的紋理。 您的應用程式應該避免在轉譯永遠不會發生時設定此旗標。 適用下列限制和互動:
|
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 值: 0x2 允許為資源建立深度樣板檢視,以及讓資源轉換為 D3D12_RESOURCE_STATE_DEPTH_WRITE 和/或 D3D12_RESOURCE_STATE_DEPTH_READ的狀態。 大部分的配接器架構都會為此旗標的紋理配置額外的記憶體,以減少有效頻寬,並將早期深度測試的優化最大化。 當深度作業永遠不會發生時,您的應用程式應該避免設定此旗標。 適用下列限制和互動:
|
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS 值: 0x4 允許為資源建立未排序的存取檢視,以及讓資源轉換為 D3D12_RESOURCE_STATE_UNORDERED_ACCESS的狀態。 某些配接器架構必須採用效率較低的紋理配置,才能提供這項功能。 如果紋理很少用於未排序的存取,則其周圍可能有兩個紋理,並在兩者之間複製。 其中一個紋理會有這個旗標,而另一個紋理則不會。 當永遠不會發生未排序的存取作業時,您的應用程式應該避免設定此旗標。 適用下列限制和互動:
|
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE 值: 0x8 不允許為資源建立著色器資源檢視,並停用資源轉換為 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 或 D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE的狀態。 某些配接器架構會在排除著色器資源檢視時,取得深度樣板紋理的頻寬容量。 如果紋理很少用於著色器資源,則可能值得有兩個紋理四處複製,並在兩者之間複製。 其中一個紋理會有這個旗標,而另一個紋理則不會。 當您的深度樣板紋理永遠不會從著色器資源檢視中使用時,您的應用程式應該設定此旗標。 適用下列限制和互動:
|
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER 值: 0x10 允許資源用於交叉配接器數據,以及 由 D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS 啟用的功能。 跨配接器資源通常會排除在使用期間降低有效紋理頻寬的技術,而某些配接器架構可能需要不同的快取行為。 當資源數據永遠不會與其他配接器搭配使用時,您的應用程式應該避免設定此旗標。 適用下列限制和互動:
|
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS 值: 0x20 例如,允許多個不同佇列、裝置或進程同時存取資源 (,可讓資源與在多個同時執行的命令清單中執行的 ResourceBarrier 轉換搭配使用) 。 同時存取可允許多個讀取器和一個寫入器,只要寫入器不會同時修改其他讀取器正在存取的紋素。 某些配接器架構無法利用技術來降低使用期間的有效紋理頻寬。 不過,當多個讀取器在頻繁、非重疊的紋理寫入期間不需要時,您的應用程式應該避免設定此旗標。 使用此旗標可能會危害資源柵欄以執行等候,並防止任何壓縮與資源搭配使用。 適用下列限制和互動:
|
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 值: 0x40 此資源只能做為譯碼參考框架的規格。 影片譯碼作業可能會寫入或唯讀。 D3D12_VIDEO_DECODE_TIER_1和D3D12_VIDEO_DECODE_TIER_2可能會報告D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT結構組態旗標的D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED。 如果發生這種情況,您的應用程式必須使用 D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 資源旗標來配置參考框架。 D3D12_VIDEO_DECODE_TIER_3 不得設定 [D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED] (../d3d12video/ne-d3d12video-d3d12_video_decode_configuration_flags) 組態旗標,而且不得使用此資源旗標。 |
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY 值: 0x80 此資源的規格只能當做編碼參考框架使用。 它可由視訊編碼作業寫入或只讀。 |
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE 值: 0x100 保留供未來使用。 請勿使用。 需要 DirectX 12 Agility SDK 1.7 或更新版本。 表示緩衝區要當做光線追蹤加速結構使用。 |
備註
D3D12_RESOURCE_DESC的Flags 成員會使用此列舉。
規格需求
需求 | 值 |
---|---|
標頭 | d3d12.h |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應