0
셰이더가 사용할 이미지 (예 : 텍스처)를 플래그 HOST_VISIBLE |로 할당 된 VkDeviceMemory에 바인딩 할 수 있을지 궁금합니다. HOST_COHERENT.리소스 (쉐이더)를 쉐이딩 할 때 호스트 상에있을 수 있습니까?
셰이더가 사용할 이미지 (예 : 텍스처)를 플래그 HOST_VISIBLE |로 할당 된 VkDeviceMemory에 바인딩 할 수 있을지 궁금합니다. HOST_COHERENT.리소스 (쉐이더)를 쉐이딩 할 때 호스트 상에있을 수 있습니까?
구현에 따라 허용 될 수 있습니다.
VkImage
을 메모리에 바인딩하기 전에 먼저 을 사용하여 해당 특정 및 VkImageType
에 허용되는 메모리 유형을 결정해야합니다. 이것은 구현 정의 된 특성입니다. 구현시 특정 메모리 유형을 해당 이미지에 사용할 수 있다고 말하면 VkImage
(및 사양에서 정의한 것과 유사한 매개 변수를 가진 메모리 유형)에 해당 메모리 유형에서 할당 된 메모리를 사용할 수 있습니다.
그렇지 않으면 할 수 없습니다.
구현에 따라 다르지만 'vkGetPhysicalDeviceImageFormatProperties'에는 입력 또는 출력으로 메모리 유형이 없습니다. 원하는 매개 변수를 사용하여 VkImage를 생성하면, 그것을 'vkGetImageMemoryRequirements'로 전달하고, 반환 된'VkMemoryRequirements :: memoryTypeBits'는 이미지가'HOST_VISIBLE | HOST_COHERENT' 메모리 유형으로 사용될 수 있는지 여부를 나타냅니다. –
@JesseHall : 수정 됨. –