PeriDyno 1.0.0
Loading...
Searching...
No Matches
VkFFT_Base.h File Reference
#include <memory.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include "vulkan/vulkan.h"
#include "glslang_c_interface.h"
#include "VkFFT_Defs.h"
Include dependency graph for VkFFT_Base.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define __STDC_FORMAT_MACROS
 
#define VKFFT_BACKEND   0
 

Functions

static VkFFTResult VkAppendLine (VkFFTSpecializationConstantsLayout *sc)
 
static VkFFTResult VkAppendLineFromInput (VkFFTSpecializationConstantsLayout *sc, const char *in)
 
static VkFFTResult appendLicense (VkFFTSpecializationConstantsLayout *sc)
 
static VkFFTResult VkMovComplex (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in)
 
static VkFFTResult VkMovReal (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in)
 
static VkFFTResult VkSharedStore (VkFFTSpecializationConstantsLayout *sc, const char *id, const char *in)
 
static VkFFTResult VkSharedLoad (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *id)
 
static VkFFTResult VkAddReal (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2)
 
static VkFFTResult VkAddComplex (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2)
 
static VkFFTResult VkAddComplexInv (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2)
 
static VkFFTResult VkSubComplex (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2)
 
static VkFFTResult VkSubReal (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2)
 
static VkFFTResult VkFMAComplex (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_num, const char *in_2)
 
static VkFFTResult VkFMAReal (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_num, const char *in_2)
 
static VkFFTResult VkMulComplex (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2, const char *temp)
 
static VkFFTResult VkMulComplexConj (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2, const char *temp)
 
static VkFFTResult VkMulComplexNumber (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_num)
 
static VkFFTResult VkMulComplexNumberImag (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_num, const char *temp)
 
static VkFFTResult VkDivComplexNumber (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_num)
 
static VkFFTResult VkMulReal (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2)
 
static VkFFTResult VkShuffleComplex (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2, const char *temp)
 
static VkFFTResult VkShuffleComplexInv (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_2, const char *temp)
 
static VkFFTResult VkModReal (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_num)
 
static VkFFTResult VkDivReal (VkFFTSpecializationConstantsLayout *sc, const char *out, const char *in_1, const char *in_num)
 
static VkFFTResult VkPermute (VkFFTSpecializationConstantsLayout *sc, const uint64_t *permute, const uint64_t num_elem, const uint64_t type, char **regIDs)
 
static VkFFTResult initializeVkFFT (VkFFTApplication *app, VkFFTConfiguration inputLaunchConfiguration)
 
static VkFFTResult VkFFTAppend (VkFFTApplication *app, int inverse, VkFFTLaunchParams *launchParams)
 
static VkFFTResult appendVersion (VkFFTSpecializationConstantsLayout *sc)
 
static VkFFTResult appendExtensions (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeInputMemory, const char *floatTypeOutputMemory, const char *floatTypeKernelMemory)
 
static VkFFTResult appendLayoutVkFFT (VkFFTSpecializationConstantsLayout *sc)
 
static VkFFTResult appendConstant (VkFFTSpecializationConstantsLayout *sc, const char *type, const char *name, const char *defaultVal, const char *LFending)
 
static VkFFTResult appendPushConstant (VkFFTSpecializationConstantsLayout *sc, const char *type, const char *name)
 
static VkFFTResult appendBarrierVkFFT (VkFFTSpecializationConstantsLayout *sc, uint64_t numTab)
 
static VkFFTResult appendPushConstantsVkFFT (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType)
 
static VkFFTResult appendConstantsVkFFT (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType)
 
static VkFFTResult appendSinCos20 (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType)
 
static VkFFTResult appendConversion (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeDifferent)
 
static VkFFTResult appendInputLayoutVkFFT (VkFFTSpecializationConstantsLayout *sc, uint64_t id, const char *floatTypeMemory, uint64_t inputType)
 
