--- OpenCL/OpenCL.xs 2012/05/05 13:30:07 1.73 +++ OpenCL/OpenCL.xs 2012/05/05 13:56:00 1.74 @@ -30,9 +30,23 @@ #endif #ifdef __APPLE__ - #include + #define CLHDR(name) #else - #include + #define CLHDR(name) +#endif + +#include CLHDR(opencl.h) + +#ifndef CL_VERSION_1_2 + #include CLHDR(cl_d3d9.h) +#endif + +#if _WIN32 + #include CLHDR(cl_d3d10.h) + #if CL_VERSION_1_2 + #include CLHDR + #endif + #include CLHDR #endif #ifndef CL_VERSION_1_2 @@ -40,6 +54,9 @@ #define PREFER_1_1 1 #endif +// make sure all constants we might use are actually defined +#include "default.h" + typedef cl_platform_id OpenCL__Platform; typedef cl_device_id OpenCL__Device; typedef cl_device_id OpenCL__SubDevice; @@ -2519,7 +2536,7 @@ NEED_SUCCESS (GetProgramBuildInfo, (self, device, CL_PROGRAM_BINARY_TYPE, sizeof (value), value, 0)); EXTEND (SP, 1); const int i = 0; - PUSHs (sv_2mortal (newSVuv (UV)value [i]))); + PUSHs (sv_2mortal (newSVuv ((UV)value [i]))); #END:program_build