Exemplo n.º 1
0
        /// <summary>
        /// Adds write info without specifying a destination descriptor set, this imply that on calling Write, you MUST
        /// provide a desDescriptor!
        /// </summary>
        public void AddWriteInfo(VkDescriptorSetLayoutBinding binding)
        {
            VkWriteDescriptorSet wds = VkWriteDescriptorSet.New();

            wds.descriptorType  = binding.descriptorType;
            wds.descriptorCount = binding.descriptorCount;
            wds.dstBinding      = binding.binding;
            WriteDescriptorSets.Add(wds);
        }
Exemplo n.º 2
0
        public static VkWriteDescriptorSet writeDescriptorSet(
            VkDescriptorSet dstSet,
            VkDescriptorType type,
            uint binding,
            VkDescriptorImageInfo *imageInfo,
            uint descriptorCount = 1)
        {
            VkWriteDescriptorSet writeDescriptorSet = VkWriteDescriptorSet.New();

            writeDescriptorSet.dstSet          = dstSet;
            writeDescriptorSet.descriptorType  = type;
            writeDescriptorSet.dstBinding      = binding;
            writeDescriptorSet.pImageInfo      = imageInfo;
            writeDescriptorSet.descriptorCount = descriptorCount;
            return(writeDescriptorSet);
        }
Exemplo n.º 3
0
        public void AddWriteInfo(DescriptorSet destSet, VkDescriptorSetLayoutBinding binding, VkDescriptorImageInfo descriptor)
        {
            if (!descriptors.Contains(descriptor))
            {
                descriptors.Add(descriptor);
            }
            VkWriteDescriptorSet wds = VkWriteDescriptorSet.New();

            wds.descriptorType  = binding.descriptorType;
            wds.descriptorCount = binding.descriptorCount;
            wds.dstBinding      = binding.binding;
            wds.dstSet          = destSet.handle;
            wds.pImageInfo      = descriptor.Pin();

            WriteDescriptorSets.Add(wds);
        }