public BufferView(Buffer buffer, VkFormat format, ulong offset, ulong range) { var bufferViewCreateInfo = new VkBufferViewCreateInfo { sType = VkStructureType.BufferViewCreateInfo, buffer = buffer, format = format, offset = offset, range = range }; handle = Device.CreateBufferView(ref bufferViewCreateInfo); }
internal unsafe VkBufferView GetShaderResourceView(PixelFormat viewFormat) { var createInfo = new VkBufferViewCreateInfo { sType = VkStructureType.BufferViewCreateInfo, buffer = NativeBuffer, format = viewFormat == PixelFormat.None ? VkFormat.Undefined : VulkanConvertExtensions.ConvertPixelFormat(viewFormat), range = (ulong)SizeInBytes, // this.ElementCount //view = (Description.BufferFlags & BufferFlags.RawBuffer) != 0 ? VkBufferViewType.Raw : VkBufferViewType.Formatted, }; vkCreateBufferView(GraphicsDevice.NativeDevice, &createInfo, null, out var bufferView); return(bufferView); }
void CreateBufferView(BufferViewCreateInfo mInfo) { VkBufferViewCreateInfo info = new VkBufferViewCreateInfo(); info.sType = VkStructureType.BufferViewCreateInfo; info.buffer = mInfo.buffer.Native; info.format = mInfo.format; info.offset = mInfo.offset; info.range = mInfo.range; var result = Device.Commands.createBufferView(Device.Native, ref info, Device.Instance.AllocationCallbacks, out bufferView); if (result != VkResult.Success) { throw new BufferViewException(string.Format("Error creating buffer view: {0}", result)); } Offset = mInfo.offset; Range = mInfo.range; }
public static extern VkResult CreateBufferView( VkDevice device, ref VkBufferViewCreateInfo pCreateInfo, IntPtr pAllocator, out VkBufferView pView );
public static VkBufferView CreateBufferView(ref VkBufferViewCreateInfo pCreateInfo) { VulkanUtil.CheckResult(vkCreateBufferView(device, Utilities.AsPtr(ref pCreateInfo), null, out VkBufferView pView)); return(pView); }