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

Comparing OpenCL/OpenCL.pm (file contents):
Revision 1.30 by root, Thu Apr 5 10:08:59 2012 UTC vs.
Revision 1.35 by root, Thu Apr 19 13:18:31 2012 UTC

149 149
150=head2 Create and build a program, then create a kernel out of one of its 150=head2 Create and build a program, then create a kernel out of one of its
151functions. 151functions.
152 152
153 my $src = ' 153 my $src = '
154 __kernel void 154 kernel void
155 squareit (__global float *input, __global float *output) 155 squareit (global float *input, global float *output)
156 { 156 {
157 $id = get_global_id (0); 157 $id = get_global_id (0);
158 output [id] = input [id] * input [id]; 158 output [id] = input [id] * input [id];
159 } 159 }
160 '; 160 ';
692Creates a new OpenCL::Image3D object and optionally initialises it with 692Creates a new OpenCL::Image3D object and optionally initialises it with
693the given data values. 693the given data values.
694 694
695L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateImage3D.html> 695L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateImage3D.html>
696 696
697=item $buffer = $ctx->gl_buffer ($flags, $bufobj)
698
699Creates a new OpenCL::Buffer (actually OpenCL::BufferObj) object that refers to the given
700OpenGL buffer object.
701
702http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLBuffer.html
703
704=item $ctx->gl_texture2d ($flags, $target, $miplevel, $texture)
705
706Creates a new OpenCL::Image2D object that refers to the given OpenGL
7072D texture object.
708
709http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLTexture2D.html
710
711=item $ctx->gl_texture3d ($flags, $target, $miplevel, $texture)
712
713Creates a new OpenCL::Image3D object that refers to the given OpenGL
7143D texture object.
715
716http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLTexture3D.html
717
718=item $ctx->gl_renderbuffer ($flags, $renderbuffer)
719
720Creates a new OpenCL::Image2D object that refers to the given OpenGL
721render buffer.
722
723http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clCreateFromGLRenderbuffer.html
724
697=item @formats = $ctx->supported_image_formats ($flags, $image_type) 725=item @formats = $ctx->supported_image_formats ($flags, $image_type)
698 726
699Returns a list of matching image formats - each format is an arrayref with 727Returns a list of matching image formats - each format is an arrayref with
700two values, $channel_order and $channel_type, in it. 728two values, $channel_order and $channel_type, in it.
701 729
831reference to an array of local work sizes, with the same number of 859reference to an array of local work sizes, with the same number of
832elements as @$global_work_size. 860elements as @$global_work_size.
833 861
834L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueNDRangeKernel.html> 862L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueNDRangeKernel.html>
835 863
836=item $ev = $queue->enqueue_marker 864=item $ev = $queue->enqueue_marker ($wait_events...)
837 865
838L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueMarker.html> 866L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueMarker.html>
867
868=item $ev = $queue->enqueue_acquire_gl_objects ([object, ...], $wait_events...)
869
870Enqueues a list (an array-ref of OpenCL::Memory objects) to be acquired
871for subsequent OpenCL usage.
872
873L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueAcquireGLObjects.html>
874
875=item $ev = $queue->enqueue_release_gl_objects ([object, ...], $wait_events...)
876
877Enqueues a list (an array-ref of OpenCL::Memory objects) to be released
878for subsequent OpenGL usage.
879
880L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueReleaseGLObjects.html>
839 881
840=item $ev = $queue->enqueue_wait_for_events ($wait_events...) 882=item $ev = $queue->enqueue_wait_for_events ($wait_events...)
841 883
842L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueWaitForEvents.html> 884L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clEnqueueWaitForEvents.html>
843 885
931=item $int = $mem->offset 973=item $int = $mem->offset
932 974
933Calls C<clGetMemObjectInfo> with C<CL_MEM_OFFSET> and returns the result. 975Calls C<clGetMemObjectInfo> with C<CL_MEM_OFFSET> and returns the result.
934 976
935=for gengetinfo end mem 977=for gengetinfo end mem
978
979=item ($type, $name) = $mem->gl_object_info
980
981Returns the OpenGL object type (e.g. OpenCL::GL_OBJECT_TEXTURE2D) and the
982object "name" (e.g. the texture name) used to create this memory object.
983
984L<http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/clGetGLObjectInfo.html>
936 985
937=back 986=back
938 987
939=head2 THE OpenCL::Buffer CLASS 988=head2 THE OpenCL::Buffer CLASS
940 989
999=item $int = $image->depth 1048=item $int = $image->depth
1000 1049
1001Calls C<clGetImageInfo> with C<CL_IMAGE_DEPTH> and returns the result. 1050Calls C<clGetImageInfo> with C<CL_IMAGE_DEPTH> and returns the result.
1002 1051
1003=for gengetinfo end image 1052=for gengetinfo end image
1053
1054=for gengetinfo begin gl_texture
1055
1056=item $GLenum = $gl_texture->target
1057
1058Calls C<clGetGlTextureInfo> with C<CL_GL_TEXTURE_TARGET> and returns the result.
1059
1060=item $GLint = $gl_texture->gl_mipmap_level
1061
1062Calls C<clGetGlTextureInfo> with C<CL_GL_MIPMAP_LEVEL> and returns the result.
1063
1064=for gengetinfo end gl_texture
1004 1065
1005=back 1066=back
1006 1067
1007=head2 THE OpenCL::Sampler CLASS 1068=head2 THE OpenCL::Sampler CLASS
1008 1069
1302package OpenCL; 1363package OpenCL;
1303 1364
1304use common::sense; 1365use common::sense;
1305 1366
1306BEGIN { 1367BEGIN {
1307 our $VERSION = '0.91'; 1368 our $VERSION = '0.92';
1308 1369
1309 require XSLoader; 1370 require XSLoader;
1310 XSLoader::load (__PACKAGE__, $VERSION); 1371 XSLoader::load (__PACKAGE__, $VERSION);
1311 1372
1312 @OpenCL::Buffer::ISA = 1373 @OpenCL::Buffer::ISA =

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines