Class: OpenCL::Image

Inherits:
Mem show all
Includes:
OpenCL12
Defined in:
lib/opencl_ruby_ffi/Image.rb,
lib/opencl_ruby_ffi/opencl_ruby_ffi_base_gen.rb,
lib/opencl_ruby_ffi/khr/d3d10_sharing.rb,
lib/opencl_ruby_ffi/khr/d3d11_sharing.rb,
lib/opencl_ruby_ffi/khr/dx9_media_sharing.rb

Overview

Maps the cl_mem OpenCL objects of type CL_MEM_OBJECT_IMAGE*

Defined Under Namespace

Modules: OpenCL12

Constant Summary collapse

FORMAT_MISMATCH =
-9
FORMAT_NOT_SUPPORTED =
-10
FORMAT =
0x1110
ELEMENT_SIZE =
0x1111
ROW_PITCH =
0x1112
SLICE_PITCH =
0x1113
WIDTH =
0x1114
HEIGHT =
0x1115
DEPTH =
0x1116
ARRAY_SIZE =
0x1117
BUFFER =
0x1118
NUM_MIP_LEVELS =
0x1119
NUM_SAMPLES =
0x111A
ROW_ALIGNMENT_QCOM =
0x40A2
SLICE_ALIGNMENT_QCOM =
0x40A3
D3D10_SUBRESOURCE_KHR =
0x4016
D3D11_SUBRESOURCE_KHR =
0x401F
DX9_MEDIA_PLANE_KHR =
0x202A

Constants inherited from Mem

Mem::ALLOC_BASE_PTR_INTEL, Mem::ALLOC_DEVICE_INTEL, Mem::ALLOC_FLAGS_INTEL, Mem::ALLOC_HOST_PTR, Mem::ALLOC_INFO_TBD1_INTEL, Mem::ALLOC_INFO_TBD2_INTEL, Mem::ALLOC_SIZE_INTEL, Mem::ALLOC_TYPE_INTEL, Mem::ALLOC_WRITE_COMBINED_INTEL, Mem::ASSOCIATED_MEMOBJECT, Mem::CONTEXT, Mem::COPY_HOST_PTR, Mem::D3D10_RESOURCE_KHR, Mem::D3D11_RESOURCE_KHR, Mem::DX9_MEDIA_ADAPTER_TYPE_KHR, Mem::DX9_MEDIA_SURFACE_INFO_KHR, Mem::FLAGS, Mem::HOST_NO_ACCESS, Mem::HOST_PTR, Mem::HOST_READ_ONLY, Mem::HOST_UNCACHED_QCOM, Mem::HOST_WRITEBACK_QCOM, Mem::HOST_WRITETHROUGH_QCOM, Mem::HOST_WRITE_COMBINING_QCOM, Mem::HOST_WRITE_ONLY, Mem::IMAGE1D, Mem::IMAGE1D_ARRAY, Mem::IMAGE1D_BUFFER, Mem::IMAGE2D, Mem::IMAGE2D_ARRAY, Mem::IMAGE3D, Mem::ION_HOST_PTR_QCOM, Mem::KERNEL_READ_AND_WRITE, Mem::MAP_COUNT, Mem::OFFSET, Mem::PIPE, Mem::PROPERTIES, Mem::READ_ONLY, Mem::READ_WRITE, Mem::REFERENCE_COUNT, Mem::SIZE, Mem::SVM_ATOMICS, Mem::SVM_FINE_GRAIN_BUFFER, Mem::TYPE, Mem::TYPE_DEVICE_INTEL, Mem::TYPE_HOST_INTEL, Mem::TYPE_SHARED_INTEL, Mem::TYPE_UNKNOWN_INTEL, Mem::USES_SVM_POINTER, Mem::USE_HOST_PTR, Mem::WRITE_ONLY

Instance Method Summary collapse

Methods included from OpenCL12

#array_size, #buffer, #desc, #num_mip_levels, #num_samples

Methods inherited from Mem

#context, #flags, #gl_mimap_level, #gl_object_name, #gl_object_type, #gl_texture_target, #host_ptr, #initialize, #map_count, #platform, #reference_count, #size, #type

Methods included from Mem::OpenCL30

#properties

Methods included from Mem::OpenCL20

#uses_svm_pointer

Methods included from Mem::OpenCL11

#associated_memobject, #offset, #set_destructor_callback

Methods inherited from ExtendedStruct

#initialize, register_extension

Constructor Details

This class inherits a constructor from OpenCL::Mem

Instance Method Details

#depthObject

Returns the OpenCL::Image::depth info

Returns:

  • size_t



250
# File 'lib/opencl_ruby_ffi/Image.rb', line 250

get_info("Image", :size_t, "depth")

#element_sizeObject

Returns the OpenCL::Image::element_size info

Returns:

  • size_t



245
# File 'lib/opencl_ruby_ffi/Image.rb', line 245

get_info("Image", :size_t, "element_size")

#formatObject

Returns the ImageFormat corresponding to the image



238
239
240
241
242
243
# File 'lib/opencl_ruby_ffi/Image.rb', line 238

def format
  image_format = MemoryPointer::new( ImageFormat )
  error = OpenCL.clGetImageInfo( self, FORMAT, image_format.size, image_format, nil)
  error_check(error)
  return ImageFormat::new( image_format )
end

#heightObject

Returns the OpenCL::Image::height info

Returns:

  • size_t



249
# File 'lib/opencl_ruby_ffi/Image.rb', line 249

get_info("Image", :size_t, "height")

#inspectObject

< Mem



230
231
232
233
234
235
# File 'lib/opencl_ruby_ffi/Image.rb', line 230

def inspect
  h = height
  d = depth
  f = flags
  return "#<#{self.class.name}: #{format.channel_order}, #{format.channel_data_type}, #{width}#{h != 0 ? "x#{h}" : ""}#{d != 0 ? "x#{d}" : ""} (#{size})#{f.to_i != 0 ? " (#{f})" : "" }>"
end

#pixel_sizeObject



252
253
254
255
256
257
# File 'lib/opencl_ruby_ffi/Image.rb', line 252

def pixel_size
  s = size / width
  s /= height if height != 0
  s /= depth if depth != 0
  return s
end

#row_pitchObject

Returns the OpenCL::Image::row_pitch info

Returns:

  • size_t



246
# File 'lib/opencl_ruby_ffi/Image.rb', line 246

get_info("Image", :size_t, "row_pitch")

#slice_pitchObject

Returns the OpenCL::Image::slice_pitch info

Returns:

  • size_t



247
# File 'lib/opencl_ruby_ffi/Image.rb', line 247

get_info("Image", :size_t, "slice_pitch")

#widthObject

Returns the OpenCL::Image::width info

Returns:

  • size_t



248
# File 'lib/opencl_ruby_ffi/Image.rb', line 248

get_info("Image", :size_t, "width")