public DX11RawBuffer(Device dev, int size, DX11RawBufferFlags flags= new DX11RawBufferFlags()) { this.Size = size; BufferDescription bd = new BufferDescription() { BindFlags = BindFlags.ShaderResource | BindFlags.UnorderedAccess, CpuAccessFlags = CpuAccessFlags.None, OptionFlags = ResourceOptionFlags.RawBuffer, SizeInBytes = this.Size, Usage = ResourceUsage.Default, }; this.Buffer = new Buffer(dev, bd); ShaderResourceViewDescription srvd = new ShaderResourceViewDescription() { Format = SlimDX.DXGI.Format.R32_Typeless, Dimension = ShaderResourceViewDimension.ExtendedBuffer, Flags = ShaderResourceViewExtendedBufferFlags.RawData, ElementCount = size / 4 }; this.SRV = new ShaderResourceView(dev, this.Buffer, srvd); UnorderedAccessViewDescription uavd = new UnorderedAccessViewDescription() { Format = SlimDX.DXGI.Format.R32_Typeless, Dimension = UnorderedAccessViewDimension.Buffer, Flags = UnorderedAccessViewBufferFlags.RawData, ElementCount = size / 4 }; this.UAV = new UnorderedAccessView(dev, this.Buffer, uavd); }
public DX11RawBuffer(Device dev, int size, DX11RawBufferFlags flags = new DX11RawBufferFlags()) { this.Size = size; BufferDescription bd = new BufferDescription() { BindFlags = BindFlags.ShaderResource | BindFlags.UnorderedAccess, CpuAccessFlags = CpuAccessFlags.None, OptionFlags = ResourceOptionFlags.RawBuffer, SizeInBytes = this.Size, Usage = ResourceUsage.Default, }; this.Buffer = new Buffer(dev, bd); ShaderResourceViewDescription srvd = new ShaderResourceViewDescription() { Format = SlimDX.DXGI.Format.R32_Typeless, Dimension = ShaderResourceViewDimension.ExtendedBuffer, Flags = ShaderResourceViewExtendedBufferFlags.RawData, ElementCount = size / 4 }; this.SRV = new ShaderResourceView(dev, this.Buffer, srvd); UnorderedAccessViewDescription uavd = new UnorderedAccessViewDescription() { Format = SlimDX.DXGI.Format.R32_Typeless, Dimension = UnorderedAccessViewDimension.Buffer, Flags = UnorderedAccessViewBufferFlags.RawData, ElementCount = size / 4 }; this.UAV = new UnorderedAccessView(dev, this.Buffer, uavd); }