0

Vulkan API の C++ ラッパーを作成しているので、ドキュメントが実際の API の内容と矛盾しないようにしたいと考えています。

Device device1 = physical_device.Connect(device_settings);
Device device2 = physical_device.Connect(device_settings);

このシナリオは、LunarG 標準検証レイヤーを有効にして実行している場合でも機能します。しかし、現在、正しくないにもかかわらず、検証レイヤーを通過しているものはたくさんあります。だから私の質問は、これを行うことは有効ですか?

4

1 に答える 1

4

以下の仕様からvkCreateDevice

同じ物理デバイスから複数の論理デバイスを作成できます。

ドキュメントの「有効な使用法」セクションでは明示的に禁止されていないため、それを言う必要はありません。確かに、次の文は次のとおりです。

(他のエラーに加えて) デバイス固有のリソースが不足しているため、論理デバイスの作成に失敗する場合があります。

VkDeviceしたがって、同じ から無限のオブジェクトを作成することはできませんVkPhysicalDevice。実装が複数をサポートしたくない場合は、サポートする必要はありません。

于 2016-04-08T04:51:41.800 に答える