static VkFFTResult appendOutputLayoutVkFFT (VkFFTSpecializationConstantsLayout *sc, uint64_t id, const char *floatTypeMemory, uint64_t outputType)
 
static VkFFTResult appendKernelLayoutVkFFT (VkFFTSpecializationConstantsLayout *sc, uint64_t id, const char *floatTypeMemory)
 
static VkFFTResult appendLUTLayoutVkFFT (VkFFTSpecializationConstantsLayout *sc, uint64_t id, const char *floatType)
 
static VkFFTResult appendBluesteinLayoutVkFFT (VkFFTSpecializationConstantsLayout *sc, uint64_t id, const char *floatType)
 
static VkFFTResult indexInputVkFFT (VkFFTSpecializationConstantsLayout *sc, const char *uintType, uint64_t inputType, const char *index_x, const char *index_y, const char *coordinate, const char *batchID)
 
static VkFFTResult indexOutputVkFFT (VkFFTSpecializationConstantsLayout *sc, const char *uintType, uint64_t outputType, const char *index_x, const char *index_y, const char *coordinate, const char *batchID)
 
static VkFFTResult inlineRadixKernelVkFFT (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t radix, uint64_t stageSize, double stageAngle, char **regID)
 
static VkFFTResult appendSharedMemoryVkFFT (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t sharedType)
 
static VkFFTResult appendInitialization (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t initType)
 
static VkFFTResult appendZeropadStart (VkFFTSpecializationConstantsLayout *sc)
 
static VkFFTResult appendZeropadEnd (VkFFTSpecializationConstantsLayout *sc)
 
static VkFFTResult appendZeropadStartReadWriteStage (VkFFTSpecializationConstantsLayout *sc, uint64_t readStage)
 
static VkFFTResult appendZeropadEndReadWriteStage (VkFFTSpecializationConstantsLayout *sc)
 
static VkFFTResult appendSetSMToZero (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeMemory, const char *uintType, uint64_t readType)
 
static VkFFTResult setReadToRegisters (VkFFTSpecializationConstantsLayout *sc, uint64_t readType)
 
static VkFFTResult appendReadDataVkFFT (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeMemory, const char *uintType, uint64_t readType)
 
static VkFFTResult appendReorder4StepRead (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t reorderType)
 
static VkFFTResult appendReorder4StepWrite (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t reorderType)
 
static VkFFTResult appendBluesteinMultiplication (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t strideType, uint64_t pre_or_post_multiplication)
 
static VkFFTResult appendRadixStageNonStrided (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t stageSize, uint64_t stageSizeSum, double stageAngle, uint64_t stageRadix)
 
static VkFFTResult appendRadixStageStrided (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t stageSize, uint64_t stageSizeSum, double stageAngle, uint64_t stageRadix)
 
static VkFFTResult appendRadixStage (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t stageSize, uint64_t stageSizeSum, double stageAngle, uint64_t stageRadix, uint64_t shuffleType)
 
static VkFFTResult appendRegisterBoostShuffle (VkFFTSpecializationConstantsLayout *sc, const char *floatType, uint64_t stageSize, uint64_t stageRadixPrev, uint64_t stageRadix, double stageAngle)
 
static VkFFTResult appendRadixShuffleNonStrided (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t stageSize, uint64_t stageSizeSum, double stageAngle, uint64_t stageRadix, uint64_t stageRadixNext)
 
static VkFFTResult appendRadixShuffleStrided (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t stageSize, uint64_t stageSizeSum, double stageAngle, uint64_t stageRadix, uint64_t stageRadixNext)
 
static VkFFTResult appendRadixShuffle (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t stageSize, uint64_t stageSizeSum, double stageAngle, uint64_t stageRadix, uint64_t stageRadixNext, uint64_t shuffleType)
 
static VkFFTResult appendBoostThreadDataReorder (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *uintType, uint64_t shuffleType, uint64_t start)
 
static VkFFTResult appendCoordinateRegisterStore (VkFFTSpecializationConstantsLayout *sc, uint64_t readType)
 
