「VkGetBufferMemoryRequirements(3)」の版間の差分

提供:MonoBook
編集の要約なし
 
30行目: 30行目:
* https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#vkGetBufferMemoryRequirements
* https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#vkGetBufferMemoryRequirements


== 大まかな流れ ==
== メモリ確保の大まかな流れ ==
* vkCreateBufferでバッファを作成する
* vkCreateBufferでバッファを作成する
* vkGetBufferMemoryRequirementsでメモリ要件を取得する
* vkGetBufferMemoryRequirementsでメモリ要件を取得する

2025年1月14日 (火) 02:18時点における最新版

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でバッファを破棄する