protected void InitBase(ref ComputeStateDesc desc) { int constantBufferCount = desc.constantBuffers != null ? desc.constantBuffers.Length : 0; if (desc.computeShader.constantBufferCount != constantBufferCount) { throw new ArgumentException("ComputeStateDesc constant-buffer count doesn't match ComputeShader requirements"); } int textureCount = desc.textures != null ? desc.textures.Length : 0; if (desc.computeShader.textureCount != textureCount) { throw new ArgumentException("ComputeStateDesc texture count doesn't match ComputeShader requirements"); } int randomAccessBufferCount = desc.randomAccessBuffers != null ? desc.randomAccessBuffers.Length : 0; if (desc.computeShader.randomAccessBufferCount != randomAccessBufferCount) { throw new ArgumentException("ComputeStateDesc random access buffer count doesn't match ComputeShader requirements"); } }
public abstract ComputeStateBase CreateComputeState(ComputeStateDesc desc);