static VkFFTResult appendCoordinateRegisterPull (VkFFTSpecializationConstantsLayout *sc, uint64_t readType)
 
static VkFFTResult appendPreparationBatchedKernelConvolution (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeMemory, const char *uintType, uint64_t dataType)
 
static VkFFTResult appendBluesteinConvolution (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeMemory, const char *uintType, uint64_t dataType)
 
static VkFFTResult appendKernelConvolution (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeMemory, const char *uintType, uint64_t dataType)
 
static VkFFTResult setWriteFromRegisters (VkFFTSpecializationConstantsLayout *sc, uint64_t writeType)
 
static VkFFTResult appendWriteDataVkFFT (VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeMemory, const char *uintType, uint64_t writeType)
 
static VkFFTResult shaderGenVkFFT_R2C_decomposition (char *output, VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeInputMemory, const char *floatTypeOutputMemory, const char *floatTypeKernelMemory, const char *uintType, uint64_t type)
 
static void freeShaderGenVkFFT (VkFFTSpecializationConstantsLayout *sc)
 
static VkFFTResult shaderGenVkFFT (char *output, VkFFTSpecializationConstantsLayout *sc, const char *floatType, const char *floatTypeInputMemory, const char *floatTypeOutputMemory, const char *floatTypeKernelMemory, const char *uintType, uint64_t type)
 
static VkFFTResult findMemoryType (VkFFTApplication *app, uint64_t memoryTypeBits, uint64_t memorySize, VkMemoryPropertyFlags properties, uint32_t *memoryTypeIndex)
 
static VkFFTResult allocateFFTBuffer (VkFFTApplication *app, VkBuffer *buffer, VkDeviceMemory *deviceMemory, VkBufferUsageFlags usageFlags, VkMemoryPropertyFlags propertyFlags, VkDeviceSize size)
 
static VkFFTResult transferDataFromCPU (VkFFTApplication *app, void *arr, VkBuffer *buffer, VkDeviceSize bufferSize)
 
static void deleteAxis (VkFFTApplication *app, VkFFTAxis *axis)
 
static void deleteVkFFT (VkFFTApplication *app)
 
static VkFFTResult VkFFTGetRegistersPerThread (uint64_t *loc_multipliers, uint64_t *registers_per_thread_per_radix, uint64_t *registers_per_thread, uint64_t *min_registers_per_thread, uint64_t *isGoodSequence)
 
static VkFFTResult VkFFTScheduler (VkFFTApplication *app, VkFFTPlan *FFTPlan, uint64_t axis_id, uint64_t supportAxis)
 
static VkFFTResult VkFFTGeneratePhaseVectors (VkFFTApplication *app, VkFFTPlan *FFTPlan, uint64_t axis_id, uint64_t supportAxis)
 
static VkFFTResult VkFFTCheckUpdateBufferSet (VkFFTApplication *app, VkFFTAxis *axis, uint64_t planStage, VkFFTLaunchParams *launchParams)
 
static VkFFTResult VkFFTUpdateBufferSet (VkFFTApplication *app, VkFFTPlan *FFTPlan, VkFFTAxis *axis, uint64_t axis_id, uint64_t axis_upload_id, uint64_t inverse)
 
static VkFFTResult VkFFTUpdateBufferSetR2CMultiUploadDecomposition (VkFFTApplication *app, VkFFTPlan *FFTPlan, VkFFTAxis *axis, uint64_t axis_id, uint64_t axis_upload_id, uint64_t inverse)
 
static VkFFTResult VkFFTPlanR2CMultiUploadDecomposition (VkFFTApplication *app, VkFFTPlan *FFTPlan, uint64_t inverse)
 
static VkFFTResult VkFFTPlanAxis (VkFFTApplication *app, VkFFTPlan *FFTPlan, uint64_t axis_id, uint64_t axis_upload_id, uint64_t inverse, uint64_t reverseBluesteinMultiUpload)
 
