30 #if defined(HAVE_OPENCL) 
   36 #if defined(DEBUG_OPENCL) && DEBUG_OPENCL == 1 
   37 #define CL_USE_DEPRECATED_OPENCL_1_0_APIS 
   40 #define CL_TARGET_OPENCL_VERSION 100 
   43 #include <OpenCL/opencl.h> 
   45 #include <CL/opencl.h> 
   70         cl_command_queue queue;
 
   81         int useUnifiedSrcDensity;
 
   82         int useUnifiedSrcValid;
 
   88         OCLResampAlg resampAlg;
 
   90         cl_channel_type imageFormat;
 
  115         cl_mem *dstRealWorkCL;
 
  127         cl_mem *dstImagWorkCL;
 
  139         unsigned int imgChSize1;
 
  140         cl_channel_order imgChOrder1;
 
  141         unsigned int imgChSize4;
 
  142         cl_channel_order imgChOrder4;
 
  145         cl_mem useBandSrcValidCL;
 
  146         char *useBandSrcValid;
 
  148         cl_mem nBandSrcValidCL;
 
  149         float *nBandSrcValid;
 
  158         unsigned int xyChSize;
 
  159         cl_channel_order xyChOrder;
 
  161         cl_mem fDstNoDataRealCL;
 
  162         float *fDstNoDataReal;
 
  167     struct oclWarper *GDALWarpKernelOpenCL_createEnv(
 
  168         int srcWidth, 
int srcHeight, 
int dstWidth, 
int dstHeight,
 
  169         cl_channel_type imageFormat, 
int numBands, 
int coordMult, 
int useImag,
 
  170         int useBandSrcValid, 
float *fDstDensity, 
double *dfDstNoDataReal,
 
  171         OCLResampAlg resampAlg, cl_int *envErr);
 
  173     cl_int GDALWarpKernelOpenCL_setSrcValid(
struct oclWarper *warper,
 
  174                                             int *bandSrcValid, 
int bandNum);
 
  176     cl_int GDALWarpKernelOpenCL_setSrcImg(
struct oclWarper *warper,
 
  177                                           void *imgData, 
int bandNum);
 
  179     cl_int GDALWarpKernelOpenCL_setDstImg(
struct oclWarper *warper,
 
  180                                           void *imgData, 
int bandNum);
 
  182     cl_int GDALWarpKernelOpenCL_setCoordRow(
struct oclWarper *warper,
 
  183                                             double *rowSrcX, 
double *rowSrcY,
 
  184                                             double srcXOff, 
double srcYOff,
 
  185                                             int *success, 
int rowNum);
 
  187     cl_int GDALWarpKernelOpenCL_runResamp(
 
  188         struct oclWarper *warper, 
float *unifiedSrcDensity,
 
  189         unsigned int *unifiedSrcValid, 
float *dstDensity,
 
  190         unsigned int *dstValid, 
double dfXScale, 
double dfYScale,
 
  191         double dfXFilter, 
double dfYFilter, 
int nXRadius, 
int nYRadius,
 
  192         int nFiltInitX, 
int nFiltInitY);
 
  194     cl_int GDALWarpKernelOpenCL_getRow(
struct oclWarper *warper, 
void **rowReal,
 
  195                                        void **rowImag, 
int rowNum, 
int bandNum);
 
  197     cl_int GDALWarpKernelOpenCL_deleteEnv(
struct oclWarper *warper);