2017-12-26 2 views

Antwort

2

Es kann, wenn Ihre Implementierung es erlaubt.

Bevor Sie VkImage den Speicher binden können, müssen Sie zuerst vkGetImageMemoryRequirements verwenden, um festzustellen, welche Speichertypen für diese bestimmte VkImageFormat und VkImageType erlaubt sind. Dies sind implementierungsdefinierte Eigenschaften. Wenn die Implementierung angibt, dass ein bestimmter Speichertyp für dieses Bild verwendet werden kann, können Sie Speicher verwenden, der diesem Speichertyp für diesen VkImage zugewiesen wurde (und solche mit ähnlichen Parametern, wie in der Spezifikation definiert).

Wenn nicht, dann können Sie nicht.

+0

Ich stimme zu, dass es implementierungsabhängig ist, aber 'vkGetPhysicalDeviceImageFormatProperties' hat keinen Speichertyp als Eingabe oder Ausgabe. Wenn Sie das VkImage mit den gewünschten Parametern erstellen, übergeben Sie es an 'vkGetImageMemoryRequirements', und das zurückgegebene' VkMemoryRequirements :: memoryTypeBits' zeigt an, ob das Image in einem 'HOST_VISIBLE | HOST_COHERENT' Speichertyp verwendet werden kann. –

+0

@JesseHall: Korrigiert. –

Verwandte Themen