static VkFFTResult dispatchEnhanced (VkFFTApplication *app, VkFFTAxis *axis, uint64_t *dispatchBlock)
 
static VkFFTResult VkFFTSync (VkFFTApplication *app)
 
static void printDebugInformation (VkFFTApplication *app, VkFFTAxis *axis)
 
static int VkFFTGetVersion ()
 

Macro Definition Documentation

◆ __STDC_FORMAT_MACROS

#define __STDC_FORMAT_MACROS

Definition at line 32 of file VkFFT_Base.h.

◆ VKFFT_BACKEND

#define VKFFT_BACKEND   0

Definition at line 34 of file VkFFT_Base.h.

Function Documentation

◆ allocateFFTBuffer()

static VkFFTResult allocateFFTBuffer ( VkFFTApplication * app,
VkBuffer * buffer,
VkDeviceMemory * deviceMemory,
VkBufferUsageFlags usageFlags,
VkMemoryPropertyFlags propertyFlags,
VkDeviceSize size )
inlinestatic

Definition at line 17368 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendBarrierVkFFT()

static VkFFTResult appendBarrierVkFFT ( VkFFTSpecializationConstantsLayout * sc,
uint64_t numTab )
inlinestatic

Definition at line 452 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendBluesteinConvolution()

static VkFFTResult appendBluesteinConvolution ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeMemory,
const char * uintType,
uint64_t dataType )
inlinestatic

Definition at line 11072 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendBluesteinLayoutVkFFT()

static VkFFTResult appendBluesteinLayoutVkFFT ( VkFFTSpecializationConstantsLayout * sc,
uint64_t id,
const char * floatType )
inlinestatic

Definition at line 1003 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendBluesteinMultiplication()

static VkFFTResult appendBluesteinMultiplication ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t strideType,
uint64_t pre_or_post_multiplication )
inlinestatic

Definition at line 9379 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendBoostThreadDataReorder()

static VkFFTResult appendBoostThreadDataReorder ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t shuffleType,
uint64_t start )
inlinestatic

Definition at line 10551 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendConstant()

static VkFFTResult appendConstant ( VkFFTSpecializationConstantsLayout * sc,
const char * type,
const char * name,
const char * defaultVal,
const char * LFending )
inlinestatic

Definition at line 432 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendConstantsVkFFT()

static VkFFTResult appendConstantsVkFFT ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType )
inlinestatic

Definition at line 540 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendConversion()

static VkFFTResult appendConversion ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeDifferent )
inlinestatic

Definition at line 634 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendCoordinateRegisterPull()

static VkFFTResult appendCoordinateRegisterPull ( VkFFTSpecializationConstantsLayout * sc,
uint64_t readType )
inlinestatic

Definition at line 10878 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendCoordinateRegisterStore()

static VkFFTResult appendCoordinateRegisterStore ( VkFFTSpecializationConstantsLayout * sc,
uint64_t readType )
inlinestatic

Definition at line 10728 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendExtensions()

static VkFFTResult appendExtensions ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeInputMemory,
const char * floatTypeOutputMemory,
const char * floatTypeKernelMemory )
inlinestatic

Definition at line 382 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendInitialization()

static VkFFTResult appendInitialization ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t initType )
inlinestatic

Definition at line 3065 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendInputLayoutVkFFT()

static VkFFTResult appendInputLayoutVkFFT ( VkFFTSpecializationConstantsLayout * sc,
uint64_t id,
const char * floatTypeMemory,
uint64_t inputType )
inlinestatic

Definition at line 679 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendKernelConvolution()

static VkFFTResult appendKernelConvolution ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeMemory,
const char * uintType,
uint64_t dataType )
inlinestatic

Definition at line 11167 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendKernelLayoutVkFFT()

static VkFFTResult appendKernelLayoutVkFFT ( VkFFTSpecializationConstantsLayout * sc,
uint64_t id,
const char * floatTypeMemory )
inlinestatic

