D3D11_BIND_FLAG列舉 (d3d11.h)
識別如何將資源系結至管線。
Syntax
typedef enum D3D11_BIND_FLAG {
D3D11_BIND_VERTEX_BUFFER = 0x1L,
D3D11_BIND_INDEX_BUFFER = 0x2L,
D3D11_BIND_CONSTANT_BUFFER = 0x4L,
D3D11_BIND_SHADER_RESOURCE = 0x8L,
D3D11_BIND_STREAM_OUTPUT = 0x10L,
D3D11_BIND_RENDER_TARGET = 0x20L,
D3D11_BIND_DEPTH_STENCIL = 0x40L,
D3D11_BIND_UNORDERED_ACCESS = 0x80L,
D3D11_BIND_DECODER = 0x200L,
D3D11_BIND_VIDEO_ENCODER = 0x400L
} ;
常數
D3D11_BIND_VERTEX_BUFFER 值: 0x1L 將緩衝區系結為頂點緩衝區至輸入組合器階段。 |
D3D11_BIND_INDEX_BUFFER 值: 0x2L 將緩衝區系結為索引緩衝區至輸入組合器階段。 |
D3D11_BIND_CONSTANT_BUFFER 值: 0x4L 將緩衝區系結為常數緩衝區至著色器階段;此旗標不可與任何其他系結旗標結合。 |
D3D11_BIND_SHADER_RESOURCE 值: 0x8L 將緩衝區或紋理系結至著色器階段;這個旗標不能與 D3D11_MAP_WRITE_NO_OVERWRITE 旗標搭配使用。 注意 從 Windows 8 開始提供的 Direct3D 11.1 執行時間,可讓動態常數緩衝區和著色器資源檢視 (SRV) 動態緩衝區與 D3D11_MAP_WRITE_NO_OVERWRITE。 Direct3D 11 和更早的執行時間限制對應至頂點或索引緩衝區。 若要判斷 Direct3D 裝置是否支援這些功能,請使用D3D11_FEATURE_D3D11_OPTIONS呼叫ID3D11Device::CheckFeatureSupport。 CheckFeatureSupport 會以裝置的功能填入 D3D11_FEATURE_DATA_D3D11_OPTIONS 結構的成員。 這裡的相關成員包括 MapNoOverwriteOnDynamicConstantBuffer 和 MapNoOverwriteOnDynamicBufferSRV。 |
D3D11_BIND_STREAM_OUTPUT 值: 0x10L 系結資料流程輸出階段的輸出緩衝區。 |
D3D11_BIND_RENDER_TARGET 值: 0x20L 將紋理系結為輸出合併階段的轉譯目標。 |
D3D11_BIND_DEPTH_STENCIL 值: 0x40L 將紋理系結為輸出合併階段的深度樣板目標。 |
D3D11_BIND_UNORDERED_ACCESS 值: 0x80L 系結 未排序的存取 資源。 |
D3D11_BIND_DECODER 值: 0x200L 設定此旗標,指出 2D 紋理 是用來接收解碼器 API 的輸出。 建立解碼器輸出資源的常見方式是呼叫 ID3D11Device::CreateTexture2D 方法來建立 2D 紋理陣列。 不過,您無法在呼叫 ID3D11Device::CreateShaderResourceView時使用此旗標所建立的紋理陣列。 Direct3D 11: 在 Direct3D 11.1 之前,不支援此值。 |
D3D11_BIND_VIDEO_ENCODER 值: 0x400L 設定此旗標以指出 2D 紋理 是用來接收視訊編碼器 API 的輸入。 建立視訊編碼器資源的常見方式是呼叫 ID3D11Device::CreateTexture2D 方法來建立 2D 紋理陣列。 不過,您無法在呼叫 ID3D11Device::CreateShaderResourceView時使用此旗標所建立的紋理陣列。 Direct3D 11: 在 Direct3D 11.1 之前,不支援此值。 |
備註
一般而言,系結旗標可以使用位 OR (來結合,但常數緩衝區旗標) 除外;不過,您應該使用單一旗標來允許裝置優化資源使用量。
此列舉是由下列專案使用:
- 建立緩衝區時的緩衝區描述。
- 建立紋理 (時,請參閱 D3D11_TEXTURE1D_DESC 或 D3D11_TEXTURE2D_DESC 或 D3D11_TEXTURE3D_DESC) 。
注意 從 Windows 8 開始提供的 Direct3D 11.1 執行時間,可讓動態常數緩衝區和著色器資源檢視 (SRV) 動態緩衝區與 D3D11_MAP_WRITE_NO_OVERWRITE。 Direct3D 11 和更早的執行時間限制對應至頂點或索引緩衝區。 若要判斷 Direct3D 裝置是否支援這些功能,請使用D3D11_FEATURE_D3D11_OPTIONS呼叫ID3D11Device::CheckFeatureSupport。 CheckFeatureSupport 會以裝置的功能填入 D3D11_FEATURE_DATA_D3D11_OPTIONS 結構的成員。 這裡的相關成員包括 MapNoOverwriteOnDynamicConstantBuffer 和 MapNoOverwriteOnDynamicBufferSRV。
規格需求
標頭 | d3d11.h |