private DescriptorSetCollection CreateBufferImage(CommandBufferScoped cbs, ref HandleSet key, int setIndex, DescriptorType type) { var dsc = _gd.DescriptorSetManager.AllocateDescriptorSet(_gd.Api, _descriptorSetLayouts[setIndex]).Get(cbs); Span <BufferView> texelBufferView = stackalloc BufferView[key.Count]; for (int i = 0; i < key.Count; i++) { texelBufferView[i] = new BufferView(key.Handles[i]); } dsc.UpdateBufferImages(0, 0, texelBufferView, type); return(dsc); }
private DescriptorSetCollection CreateImage(CommandBufferScoped cbs, ref HandleSet key) { var dsc = _gd.DescriptorSetManager.AllocateDescriptorSet(_gd.Api, _descriptorSetLayouts[PipelineBase.ImageSetIndex]).Get(cbs); Span <DescriptorImageInfo> imageInfos = stackalloc DescriptorImageInfo[key.Count]; for (int i = 0; i < key.Count; i++) { imageInfos[i] = new DescriptorImageInfo() { ImageLayout = ImageLayout.General, ImageView = new ImageView(key.Handles[i]) }; } dsc.UpdateImages(0, 0, imageInfos, DescriptorType.StorageImage); return(dsc); }
private DescriptorSetCollection CreateBufferImage(CommandBufferScoped cbs, ref HandleSet key) { return(CreateBufferImage(cbs, ref key, PipelineBase.BufferImageSetIndex, DescriptorType.StorageTexelBuffer)); }
public DescriptorSetCollection GetBufferImage(CommandBufferScoped cbs, ref HandleSet key) { return(GetOrCreate(cbs, ref key, _bICache, CreateBufferImage)); }