Definition at line 905 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendLayoutVkFFT()

static VkFFTResult appendLayoutVkFFT ( VkFFTSpecializationConstantsLayout * sc)
inlinestatic

Definition at line 420 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendLicense()

static VkFFTResult appendLicense ( VkFFTSpecializationConstantsLayout * sc)
inlinestatic

Definition at line 83 of file VkFFT_Base.h.

Here is the call graph for this function:

◆ appendLUTLayoutVkFFT()

static VkFFTResult appendLUTLayoutVkFFT ( VkFFTSpecializationConstantsLayout * sc,
uint64_t id,
const char * floatType )
inlinestatic

Definition at line 979 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendOutputLayoutVkFFT()

static VkFFTResult appendOutputLayoutVkFFT ( VkFFTSpecializationConstantsLayout * sc,
uint64_t id,
const char * floatTypeMemory,
uint64_t outputType )
inlinestatic

Definition at line 792 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendPreparationBatchedKernelConvolution()

static VkFFTResult appendPreparationBatchedKernelConvolution ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeMemory,
const char * uintType,
uint64_t dataType )
inlinestatic

Definition at line 11028 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendPushConstant()

static VkFFTResult appendPushConstant ( VkFFTSpecializationConstantsLayout * sc,
const char * type,
const char * name )
inlinestatic

Definition at line 445 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendPushConstantsVkFFT()

static VkFFTResult appendPushConstantsVkFFT ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType )
inlinestatic

Definition at line 476 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendRadixShuffle()

static VkFFTResult appendRadixShuffle ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t stageSize,
uint64_t stageSizeSum,
double stageAngle,
uint64_t stageRadix,
uint64_t stageRadixNext,
uint64_t shuffleType )
inlinestatic

Definition at line 10532 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendRadixShuffleNonStrided()

static VkFFTResult appendRadixShuffleNonStrided ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t stageSize,
uint64_t stageSizeSum,
double stageAngle,
uint64_t stageRadix,
uint64_t stageRadixNext )
inlinestatic

Definition at line 9856 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendRadixShuffleStrided()

static VkFFTResult appendRadixShuffleStrided ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t stageSize,
uint64_t stageSizeSum,
double stageAngle,
uint64_t stageRadix,
uint64_t stageRadixNext )
inlinestatic

Definition at line 10226 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendRadixStage()

static VkFFTResult appendRadixStage ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t stageSize,
uint64_t stageSizeSum,
double stageAngle,
uint64_t stageRadix,
uint64_t shuffleType )
inlinestatic

Definition at line 9812 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendRadixStageNonStrided()

static VkFFTResult appendRadixStageNonStrided ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t stageSize,
uint64_t stageSizeSum,
double stageAngle,
uint64_t stageRadix )
inlinestatic

Definition at line 9525 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendRadixStageStrided()

static VkFFTResult appendRadixStageStrided ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t stageSize,
uint64_t stageSizeSum,
double stageAngle,
uint64_t stageRadix )
inlinestatic

Definition at line 9685 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendReadDataVkFFT()

static VkFFTResult appendReadDataVkFFT ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeMemory,
const char * uintType,
uint64_t readType )
inlinestatic

Definition at line 3853 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendRegisterBoostShuffle()

static VkFFTResult appendRegisterBoostShuffle ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
uint64_t stageSize,
uint64_t stageRadixPrev,
uint64_t stageRadix,
double stageAngle )
inlinestatic

Definition at line 9831 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ appendReorder4StepRead()

static VkFFTResult appendReorder4StepRead ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t reorderType )
inlinestatic

Definition at line 8895 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendReorder4StepWrite()

static VkFFTResult appendReorder4StepWrite ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t reorderType )
inlinestatic

Definition at line 9119 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendSetSMToZero()

static VkFFTResult appendSetSMToZero ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeMemory,
const char * uintType,
uint64_t readType )
inlinestatic

