private AcceleratedImagingKernel([NotNull] AccelerationDevice device, int width, int height) : base(device) { mDevice = device; mWidth = width; mHeight = height; mConstants = new DelegatedHardwareResourceList <HardwareConstantBuffer>(this, (dc, res, slot) => dc.PixelShader.SetConstantBuffer(res.GetBuffer(), slot)); mResources = new DelegatedHardwareResourceList <HardwareInputBuffer>(this, (dc, res, slot) => dc.PixelShader.SetShaderResource(res.GetShaderResourceView(), slot)); }
private AcceleratedComputationKernel([NotNull] AccelerationDevice device) : base(device) { mConstants = new DelegatedHardwareResourceList <HardwareConstantBuffer>(this, (dc, res, slot) => dc.ComputeShader.SetConstantBuffer(res?.GetBuffer(), slot)); mResources = new DelegatedHardwareResourceList <HardwareInputBuffer>(this, (dc, res, slot) => dc.ComputeShader.SetShaderResource(res?.GetShaderResourceView(), slot)); mOutputs = new DelegatedHardwareResourceList <HardwareOutputBuffer>(this, (dc, res, slot) => dc.ComputeShader.SetUnorderedAccessView(res?.GetUnorderedAccessView(), slot)); }