diff --git a/src/fft_setup.cpp b/src/fft_setup.cpp index 2914a3bd367a6853385dcfd9a5445ab50912c08f..49440434d2f94799cfe96aaa044966856d9525fb 100644 --- a/src/fft_setup.cpp +++ b/src/fft_setup.cpp @@ -542,6 +542,12 @@ clFFT_GetSize(clFFT_Plan Plan, size_t* workSize) } cl_fft_plan *plan = (cl_fft_plan *) Plan; *workSize = plan->tempmemobj.size + plan->tempmemobj_real.size + plan->tempmemobj_imag.size + plan->cossin_LUT_d1.size; + // Additional alloc from allocateTemporaryBufferInterleaved() or allocateTemporaryBufferPlannar() + if(plan->temp_buffer_needed) { + cl_uint batchSize = 1; + size_t tmpLength = plan->n.x * plan->n.y * plan->n.z * batchSize * 2 * sizeof(cl_float); + *workSize += tmpLength; + } return CL_SUCCESS; }