Definition at line 3747 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendSharedMemoryVkFFT()

static VkFFTResult appendSharedMemoryVkFFT ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t sharedType )
inlinestatic

Definition at line 2944 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendSinCos20()

static VkFFTResult appendSinCos20 ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType )
inlinestatic

Definition at line 559 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendVersion()

static VkFFTResult appendVersion ( VkFFTSpecializationConstantsLayout * sc)
inlinestatic

Definition at line 373 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendWriteDataVkFFT()

static VkFFTResult appendWriteDataVkFFT ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeMemory,
const char * uintType,
uint64_t writeType )
inlinestatic

Definition at line 11536 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendZeropadEnd()

static VkFFTResult appendZeropadEnd ( VkFFTSpecializationConstantsLayout * sc)
inlinestatic

Definition at line 3425 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendZeropadEndReadWriteStage()

static VkFFTResult appendZeropadEndReadWriteStage ( VkFFTSpecializationConstantsLayout * sc)
inlinestatic

Definition at line 3668 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendZeropadStart()

static VkFFTResult appendZeropadStart ( VkFFTSpecializationConstantsLayout * sc)
inlinestatic

Definition at line 3271 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ appendZeropadStartReadWriteStage()

static VkFFTResult appendZeropadStartReadWriteStage ( VkFFTSpecializationConstantsLayout * sc,
uint64_t readStage )
inlinestatic

Definition at line 3541 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deleteAxis()

static void deleteAxis ( VkFFTApplication * app,
VkFFTAxis * axis )
inlinestatic

Definition at line 17438 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ deleteVkFFT()

static void deleteVkFFT ( VkFFTApplication * app)
inlinestatic

Definition at line 17503 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dispatchEnhanced()

static VkFFTResult dispatchEnhanced ( VkFFTApplication * app,
VkFFTAxis * axis,
uint64_t * dispatchBlock )
inlinestatic

Definition at line 25223 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ findMemoryType()

static VkFFTResult findMemoryType ( VkFFTApplication * app,
uint64_t memoryTypeBits,
uint64_t memorySize,
VkMemoryPropertyFlags properties,
uint32_t * memoryTypeIndex )
inlinestatic

Definition at line 17354 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ freeShaderGenVkFFT()

static void freeShaderGenVkFFT ( VkFFTSpecializationConstantsLayout * sc)
inlinestatic

Definition at line 16409 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ indexInputVkFFT()

static VkFFTResult indexInputVkFFT ( VkFFTSpecializationConstantsLayout * sc,
const char * uintType,
uint64_t inputType,
const char * index_x,
const char * index_y,
const char * coordinate,
const char * batchID )
inlinestatic

Definition at line 1040 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ indexOutputVkFFT()

static VkFFTResult indexOutputVkFFT ( VkFFTSpecializationConstantsLayout * sc,
const char * uintType,
uint64_t outputType,
const char * index_x,
const char * index_y,
const char * coordinate,
const char * batchID )
inlinestatic

Definition at line 1167 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initializeVkFFT()

static VkFFTResult initializeVkFFT ( VkFFTApplication * app,
VkFFTConfiguration inputLaunchConfiguration )
inlinestatic

Definition at line 24363 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ inlineRadixKernelVkFFT()

static VkFFTResult inlineRadixKernelVkFFT ( VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * uintType,
uint64_t radix,
uint64_t stageSize,
double stageAngle,
char ** regID )
inlinestatic

Definition at line 1294 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ printDebugInformation()

static void printDebugInformation ( VkFFTApplication * app,
VkFFTAxis * axis )
inlinestatic

Definition at line 25530 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ setReadToRegisters()

static VkFFTResult setReadToRegisters ( VkFFTSpecializationConstantsLayout * sc,
uint64_t readType )
inlinestatic

Definition at line 3800 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ setWriteFromRegisters()

