Example #1
0
        public GLDescriptorSetLayout(MgDescriptorSetLayoutCreateInfo pCreateInfo)
        {
            var bindings = new List <GLUniformBinding>();

            if (pCreateInfo.Bindings != null)
            {
                foreach (var binding in pCreateInfo.Bindings)
                {
                    var uniform = new GLUniformBinding {
                        Binding         = binding.Binding,
                        DescriptorType  = binding.DescriptorType,
                        DescriptorCount = binding.DescriptorCount,
                        StageFlags      = binding.StageFlags,
                    };
                    bindings.Add(uniform);
                }
            }
            Uniforms = bindings.ToArray();
        }
Example #2
0
        public GLNextPipelineLayout(MgPipelineLayoutCreateInfo pCreateInfo)
        {
            if (pCreateInfo.SetLayouts.Length == 1)
            {
                var layout = (IGLDescriptorSetLayout)pCreateInfo.SetLayouts[0];
                Bindings = layout.Uniforms;
            }
            else
            {
                Bindings = new GLUniformBinding[0];
            }

            NoOfBindingPoints          = 0U;
            NoOfStorageBuffers         = 0U;
            NoOfExpectedDynamicOffsets = 0U;

            Ranges             = new SortedDictionary <uint, GLBindingPointOffsetInfo>();
            OffsetDestinations = ExtractBindingsInformation();
            SetupOffsetRangesByBindings();
        }