Module: OpenCL::Kernel::Arg::OpenCL12

Defined in:
lib/opencl_ruby_ffi/Kernel.rb

Instance Method Summary collapse

Instance Method Details

#access_qualifierObject

Returns an AccessQualifier corresponding to the Arg



117
118
119
120
121
122
123
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 117

def access_qualifier
  error_check(INVALID_OPERATION) if @kernel.context.platform.version_number < 1.2
  ptr = MemoryPointer::new( :cl_kernel_arg_access_qualifier )
  error = OpenCL.clGetKernelArgInfo(@kernel, @index, ACCESS_QUALIFIER, ptr.size, ptr, nil)
  error_check(error)
  return AccessQualifier::new( ptr.read_cl_kernel_arg_access_qualifier )
end

#address_qualifierObject

Returns an AddressQualifier corresponding to the Arg



108
109
110
111
112
113
114
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 108

def address_qualifier
  error_check(INVALID_OPERATION) if @kernel.context.platform.version_number < 1.2
  ptr = MemoryPointer::new( :cl_kernel_arg_address_qualifier )
  error = OpenCL.clGetKernelArgInfo(@kernel, @index, ADDRESS_QUALIFIER, ptr.size, ptr, nil)
  error_check(error)
  return AddressQualifier::new( ptr.read_cl_kernel_arg_address_qualifier )
end

#nameObject Also known as: to_s

Returns a String corresponding to the Arg name



147
148
149
150
151
152
153
154
155
156
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 147

def name
  error_check(INVALID_OPERATION) if @kernel.context.platform.version_number < 1.2
  ptr1 = MemoryPointer::new( :size_t, 1)
  error = OpenCL.clGetKernelArgInfo(@kernel, @index, NAME, 0, nil, ptr1)
  error_check(error)
  ptr2 = MemoryPointer::new( ptr1.read_size_t )
  error = OpenCL.clGetKernelArgInfo(@kernel, @index, NAME, ptr1.read_size_t, ptr2, nil)
  error_check(error)
  return ptr2.read_string
end

#type_nameObject

Returns a String corresponding to the Arg type name



126
127
128
129
130
131
132
133
134
135
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 126

def type_name
  error_check(INVALID_OPERATION) if @kernel.context.platform.version_number < 1.2
  ptr1 = MemoryPointer::new( :size_t, 1)
  error = OpenCL.clGetKernelArgInfo(@kernel, @index, TYPE_NAME, 0, nil, ptr1)
  error_check(error)
  ptr2 = MemoryPointer::new( ptr1.read_size_t )
  error = OpenCL.clGetKernelArgInfo(@kernel, @index, TYPE_NAME, ptr1.read_size_t, ptr2, nil)
  error_check(error)
  return ptr2.read_string
end

#type_qualifierObject

Returns a TypeQualifier corresponding to the Arg



138
139
140
141
142
143
144
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 138

def type_qualifier
  error_check(INVALID_OPERATION) if @kernel.context.platform.version_number < 1.2
  ptr = MemoryPointer::new( :cl_kernel_arg_type_qualifier )
  error = OpenCL.clGetKernelArgInfo(@kernel, @index, TYPE_QUALIFIER, ptr.size, ptr, nil)
  error_check(error)
  return TypeQualifier::new( ptr.read_cl_kernel_arg_type_qualifier )
end