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



129
130
131
132
133
134
135
136
137
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 129

def access_qualifier
  @_access_qualifier ||= begin
    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)
    AccessQualifier::new( ptr.read_cl_kernel_arg_access_qualifier )
  end
end

#address_qualifierObject

Returns an AddressQualifier corresponding to the Arg



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

def address_qualifier
  @_address_qualifier ||= begin
    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)
    AddressQualifier::new( ptr.read_cl_kernel_arg_address_qualifier )
  end
end

#nameObject Also known as: to_s

Returns a String corresponding to the Arg name



165
166
167
168
169
170
171
172
173
174
175
176
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 165

def name
  @_name ||= begin
    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)
    ptr2.read_string
  end
end

#type_nameObject

Returns a String corresponding to the Arg type name



140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 140

def type_name
  @_type_name ||= begin
    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)
    ptr2.read_string
  end
end

#type_qualifierObject

Returns a TypeQualifier corresponding to the Arg



154
155
156
157
158
159
160
161
162
# File 'lib/opencl_ruby_ffi/Kernel.rb', line 154

def type_qualifier
  @_type_qualifier ||= begin
    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)
    TypeQualifier::new( ptr.read_cl_kernel_arg_type_qualifier )
  end
end