VkGetBufferMemoryRequirements(3)
vkGetBufferMemoryRequirementsとは、指定した Vulkan オブジェクトのメモリ要件を返す関数です。
C言語[編集 | ソースを編集]
バッファ・リソースに必要なメモリを決定するには以下を呼び出す:
// Provided by VK_VERSION_1_0
void vkGetBufferMemoryRequirements(
VkDevice device,
VkBuffer buffer,
VkMemoryRequirements* pMemoryRequirements);
引数[編集 | ソースを編集]
- device はバッファを所有する論理デバイスです。
- device は有効な VkDevice ハンドルでなければなりません。
- buffer は問い合わせるバッファです。
- buffer は有効な VkBuffer ハンドルでなければなりません。
- pMemoryRequirements は、バッファ オブジェクトのメモリ要件が返される VkMemoryRequirements 構造体へのポインタです。
- pMemoryRequirements は VkMemoryRequirements 構造体への有効なポインタでなければなりません。
関連[編集 | ソースを編集]
- VK_VERSION_1_0
- VkBuffer
- VkDevice
- VkMemoryRequirements
備考[編集 | ソースを編集]
このページはVulkan Specificationから抜粋したものです。 詳細についてはVulkan仕様書を参照してください。
メモリ確保の大まかな流れ[編集 | ソースを編集]
- vkCreateBufferでバッファを作成する
- vkGetBufferMemoryRequirementsでメモリ要件を取得する
- vkAllocateMemoryでバッファに紐づくメモリを確保する。
- 〜なんからの処理〜
- vkFreeMemoryでバッファに紐づくメモリを解放する
- vkDestroyBufferでバッファを破棄する