ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/OpenCL/OpenCL.xs
(Generate patch)

Comparing OpenCL/OpenCL.xs (file contents):
Revision 1.42 by root, Sat Apr 21 20:48:03 2012 UTC vs.
Revision 1.43 by root, Sat Apr 21 22:16:09 2012 UTC

759 } 759 }
760 XPUSH_NEW_OBJ (klass, mem); 760 XPUSH_NEW_OBJ (klass, mem);
761 761
762#endif 762#endif
763 763
764#if !CL_VERSION_1_2 || defined CL_USE_DEPRECATED_OPENCL_1_1_APIS
765
766void 764void
767image2d (OpenCL::Context self, 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) 765image2d (OpenCL::Context self, 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)
768 PPCODE: 766 PPCODE:
769 STRLEN len; 767 STRLEN len;
770 char *ptr = SvOK (data) ? SvPVbyte (data, len) : 0; 768 char *ptr = SvOK (data) ? SvPVbyte (data, len) : 0;
789#else 787#else
790 NEED_SUCCESS_ARG (cl_mem mem, CreateImage3D, (self, flags, &format, width, height, depth, row_pitch, slice_pitch, ptr, &res)); 788 NEED_SUCCESS_ARG (cl_mem mem, CreateImage3D, (self, flags, &format, width, height, depth, row_pitch, slice_pitch, ptr, &res));
791#endif 789#endif
792 XPUSH_NEW_OBJ ("OpenCL::Image3D", mem); 790 XPUSH_NEW_OBJ ("OpenCL::Image3D", mem);
793 791
794#endif
795
796#if cl_apple_gl_sharing || cl_khr_gl_sharing 792#if cl_apple_gl_sharing || cl_khr_gl_sharing
797 793
798void 794void
799gl_buffer (OpenCL::Context self, cl_mem_flags flags, cl_GLuint bufobj) 795gl_buffer (OpenCL::Context self, cl_mem_flags flags, cl_GLuint bufobj)
800 PPCODE: 796 PPCODE:
809 805
810#if CL_VERSION_1_2 806#if CL_VERSION_1_2
811 807
812void 808void
813gl_texture (OpenCL::Context self, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, cl_GLuint texture) 809gl_texture (OpenCL::Context self, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, cl_GLuint texture)
810 ALIAS:
811 gl_texture2d = 0
812 gl_texture3d = 0
814 PPCODE: 813 PPCODE:
814 NEED_SUCCESS_ARG (cl_mem mem, CreateFromGLTexture, (self, flags, target, miplevel, texture, &res));
815 cl_gl_object_type type;
816 NEED_SUCCESS (GetGLObjectInfo, (mem, &type, 0)); // TODO: use target instead?
815 char *klass = "OpenCL::Memory"; 817 char *klass = "OpenCL::Memory";
816 cl_gl_object_type type;
817 NEED_SUCCESS_ARG (cl_mem mem, CreateFromGLTexture2D, (self, flags, target, miplevel, texture, &res));
818 NEED_SUCCESS (GetGLObjectInfo, (mem, &type, 0));
819 switch (type) 818 switch (type)
820 { 819 {
821 case CL_GL_OBJECT_TEXTURE_BUFFER: klass = "OpenCL::Image1DBuffer"; break; 820 case CL_GL_OBJECT_TEXTURE_BUFFER: klass = "OpenCL::Image1DBuffer"; break;
822 case CL_GL_OBJECT_TEXTURE1D: klass = "OpenCL::Image1D"; break; 821 case CL_GL_OBJECT_TEXTURE1D: klass = "OpenCL::Image1D"; break;
823 case CL_GL_OBJECT_TEXTURE1D_ARRAY: klass = "OpenCL::Image2DArray"; break; 822 case CL_GL_OBJECT_TEXTURE1D_ARRAY: klass = "OpenCL::Image2DArray"; break;
825 case CL_GL_OBJECT_TEXTURE2D_ARRAY: klass = "OpenCL::Image2DArray"; break; 824 case CL_GL_OBJECT_TEXTURE2D_ARRAY: klass = "OpenCL::Image2DArray"; break;
826 case CL_GL_OBJECT_TEXTURE3D: klass = "OpenCL::Image3D"; break; 825 case CL_GL_OBJECT_TEXTURE3D: klass = "OpenCL::Image3D"; break;
827 } 826 }
828 XPUSH_NEW_OBJ (klass, mem); 827 XPUSH_NEW_OBJ (klass, mem);
829 828
830#endif 829#else
831
832#if !CL_VERSION_1_2 || defined CL_USE_DEPRECATED_OPENCL_1_1_APIS
833 830
834void 831void
835gl_texture2d (OpenCL::Context self, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, cl_GLuint texture) 832gl_texture2d (OpenCL::Context self, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, cl_GLuint texture)
836 PPCODE: 833 PPCODE:
837 NEED_SUCCESS_ARG (cl_mem mem, CreateFromGLTexture2D, (self, flags, target, miplevel, texture, &res)); 834 NEED_SUCCESS_ARG (cl_mem mem, CreateFromGLTexture2D, (self, flags, target, miplevel, texture, &res));

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines