2017-03-05 12 views
-1

Vulkanでは、さまざまなパラメータを含む構造体を渡す必要がある関数もあります。フィールドの1つはstypeと名前が付けられ、構造体の型に設定する必要があります。stypeフィールドの目的は何ですか?

stypeの使い方の例:

VkInstanceCreateInfo info; 
info.stype = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; 
... 
VkInstance instance; 
vkCreateInstance(&info, nullptr, &instance); 

機能vkCreateInstanceは、パラメータとしてconst VkInstanceCreateInfo*をとり、そのstypeフィールドのポイントは何ですか?フィールドを追加して固定されていた問題は何でしたか?

+0

おそらく、APIの後のバージョンでフィールドを構造体に追加することができます。そのフィールドに入力した値は、どのフィールドが存在するかを知るように、使用している構造体のバージョンをvulkanに伝えます。 – Eelke

答えて

3

今後のバージョンでは、新しいエントリポイントを必要とせずにタイプを変更することで構造体を更新できます。

現在のところ、pNextリンクリストで見つかった拡張構造体に使用されています。そして、そのような均一なレイアウトを持つすべての構造体を作ることは何の費用もかかりません。実装では、最初のフィールドを無視して正しいと仮定してもかまいません。

関連する問題