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.