static VkFFTResult setWriteFromRegisters ( VkFFTSpecializationConstantsLayout * sc,
uint64_t writeType )
inlinestatic

Definition at line 11482 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shaderGenVkFFT()

static VkFFTResult shaderGenVkFFT ( char * output,
VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeInputMemory,
const char * floatTypeOutputMemory,
const char * floatTypeKernelMemory,
const char * uintType,
uint64_t type )
inlinestatic

Definition at line 16433 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shaderGenVkFFT_R2C_decomposition()

static VkFFTResult shaderGenVkFFT_R2C_decomposition ( char * output,
VkFFTSpecializationConstantsLayout * sc,
const char * floatType,
const char * floatTypeInputMemory,
const char * floatTypeOutputMemory,
const char * floatTypeKernelMemory,
const char * uintType,
uint64_t type )
inlinestatic

Definition at line 15764 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transferDataFromCPU()

static VkFFTResult transferDataFromCPU ( VkFFTApplication * app,
void * arr,
VkBuffer * buffer,
VkDeviceSize bufferSize )
inlinestatic

Definition at line 17392 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkAddComplex()

static VkFFTResult VkAddComplex ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2 )
inlinestatic

Definition at line 151 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkAddComplexInv()

static VkFFTResult VkAddComplexInv ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2 )
inlinestatic

Definition at line 160 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkAddReal()

static VkFFTResult VkAddReal ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2 )
inlinestatic

Definition at line 143 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkAppendLine()

static VkFFTResult VkAppendLine ( VkFFTSpecializationConstantsLayout * sc)
inlinestatic

Definition at line 70 of file VkFFT_Base.h.

◆ VkAppendLineFromInput()

static VkFFTResult VkAppendLineFromInput ( VkFFTSpecializationConstantsLayout * sc,
const char * in )
inlinestatic

Definition at line 77 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ VkDivComplexNumber()

static VkFFTResult VkDivComplexNumber ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_num )
inlinestatic

Definition at line 275 of file VkFFT_Base.h.

Here is the call graph for this function:

◆ VkDivReal()

static VkFFTResult VkDivReal ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_num )
inlinestatic

Definition at line 344 of file VkFFT_Base.h.

Here is the call graph for this function:

◆ VkFFTAppend()

static VkFFTResult VkFFTAppend ( VkFFTApplication * app,
int inverse,
VkFFTLaunchParams * launchParams )
inlinestatic

Definition at line 25551 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkFFTCheckUpdateBufferSet()

static VkFFTResult VkFFTCheckUpdateBufferSet ( VkFFTApplication * app,
VkFFTAxis * axis,
uint64_t planStage,
VkFFTLaunchParams * launchParams )
inlinestatic

Definition at line 20285 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ VkFFTGeneratePhaseVectors()

static VkFFTResult VkFFTGeneratePhaseVectors ( VkFFTApplication * app,
VkFFTPlan * FFTPlan,
uint64_t axis_id,
uint64_t supportAxis )
inlinestatic

Definition at line 19724 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkFFTGetRegistersPerThread()

static VkFFTResult VkFFTGetRegistersPerThread ( uint64_t * loc_multipliers,
uint64_t * registers_per_thread_per_radix,
uint64_t * registers_per_thread,
uint64_t * min_registers_per_thread,
uint64_t * isGoodSequence )
inlinestatic

Definition at line 17683 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ VkFFTGetVersion()

static int VkFFTGetVersion ( )
inlinestatic

Definition at line 26169 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ VkFFTPlanAxis()

static VkFFTResult VkFFTPlanAxis ( VkFFTApplication * app,
VkFFTPlan * FFTPlan,
uint64_t axis_id,
uint64_t axis_upload_id,
uint64_t inverse,
uint64_t reverseBluesteinMultiUpload )
inlinestatic

Definition at line 22319 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkFFTPlanR2CMultiUploadDecomposition()

static VkFFTResult VkFFTPlanR2CMultiUploadDecomposition ( VkFFTApplication * app,
VkFFTPlan * FFTPlan,
uint64_t inverse )
inlinestatic

