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));
 }