Original Post
This snippet of code always succeeds But whenever I modify desc.usage and desc.CPUAccessFlags, it fails. There's only one other combination that succeeds: I'd actually need to create some buffers so that they're READABLE AND WRITEABLE by the CPU in subsequent map/unmap operations. This, for example, looks reasonable to me (any many tutorials) but always fails with E_INVALIDARG Any hint?
desc.bytewidth := (insert some integer)
desc.usage := D3D10_USAGE_DEFAULT;
desc.CPUAccessFlags := 0;
desc.BindFlags := (insert any kind of buffer)
desc.MiscFlags := 0;
device.CreateBuffer(desc, nil, @buffer);
desc.usage := D3D10_USAGE_DYNAMIC;
desc.CPUAccessFlags := D3D10_CPU_ACCESS_WRITE;
desc.usage := D3D10_USAGE_STAGING;
desc.CPUAccessFlags := D3D10_CPU_ACCESS_WRITE OR D3D10_CPU_ACCESS_READ;