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

Comparing OpenCL/OpenCL.pm (file contents):
Revision 1.46 by root, Sat Apr 21 19:17:09 2012 UTC vs.
Revision 1.50 by root, Tue Apr 24 13:30:49 2012 UTC

456It's best to avoid this method and use one of the following convenience 456It's best to avoid this method and use one of the following convenience
457wrappers. 457wrappers.
458 458
459L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clGetPlatformInfo.html> 459L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clGetPlatformInfo.html>
460 460
461=item $platform->unload_compiler
462
463Attempts to unload the compiler for this platform, for endless
464profit. Does nothing on OpenCL 1.1.
465
466L<http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clUnloadPlatformCompiler.html>
467
461=for gengetinfo begin platform 468=for gengetinfo begin platform
462 469
463=item $string = $platform->profile 470=item $string = $platform->profile
464 471
465Calls C<clGetPlatformInfo> with C<CL_PLATFORM_PROFILE> and returns the result. 472Calls C<clGetPlatformInfo> with C<CL_PLATFORM_PROFILE> and returns the result.
752 759
753Calls C<clGetDeviceInfo> with C<CL_DEVICE_AFFINITY_DOMAINS_EXT> and returns the result. 760Calls C<clGetDeviceInfo> with C<CL_DEVICE_AFFINITY_DOMAINS_EXT> and returns the result.
754 761
755=item $uint = $device->reference_count_ext 762=item $uint = $device->reference_count_ext
756 763
757Calls C<clGetDeviceInfo> with C<CL_DEVICE_REFERENCE_COUNT_EXT > and returns the result. 764Calls C<clGetDeviceInfo> with C<CL_DEVICE_REFERENCE_COUNT_EXT> and returns the result.
758 765
759=item @device_partition_property_exts = $device->partition_style_ext 766=item @device_partition_property_exts = $device->partition_style_ext
760 767
761Calls C<clGetDeviceInfo> with C<CL_DEVICE_PARTITION_STYLE_EXT> and returns the result. 768Calls C<clGetDeviceInfo> with C<CL_DEVICE_PARTITION_STYLE_EXT> and returns the result.
762 769
794=item $buf = $ctx->buffer_sv ($flags, $data) 801=item $buf = $ctx->buffer_sv ($flags, $data)
795 802
796Creates a new OpenCL::Buffer (actually OpenCL::BufferObj) object and 803Creates a new OpenCL::Buffer (actually OpenCL::BufferObj) object and
797initialise it with the given data values. 804initialise it with the given data values.
798 805
806=item $img = $ctx->image ($self, $flags, $channel_order, $channel_type, $type, $width, $height, $depth, $array_size = 0, $row_pitch = 0, $slice_pitch = 0, $num_mip_level = 0, $num_samples = 0, $*data = &PL_sv_undef)
807
808Creates a new OpenCL::Image object and optionally initialises it with
809the given data values.
810
811L<http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clCreateImage.html>
812
799=item $img = $ctx->image2d ($flags, $channel_order, $channel_type, $width, $height, $row_pitch = 0, $data = undef) 813=item $img = $ctx->image2d ($flags, $channel_order, $channel_type, $width, $height, $row_pitch = 0, $data = undef)
800 814
801Creates a new OpenCL::Image2D object and optionally initialises it with 815Creates a new OpenCL::Image2D object and optionally initialises it with
802the given data values. 816the given data values.
803 817
815Creates a new OpenCL::Buffer (actually OpenCL::BufferObj) object that refers to the given 829Creates a new OpenCL::Buffer (actually OpenCL::BufferObj) object that refers to the given
816OpenGL buffer object. 830OpenGL buffer object.
817 831
818http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLBuffer.html 832http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLBuffer.html
819 833
834=item $img = $ctx->gl_texture ($flags, $target, $miplevel, $texture)
835
836Creates a new OpenCL::Image object that refers to the given OpenGL
837texture object or buffer.
838
839http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clCreateFromGLTexture.html
840
820=item $ctx->gl_texture2d ($flags, $target, $miplevel, $texture) 841=item $img = $ctx->gl_texture2d ($flags, $target, $miplevel, $texture)
821 842
822Creates a new OpenCL::Image2D object that refers to the given OpenGL 843Creates a new OpenCL::Image2D object that refers to the given OpenGL
8232D texture object. 8442D texture object.
824 845
825http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLTexture2D.html 846http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLTexture2D.html
826 847
827=item $ctx->gl_texture3d ($flags, $target, $miplevel, $texture) 848=item $img = $ctx->gl_texture3d ($flags, $target, $miplevel, $texture)
828 849
829Creates a new OpenCL::Image3D object that refers to the given OpenGL 850Creates a new OpenCL::Image3D object that refers to the given OpenGL
8303D texture object. 8513D texture object.
831 852
832http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLTexture3D.html 853http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLTexture3D.html
1130 1151
1131=back 1152=back
1132 1153
1133=head2 THE OpenCL::Image CLASS 1154=head2 THE OpenCL::Image CLASS
1134 1155
1135This is the superclass of all image objects - OpenCL::Image2D and OpenCL::Image3D. 1156This is the superclass of all image objects - OpenCL::Image1D,
1157OpenCL::Image1DArray, OpenCL::Image1DBuffer, OpenCL::Image2D,
1158OpenCL::Image2DArray and OpenCL::Image3D.
1136 1159
1137=over 4 1160=over 4
1138 1161
1139=item $packed_value = $ev->image_info ($name) 1162=item $packed_value = $ev->image_info ($name)
1140 1163
1244 1267
1245Creates an OpenCL::Kernel object out of the named C<__kernel> function in 1268Creates an OpenCL::Kernel object out of the named C<__kernel> function in
1246the program. 1269the program.
1247 1270
1248L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateKernel.html> 1271L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateKernel.html>
1272
1273=item @kernels = $program->kernels_in_program
1274
1275Returns all kernels successfully compiled for all devices in program.
1276
1277http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateKernelsInProgram.html
1249 1278
1250=for gengetinfo begin program_build 1279=for gengetinfo begin program_build
1251 1280
1252=item $build_status = $program->build_status ($device) 1281=item $build_status = $program->build_status ($device)
1253 1282
1389float and double as floating point values, memory/buffer/image2d/image3d 1418float and double as floating point values, memory/buffer/image2d/image3d
1390must be an object of that type or C<undef>, local-memory arguments are 1419must be an object of that type or C<undef>, local-memory arguments are
1391set by specifying the size, and sampler and event must be objects of that 1420set by specifying the size, and sampler and event must be objects of that
1392type. 1421type.
1393 1422
1423Setting an argument for a kernel does NOT keep a reference to the object -
1424for example, if you set an argument to some image object, free the image,
1425and call the kernel, you will run into undefined behaviour.
1426
1394L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clSetKernelArg.html> 1427L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clSetKernelArg.html>
1395 1428
1396=back 1429=back
1397 1430
1398=head2 THE OpenCL::Event CLASS 1431=head2 THE OpenCL::Event CLASS
1491 our $VERSION = '0.96'; 1524 our $VERSION = '0.96';
1492 1525
1493 require XSLoader; 1526 require XSLoader;
1494 XSLoader::load (__PACKAGE__, $VERSION); 1527 XSLoader::load (__PACKAGE__, $VERSION);
1495 1528
1496 @OpenCL::Buffer::ISA = 1529 @OpenCL::Buffer::ISA =
1497 @OpenCL::Image::ISA = OpenCL::Memory::; 1530 @OpenCL::Image::ISA = OpenCL::Memory::;
1498 1531
1499 @OpenCL::BufferObj::ISA = OpenCL::Buffer::; 1532 @OpenCL::BufferObj::ISA = OpenCL::Buffer::;
1500 1533
1501 @OpenCL::Image2D::ISA = 1534 @OpenCL::Image2D::ISA =
1535 @OpenCL::Image3D::ISA =
1536 @OpenCL::Image2DArray::ISA =
1537 @OpenCL::Image1D::ISA =
1538 @OpenCL::Image1DArray::ISA =
1502 @OpenCL::Image3D::ISA = OpenCL::Image::; 1539 @OpenCL::Image1DBuffer::ISA = OpenCL::Image::;
1503 1540
1504 @OpenCL::UserEvent::ISA = OpenCL::Event::; 1541 @OpenCL::UserEvent::ISA = OpenCL::Event::;
1505} 1542}
1506 1543
15071; 15441;
1508 1545
1509=head1 AUTHOR 1546=head1 AUTHOR

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines