… | |
… | |
330 | |
330 | |
331 | NEED_SUCCESS_ARG (cl_mem mem, CreateBuffer, (this, flags, len, ptr, &res)); |
331 | NEED_SUCCESS_ARG (cl_mem mem, CreateBuffer, (this, flags, len, ptr, &res)); |
332 | XPUSH_NEW_OBJ ("OpenCL::Buffer", mem); |
332 | XPUSH_NEW_OBJ ("OpenCL::Buffer", mem); |
333 | |
333 | |
334 | void |
334 | void |
335 | image2d (OpenCL::Context this, cl_mem_flags flags, cl_channel_order channel_order, cl_channel_type channel_type, size_t width, size_t height, size_t row_pitch, SV *data) |
335 | image2d (OpenCL::Context this, cl_mem_flags flags, cl_channel_order channel_order, cl_channel_type channel_type, size_t width, size_t height, size_t row_pitch = 0, SV *data = &PL_sv_undef) |
336 | PPCODE: |
336 | PPCODE: |
337 | STRLEN len; |
337 | STRLEN len; |
338 | char *ptr = SvPVbyte (data, len); |
338 | char *ptr = SvPVbyte (data, len); |
339 | const cl_image_format format = { channel_order, channel_type }; |
339 | const cl_image_format format = { channel_order, channel_type }; |
340 | NEED_SUCCESS_ARG (cl_mem mem, CreateImage2D, (this, flags, &format, width, height, row_pitch, ptr, &res)); |
340 | NEED_SUCCESS_ARG (cl_mem mem, CreateImage2D, (this, flags, &format, width, height, row_pitch, ptr, &res)); |
341 | XPUSH_NEW_OBJ ("OpenCL::Image2D", mem); |
341 | XPUSH_NEW_OBJ ("OpenCL::Image2D", mem); |
342 | |
342 | |
343 | void |
343 | void |
344 | image3d (OpenCL::Context this, cl_mem_flags flags, cl_channel_order channel_order, cl_channel_type channel_type, size_t width, size_t height, size_t depth, size_t row_pitch, size_t slice_pitch, SV *data) |
344 | image3d (OpenCL::Context this, cl_mem_flags flags, cl_channel_order channel_order, cl_channel_type channel_type, size_t width, size_t height, size_t depth, size_t row_pitch = 0, size_t slice_pitch = 0, SV *data = &PL_sv_undef) |
345 | PPCODE: |
345 | PPCODE: |
346 | STRLEN len; |
346 | STRLEN len; |
347 | char *ptr = SvPVbyte (data, len); |
347 | char *ptr = SvPVbyte (data, len); |
348 | const cl_image_format format = { channel_order, channel_type }; |
348 | const cl_image_format format = { channel_order, channel_type }; |
349 | NEED_SUCCESS_ARG (cl_mem mem, CreateImage3D, (this, flags, &format, width, height, depth, row_pitch, slice_pitch, ptr, &res)); |
349 | NEED_SUCCESS_ARG (cl_mem mem, CreateImage3D, (this, flags, &format, width, height, depth, row_pitch, slice_pitch, ptr, &res)); |