22        vkGPU.enableValidationLayers = 0;
 
   25        VkResult res = VK_SUCCESS;
 
   49        vkGetDeviceQueue(
vkGPU.device, (uint32_t)
vkGPU.queueFamilyIndex, 0, &
vkGPU.queue);
 
   67        vkGetPhysicalDeviceProperties(
vkGPU.physicalDevice, &
vkGPU.physicalDeviceProperties);
 
   68        vkGetPhysicalDeviceMemoryProperties(
vkGPU.physicalDevice, &
vkGPU.physicalDeviceMemoryProperties);
 
   70        glslang_initialize_process();
 
 
   77        bool isCompilerInitialized = 
true;
 
   80        VkResult res = VK_SUCCESS;
 
   82        const int num_benchmark_samples = 2;
 
   83        const int num_runs = 3;
 
   84        uint64_t benchmark_dimensions[num_benchmark_samples][4] = { {256, 256, 1, 2}, {64, 64, 1, 2} };
 
   85        double benchmark_result = 0;
 
 
static VkFFTResult initializeVkFFT(VkFFTApplication *app, VkFFTConfiguration inputLaunchConfiguration)
 
static void deleteVkFFT(VkFFTApplication *app)
 
@ VKFFT_ERROR_FAILED_TO_CREATE_COMMAND_POOL
 
VkResult createFence(VkGPU *vkGPU)
 
VkResult setupDebugMessenger(VkGPU *vkGPU)
 
VkResult createCommandPool(VkGPU *vkGPU)
 
VkResult getComputeQueueFamilyIndex(VkGPU *vkGPU)
 
VkFFTResult performVulkanFFT(VkGPU *vkGPU, VkFFTApplication *app, VkFFTLaunchParams *launchParams, int inverse, uint64_t num_iter)
 
uint32_t bufferSize() override
 
bool createPipeline(VkDeviceArray2D< dyno::Vec2f > &array2d)
 
bool update(VkFFT_Type type)
 
static VkFFT * createInstance(VkDeviceArray2D< dyno::Vec2f > &array2d)
 
VkFFTConfiguration configuration
 
VkPhysicalDevice getPhysicalDevice()
 
VkContext * currentContext()
 
VkInstance instanceHandle()
 
static VkSystem * instance()
 
VkBuffer bufferHandle() const
 
This is an implementation of AdditiveCCD based on peridyno.