Definition at line 21058 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkFFTScheduler()

static VkFFTResult VkFFTScheduler ( VkFFTApplication * app,
VkFFTPlan * FFTPlan,
uint64_t axis_id,
uint64_t supportAxis )
inlinestatic

Definition at line 19055 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkFFTSync()

static VkFFTResult VkFFTSync ( VkFFTApplication * app)
inlinestatic

Definition at line 25505 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ VkFFTUpdateBufferSet()

static VkFFTResult VkFFTUpdateBufferSet ( VkFFTApplication * app,
VkFFTPlan * FFTPlan,
VkFFTAxis * axis,
uint64_t axis_id,
uint64_t axis_upload_id,
uint64_t inverse )
inlinestatic

Definition at line 20380 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ VkFFTUpdateBufferSetR2CMultiUploadDecomposition()

static VkFFTResult VkFFTUpdateBufferSetR2CMultiUploadDecomposition ( VkFFTApplication * app,
VkFFTPlan * FFTPlan,
VkFFTAxis * axis,
uint64_t axis_id,
uint64_t axis_upload_id,
uint64_t inverse )
inlinestatic

Definition at line 20735 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ VkFMAComplex()

static VkFFTResult VkFMAComplex ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_num,
const char * in_2 )
inlinestatic

Definition at line 186 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkFMAReal()

static VkFFTResult VkFMAReal ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_num,
const char * in_2 )
inlinestatic

Definition at line 195 of file VkFFT_Base.h.

Here is the call graph for this function:

◆ VkModReal()

static VkFFTResult VkModReal ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_num )
inlinestatic

Definition at line 336 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkMovComplex()

static VkFFTResult VkMovComplex ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in )
inlinestatic

Definition at line 111 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkMovReal()

static VkFFTResult VkMovReal ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in )
inlinestatic

Definition at line 119 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkMulComplex()

static VkFFTResult VkMulComplex ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2,
const char * temp )
inlinestatic

Definition at line 203 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkMulComplexConj()

static VkFFTResult VkMulComplexConj ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2,
const char * temp )
inlinestatic

Definition at line 224 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkMulComplexNumber()

static VkFFTResult VkMulComplexNumber ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_num )
inlinestatic

Definition at line 245 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkMulComplexNumberImag()

static VkFFTResult VkMulComplexNumberImag ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_num,
const char * temp )
inlinestatic

Definition at line 254 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkMulReal()

static VkFFTResult VkMulReal ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2 )
inlinestatic

Definition at line 285 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkPermute()

static VkFFTResult VkPermute ( VkFFTSpecializationConstantsLayout * sc,
const uint64_t * permute,
const uint64_t num_elem,
const uint64_t type,
char ** regIDs )
inlinestatic

Definition at line 352 of file VkFFT_Base.h.

Here is the caller graph for this function:

◆ VkSharedLoad()

static VkFFTResult VkSharedLoad ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * id )
inlinestatic

Definition at line 135 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkSharedStore()

static VkFFTResult VkSharedStore ( VkFFTSpecializationConstantsLayout * sc,
const char * id,
const char * in )
inlinestatic

Definition at line 127 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkShuffleComplex()

static VkFFTResult VkShuffleComplex ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2,
const char * temp )
inlinestatic

Definition at line 294 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkShuffleComplexInv()

static VkFFTResult VkShuffleComplexInv ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2,
const char * temp )
inlinestatic

Definition at line 315 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkSubComplex()

static VkFFTResult VkSubComplex ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2 )
inlinestatic

Definition at line 169 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VkSubReal()

static VkFFTResult VkSubReal ( VkFFTSpecializationConstantsLayout * sc,
const char * out,
const char * in_1,
const char * in_2 )
inlinestatic

Definition at line 178 of file VkFFT_Base.h.

Here is the call graph for this function:
Here is the caller graph for this function: