internal unsafe ReflectDescriptorBinding(SpirvReflectNative.SpvReflectDescriptorBinding binding)
        {
            Native = binding;

            Set                  = binding.set;
            Accessed             = binding.accessed;
            Name                 = new string(binding.name);
            Binding              = binding.binding;
            SpirvId              = binding.spirv_id;
            Count                = binding.count;
            ResourceType         = (ReflectResourceType)binding.resource_type;
            UavCounterId         = binding.uav_counter_id;
            InputAttachmentIndex = binding.input_attachment_index;
            Image                = new ReflectImageTraits(binding.image);
            Array                = new ReflectBindingArrayTraits(binding.array);
            DescriptorType       = (ReflectDescriptorType)binding.descriptor_type;
            Block                = new ReflectBlockVariable();
            ReflectBlockVariable.PopulateReflectBlockVariable(ref binding.block, ref Block);
            TypeDescription = ReflectTypeDescription.GetManaged(ref *binding.type_description);

            //UavCounterBinding = new ReflectDescriptorBinding(*binding.uav_counter_binding);
        }
示例#2
0
 internal Traits(SpirvReflectNative.Traits traits)
 {
     Array   = new ReflectArrayTraits(traits.array);
     Image   = new ReflectImageTraits(traits.image);
     Numeric = new ReflectNumericTraits(traits.numeric);
 }