コード例 #1
0
        public void UpdateSparseBindInfo()
        {
            // Update list of memory-backed sparse image memory binds
            sparseImageMemoryBinds.Clear();
            foreach (var page in pages)
            {
                sparseImageMemoryBinds.Add(page.imageMemoryBind);
            }

            // Image memory binds
            imageMemoryBindInfo = new[] { new VkSparseImageMemoryBindInfo(image, sparseImageMemoryBinds.AsSpan()) };

            // Opaque image memory binds for the mip tail
            opaqueMemoryBindInfo = new[] { new VkSparseImageOpaqueMemoryBindInfo(image, opaqueMemoryBinds.AsSpan()) };

            bindSparseInfo = new VkBindSparseInfo(null, null, opaqueMemoryBindInfo, imageMemoryBindInfo, null);
        }
コード例 #2
0
 public static extern VkResult QueueBindSparse(
     VkQueue queue,
     uint bindInfoCount,
     ref VkBindSparseInfo pBindInfo,
     VkFence fence
     );
コード例 #3
0
 public static VkResult vkQueueBindSparse(VkQueue queue, VkBindSparseInfo bindInfo, VkFence fence)
 {
     return(vkQueueBindSparse(queue, 1, &bindInfo, fence));
 }