Hello.
I want to create a typedBuffer in SharpDX but when I tr to create a ShaderResourceView for it, gives me this error :
Additional information: HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.
The Code :
public RWIntBuffer(int MaximumCount, int[] initialData, bool IsDynamic = false)
{
this.IsDynamic = IsDynamic;
int stride = Marshal.SizeOf(typeof(int));
DataStream stream = new DataStream(MaximumCount*stride,false, true);
if (initialData != null)
stream.WriteRange<int>(initialData);
ResourceUsage usage = ResourceUsage.Default;
if(IsDynamic)
usage = ResourceUsage.Dynamic;
buffer = new Buffer(GraphicsRenderer.device, stream, stride * MaximumCount, usage, BindFlags.ShaderResource | BindFlags.UnorderedAccess, IsDynamic ? CpuAccessFlags.Write : CpuAccessFlags.None, ResourceOptionFlags.BufferAllowRawViews, stride);
ShaderResourceViewDescription desc = new ShaderResourceViewDescription();
desc.Dimension = ShaderResourceViewDimension.Buffer;
desc.Format = SharpDX.DXGI.Format.R32_UInt;
ShaderView = new ShaderResourceView(GraphicsRenderer.device, buffer,desc);
UnorderedAccessViewDescription desc2 = new UnorderedAccessViewDescription();
desc2.Format = SharpDX.DXGI.Format.R32_SInt;
desc2.Dimension = UnorderedAccessViewDimension.Buffer;
UnorderedView = new UnorderedAccessView(GraphicsRenderer.device, buffer,desc2);
}
Help Me pls , Thanks in advance.