ngscopeclient 0.1-dev+51fbda87c
|
RAII wrapper around a VkFFTApplication and VkFFTConfiguration. More...
#include <VulkanFFTPlan.h>
Public Types | |
enum | VulkanFFTPlanDirection { DIRECTION_FORWARD , DIRECTION_REVERSE } |
Direction of a FFT. More... | |
enum | VulkanFFTDataType { TYPE_REAL , TYPE_COMPLEX } |
Data type of a FFT input or output. More... | |
Public Member Functions | |
VulkanFFTPlan (size_t npoints, size_t nouts, VulkanFFTPlanDirection dir, size_t numBatches=1, VulkanFFTDataType timeDomainType=VulkanFFTPlan::TYPE_REAL) | |
Creates a new FFT plan. More... | |
void | AppendForward (AcceleratorBuffer< float > &dataIn, AcceleratorBuffer< float > &dataOut, vk::raii::CommandBuffer &cmdBuf) |
Appends a forward FFT to a command buffer. More... | |
void | AppendReverse (AcceleratorBuffer< float > &dataIn, AcceleratorBuffer< float > &dataOut, vk::raii::CommandBuffer &cmdBuf) |
Appends an inverse FFT to a command buffer. More... | |
size_t | size () const |
Return the number of points in the FFT. | |
RAII wrapper around a VkFFTApplication and VkFFTConfiguration.
VulkanFFTPlan::VulkanFFTPlan | ( | size_t | npoints, |
size_t | nouts, | ||
VulkanFFTPlanDirection | dir, | ||
size_t | numBatches = 1 , |
||
VulkanFFTDataType | timeDomainType = VulkanFFTPlan::TYPE_REAL |
||
) |
Creates a new FFT plan.
npoints | Number of points in the FFT |
nouts | Number of output samples |
dir | Direction (forward or reverse) |
numBatches | Number of batched FFTs to perform (for spectrograms etc) |
timeDomainType | Data type of the time-domain signal (real or complex) |
void VulkanFFTPlan::AppendForward | ( | AcceleratorBuffer< float > & | dataIn, |
AcceleratorBuffer< float > & | dataOut, | ||
vk::raii::CommandBuffer & | cmdBuf | ||
) |
Appends a forward FFT to a command buffer.
dataIn | Time domain input |
dataOut | Frequency domain output |
cmdBuf | Command buffer to append the FFT to |
void VulkanFFTPlan::AppendReverse | ( | AcceleratorBuffer< float > & | dataIn, |
AcceleratorBuffer< float > & | dataOut, | ||
vk::raii::CommandBuffer & | cmdBuf | ||
) |
Appends an inverse FFT to a command buffer.
dataIn | Frequency domain input |
dataOut | Time domain output |
cmdBuf | Command buffer to append the FFT to |