2017-11-03 15 views

답변

3

Vulkan 개체는 엄격한 계층 구조로 그룹화됩니다. 객체를 만드는 데 사용 된 객체는 객체를 소유하고 일반적으로 객체를 생성하는 데 사용 된 객체를 삭제하면 더 이상 객체를 사용할 수 없습니다.

예 : vkAllocateMemoryVkDevice입니다. 해당 메모리 개체는 해당 논리 장치에서 할당되고 바인딩됩니다. 해당 장치가 파괴되면 더 이상 사용할 수 없습니다. 그리고 해당 장치가 응용 프로그램에 속하지 않으면 사용할 수 없습니다.

이제 확장자 (및 변형 집합)를 사용하면 Vulkan에서 장치간에 메모리에 액세스 할 수 있습니다. 이는 여러 프로세스에서도 작동합니다. VkPhysicalDeviceIDPropertiesKHR::deviceUUID과 동일한 물리적 장치를 사용하는 로컬 논리 장치를 만드는 두 개의 프로세스를 가질 수 있습니다. 이러한 논리적 장치는 서로 메모리를 공유 할 수 있지만 특수 구조체를 사용하여 공유하도록 지정해야합니다.

이 공유는 동일한 실제 장치를 나타내는 논리 장치가 deviceUUID 인 경우에만 작동합니다.

+0

명확한 답변을 보내 주셔서 감사합니다. – phil